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

Add unit scheduling strategies #1066

Conversation

PReithofer
Copy link
Contributor

It would be nice to be able to select the unit scheduling strategy. Right now one can only manipulate this by changing the order of the assignments data input. This however has some drawbacks:

  • It is not possible to schedule on an unit basis. Only the order of whole assignments can be changed.
  • It is not possible to change the order after handing the assignment data to mephisto. This is a problem when using the generator pattern. Here the best you can do to get a more random schedule would be to buffer the assignments for a while and then randomize these batches.

Some scheduling strategies that could make sense:

  1. First in first out: this is the one mephisto is using right now
  2. Last in first out: this could be useful when using the generator pattern and generating new assignments based on previously submitted ones
  3. Random: also nice to have if there is some pattern in the order in which the assignments are generated
  4. Round Robin: this could be useful if one fears that not all units might be completed and prefers to have an even distribution of the completed units over the assignments.

I have implemented strategies 1-3 and it seems to work. However I'm unsure about whether my implementation makes sense and haven't written unit tests for them.

Would greatly appreciate feedback!

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Sep 17, 2023
@PReithofer PReithofer marked this pull request as ready for review September 19, 2023 12:26
@PReithofer PReithofer changed the title [WIP] Add unit scheduling strategies Add unit scheduling strategies Sep 20, 2023
Copy link
Contributor

@JackUrb JackUrb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a really cool feature. I'll hold off on merging until we're able to add some testing for this, but I can definitely see the value here!

@meta-paul meta-paul changed the base branch from main to add-unit-scheduling-strategies March 7, 2024 19:04
@meta-paul meta-paul deleted the branch facebookresearch:add-unit-scheduling-strategies March 7, 2024 19:32
@meta-paul meta-paul closed this Mar 7, 2024
@meta-paul
Copy link
Contributor

Moved these commits to new PR #1107

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants