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

Worker stealing scheduler crossbeam #15

Merged
merged 9 commits into from Feb 11, 2022

Conversation

ilitteri
Copy link
Contributor

@ilitteri ilitteri commented Feb 9, 2022

Basic workflow

We spawn a new task onto the scheduler by pushing it into the injector queue. Each worker thread waits in a loop until it finds the next task to run and then runs it. To find a task, it first looks into its local worker queue, and then into the injector and stealers.

@ilitteri ilitteri self-assigned this Feb 9, 2022
@ilitteri ilitteri changed the base branch from main to setup-http-servers February 9, 2022 22:04
Replaced threadpool implementation with a work stealing scheduler one
@ilitteri ilitteri marked this pull request as ready for review February 11, 2022 00:30
This line isn't necessary because the value of the cloned work_pool is moved into the spawned thread by the move keyword
@ilitteri ilitteri merged commit 8e01768 into setup-http-servers Feb 11, 2022
@ilitteri ilitteri deleted the worker-stealing-scheduler-crossbeam branch February 11, 2022 14:59
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.

None yet

2 participants