-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Improve performance polling / task sharing mechanism in Ballista #700
Comments
I tried to to a part of this by moving the polling loop to the scheduler, but an important prerequisite to this is moving the number of free task slots information to the scheduler. Currently this information is kept in each executor and sent with the info during a polling call ( |
Is there any PR related to this ? If not I think I can work on this. |
AFAIK No @mingmwang . Feel free to work on this - that would be great. |
@mingmwang can update the status? |
Hi @Dandandan, recently we have implemented an initial version of push-based task scheduling. Here's the design document. Could you help have a review? PR is ongoing. |
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
In #698 some improvements where added to avoid sleeping when there are enough tasks around.
In order to support quicker query responses (e.g. <100ms) and avoid delays in between stages we need to remove calls like
sleep(Duration::from_millis(100))
from executor/scheduler and move away from interval-based polling.This also will reduce CPU/network waste, as there are less calls being done (currently I am seeing around
1-2%
of CPU being used when idling, not much, but when going to higher polling frequencies this increases. Setting it to 1ms gives it a very high CPU usage.Describe the solution you'd like
Wait on tasks to be available in the scheduler and only send a response when having tasks for the worker.
Remove calls to
sleep
.Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
The text was updated successfully, but these errors were encountered: