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

Track the number of tasks executing on each worker, and submit tasks to workers with minimum number of tasks #273

Open
arunjose696 opened this issue Apr 4, 2023 · 0 comments · May be fixed by #274
Labels
MPI MPI backend related issues performance 🚀 Performance related issues and pull requests.

Comments

@arunjose696
Copy link
Contributor

Alternative to the current round robin approach, A possible way of scheduling is to track the number of tasks running on each worker in a scheduler class.
This could be done by having a dictionary of tasks submitted to each worker stored as a data member of the scheduler class(Current RoundRobin class would be replaced by a class named Scheduler ).

The task tracking would be done with 2 steps.
1)When a task is submitted to a worker, the tasks submitted counter would be incremented for the particular worker in the scheduler's dictionary.

2)In the monitor process when a task is completed this information is send to the root node, A background thread in the root process would poll for tasks completed with a incremental backoff as in MPI4py. Thus when task is completed on a worker the tasks submitted counter would be decremented for the particular worker in the scheduler's dictionary.

As scheduler can be aware of tasks per worker, it can submit new tasks to the workers with minimum number of tasks

@arunjose696 arunjose696 linked a pull request Apr 4, 2023 that will close this issue
7 tasks
@YarShev YarShev added MPI MPI backend related issues performance 🚀 Performance related issues and pull requests. labels May 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
MPI MPI backend related issues performance 🚀 Performance related issues and pull requests.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants