You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Worker._ensure_computing is implemented as follows:
while self.constrained and there are free threads and there are free resources:
task = self.constrained.popleft()
compute(task)
while self.ready and there are free threads:
_, task = heapq.heappop(self.ready):
compute(task)
This means that, once tasks with resource constraints land on a worker, they are executed in a strictly FIFO order.
What's more, they are always prepended to tasks without constraints (as long as the worker resource isn't depleted).
Effectively, this is like setting priority=999999 on the client.
Note: I did not analyse the algorithm on the scheduler side. A review is recommended.
Worker._ensure_computing
is implemented as follows:This means that, once tasks with resource constraints land on a worker, they are executed in a strictly FIFO order.
What's more, they are always prepended to tasks without constraints (as long as the worker resource isn't depleted).
Effectively, this is like setting
priority=999999
on the client.Note: I did not analyse the algorithm on the scheduler side. A review is recommended.
Related issues:
The text was updated successfully, but these errors were encountered: