Skip to content

Conversation

@spirali
Copy link
Collaborator

@spirali spirali commented Jan 7, 2026

This PR cleans up priorities before landing the new scheduler.

  • Priotity is now a newtype and represents a priority combined into u64. All previous tuples like (user, resource, scheduler) priorities were removed.
  • UserPriority is a newtype that represents a user priority.
  • T-level priority was removed (It was hot fixing some priority when switching from B-level computations. We do not have any practical benchmarks that it is really useful. All actually found problems (connected to non-finishing an "almost completed" job) is actually solved via propagating inverted job id into the priority (= older jobs have higher priority).
  • Scheduler priority is now dynamically computed, so it is not stored in Task struct, so the struct is now smaller. Is is now cheap to compute it. Moreover the future scheduler stores priority in the priority queue so it would be completely redundant information.

Copy link
Member

@Kobzol Kobzol left a comment

Choose a reason for hiding this comment

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

Looks reasonable, just didn't understand some of the magic constants :)

@spirali spirali merged commit 760a415 into main Jan 9, 2026
11 of 12 checks passed
@spirali spirali deleted the new-priorities branch January 9, 2026 21:47
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.

3 participants