Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor resource restriction handling in WorkerState #6672

Merged
merged 11 commits into from
Jul 6, 2022

Conversation

hendrikmakait
Copy link
Member

@hendrikmakait hendrikmakait commented Jul 5, 2022

  • Moves total_resources into WorkerState.
  • Encapsulated resource handling functionality into dedicated methods.
  • Purposefully does NOT add checks to WorkerState.validate_state as these would currently fail. This will be done in a follow-up PR.

Sets foundation for and therefore blocks fixes for #6663.

@github-actions
Copy link
Contributor

github-actions bot commented Jul 5, 2022

Unit Test Results

See test report for an extended history of previous test failures. This is useful for diagnosing flaky tests.

       15 files  ±0         15 suites  ±0   6h 30m 22s ⏱️ - 2m 1s
  2 918 tests +1    2 834 ✔️ +  4    80 💤 +1  4  - 1 
21 605 runs  +6  20 667 ✔️ +12  934 💤 +1  4  - 4 

For more details on these failures, see this check.

Results for commit b1f2557. ± Comparison against base commit 1a28011.

♻️ This comment has been updated with latest results.

@hendrikmakait hendrikmakait force-pushed the resources-in-worker-state branch from 90b7823 to 01d1dc8 Compare July 5, 2022 13:08
@hendrikmakait hendrikmakait changed the title Move total_resources to WorkerState Refactor resource handling into WorkerState Jul 5, 2022
@hendrikmakait hendrikmakait requested a review from crusaderky July 5, 2022 14:58
@hendrikmakait hendrikmakait marked this pull request as ready for review July 5, 2022 14:58
@hendrikmakait hendrikmakait changed the title Refactor resource handling into WorkerState Refactor resource restriction handling in WorkerState Jul 5, 2022
@hendrikmakait
Copy link
Member Author

CI failures are known flakes #6549, #6653 and general signal test issues.

distributed/worker_state_machine.py Outdated Show resolved Hide resolved
distributed/worker_state_machine.py Show resolved Hide resolved
distributed/worker_state_machine.py Show resolved Hide resolved
else:
self.available_resources[r] = quantity
self.total_resources[r] = quantity

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are many problems with the code of Worker.set_resources. It would deserve a much more thorough overhaul.
For the purpose of this PR, I'd rather revert this and just tamper with the state directly from Worker.set_resources.

Copy link
Member Author

@hendrikmakait hendrikmakait Jul 6, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One issue I see with this is that this method would be quite useful for tests that are currently setting attributes directly which results in a technically invalid worker state (https://github.com/dask/distributed/blob/main/distributed/utils_test.py#L2452). Given that you have already set up a ticket for the more thorough overhaul (#6677), I'd prefer leaving this as is, in particular since a follow-up PR will add more validations of worker state that check for consistency between total_resources, available_resources and any currently acquired resources.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it would need to be a SetResourcesEvent anyway. I'd rather not have a throwaway refactoring.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done, updated ws_with_running_task as well.

@crusaderky
Copy link
Collaborator

Could you please also add a line to ws_with_running_task?

@hendrikmakait hendrikmakait requested a review from crusaderky July 6, 2022 15:13
@crusaderky crusaderky merged commit f7f6501 into dask:main Jul 6, 2022
@crusaderky
Copy link
Collaborator

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants