Overview
Lottery scheduling gives each job tickets proportional to its share, then uses random selection to approximate proportional fairness over time.
Allocates CPU time by randomly drawing tickets assigned to competing jobs.
Compact metadata for implementation and discovery.
Lottery scheduling gives each job tickets proportional to its share, then uses random selection to approximate proportional fairness over time.
Quick facts
Runtime and memory behavior at a glance.
Best
O(1)
Average
O(n)
Worst
O(n)
Space
O(n)
P(job) = tickets(job) / total_ticketsGives each job a chance proportional to its ticket count.
Show jobs on a timeline with queue order, start times, and constraints.
Lottery Scheduling should be used with the assumptions and tradeoffs of probabilistic Scheduling in mind.
What each reference supports for this entry.
Original reference for randomized ticket-based proportional-share scheduling.
Open sourceGood next jumps from the relationship graph, ranked for useful discovery.
Lottery scheduling is a randomized proportional-share policy based on ticket ownership.