-
Notifications
You must be signed in to change notification settings - Fork 32
🎨Computational backend: performance improvements step2 - autoscaling shall ask dask to retire nodes only if necessary #8374
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR improves the autoscaling performance by making the system less eager to retire dask workers. The change only calls the dask retirement API when workers are actually not needed, preventing a situation where workers are continuously added and removed without having time to process jobs.
Key Changes
- Modified
_scale_down_unused_cluster_instancesto conditionally call worker retirement based on task assignment status - Added comprehensive test coverage for the new retirement behavior
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
_auto_scaling_core.py |
Added conditional logic to only retire nodes when no active nodes have assigned tasks |
test_modules_cluster_scaling_computational.py |
Added spy fixture and assertions to verify retirement calls happen only when expected |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
...es/autoscaling/src/simcore_service_autoscaling/modules/cluster_scaling/_auto_scaling_core.py
Show resolved
Hide resolved
|
Codecov Report✅ All modified and coverable lines are covered by tests.
Additional details and impacted files@@ Coverage Diff @@
## master #8374 +/- ##
===========================================
- Coverage 87.89% 67.71% -20.19%
===========================================
Files 1950 798 -1152
Lines 75907 37218 -38689
Branches 1336 175 -1161
===========================================
- Hits 66718 25201 -41517
- Misses 8791 11960 +3169
+ Partials 398 57 -341
Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
pcrespov
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice! thx
🧪 CI InsightsHere's what we observed from your CI run for dc1cb3b. ✅ Passed Jobs With Interesting Signals
|



What do these changes do?
This PR only will call that API when the autoscaling estimates that the current workers are not all needed to cover the jobs needs, making it less eager to remove workers.
Related issue/s
How to test
Dev-ops