Skip to content
Back to categories

Scheduling

Algorithms that order jobs, tasks, or access to shared resources.

Scheduling algorithms decide what should run next while balancing fairness, deadlines, response time, or throughput.

SchedulingO(n + c)

Round Robin Scheduling

Gives each ready task a fixed time slice in cyclic order.

BeginnerFoundationFormula20 links
SchedulingOperating SystemsQueue
SchedulingO(n log n)

Earliest Deadline First

Runs the ready task with the nearest deadline first.

IntermediateCoreFormula7 links
SchedulingReal TimeGreedy
SchedulingO(n log n)

Shortest Job First

Runs the ready task with the smallest expected processing time.

BeginnerCoreNo formula6 links
SchedulingOperating SystemsGreedy
SchedulingO(V + E)

Critical Path Method

Finds the longest dependency path that determines a project's minimum completion time.

IntermediateCoreFormula3 links
SchedulingDirected Acyclic GraphTask Scheduling
SchedulingO(n log n)

First Come First Served Scheduling

Runs tasks in the order they arrive.

BeginnerExtendedNo formula1 links
SchedulingQueueOperating Systems
SchedulingO(n log n)

Least Laxity First

Runs the task with the least spare time before its deadline.

IntermediateExtendedFormula2 links
SchedulingReal TimeTask Scheduling
SchedulingO(n + c)

Multilevel Feedback Queue

Uses several priority queues and moves tasks based on their behavior.

IntermediateExtendedNo formula1 links
SchedulingOperating SystemsQueue
SchedulingO(n log n)

Priority Scheduling

Runs the ready task with the highest priority.

BeginnerCoreNo formula2 links
SchedulingPriority QueueOperating Systems
SchedulingO(n log n)

Rate Monotonic Scheduling

Assigns higher priority to periodic tasks with shorter periods.

IntermediateExtendedNo formula3 links
SchedulingReal TimeTask Scheduling
SchedulingO(t)

Work Stealing

Balances parallel work by letting idle workers take tasks from busy workers.

IntermediateExtendedNo formula1 links
SchedulingLoad BalancingTask Scheduling
SchedulingO(n log n)

Fair Queuing

Schedules work so competing flows receive a fair share of service.

AdvancedExtendedFormula1 links
SchedulingQueueLoad Balancing
SchedulingO(n)

Weighted Round Robin

Cycles through queues while giving higher-weight queues more service opportunities.

BeginnerCoreFormula3 links
SchedulingQueueLoad Balancing
SchedulingO(n)

Lottery Scheduling

Allocates CPU time by randomly drawing tickets assigned to competing jobs.

BeginnerCoreFormula1 links
SchedulingTask SchedulingProbabilistic SchedulingOperating Systems
SchedulingO(V + E)

Earliest Start Time

Computes the earliest time each task can begin after its prerequisites finish.

IntermediateCoreFormula3 links
SchedulingTask SchedulingDirected Acyclic GraphPlanning
SchedulingO(V + E)

Latest Finish Time

Computes how late each task can finish without delaying the project.

IntermediateCoreFormula2 links
SchedulingTask SchedulingDirected Acyclic GraphPlanning
SchedulingO(exponential)

Job Shop Scheduling

Schedules jobs across machines while respecting operation order and machine capacity.

AdvancedSpecializedFormula1 links
SchedulingTask SchedulingConstraint SolvingOptimization
SchedulingO(n log n)

Highest Response Ratio Next Scheduling

Highest Response Ratio Next Scheduling chooses jobs using priority, completion-time, or resource-availability rules.

IntermediateCoreFormula1 links
Scheduling
SchedulingO(n log n)

Proportional Share Scheduling

Proportional Share Scheduling allocates service according to fairness or proportional-share rules.

IntermediateCoreFormula2 links
Scheduling
SchedulingO(n log n)

Stride Scheduling

Stride Scheduling allocates service according to fairness or proportional-share rules.

IntermediateCoreFormula1 links
Scheduling
SchedulingO(n log n)

Completely Fair Scheduler

Completely Fair Scheduler allocates service according to fairness or proportional-share rules.

IntermediateCoreNo formula2 links
Scheduling
SchedulingO(n log n)

Gang Scheduling

Gang Scheduling chooses jobs using priority, completion-time, or resource-availability rules.

IntermediateExtendedNo formula2 links
Scheduling
SchedulingO(n log n)

Two-Level Scheduling

Two-Level Scheduling chooses jobs using priority, completion-time, or resource-availability rules.

IntermediateExtendedNo formula1 links
Scheduling
SchedulingO(n log n)

Deadline Monotonic Scheduling

Deadline Monotonic Scheduling uses timing constraints to prioritize real-time work.

IntermediateExtendedFormula2 links
Scheduling
SchedulingO(n log n)

Slack Stealing Scheduling

Slack Stealing Scheduling uses timing constraints to prioritize real-time work.

IntermediateSpecializedNo formula2 links
Scheduling
SchedulingO(n log n)

Weighted Fair Queuing

Weighted Fair Queuing allocates service according to fairness or proportional-share rules.

IntermediateCoreFormula1 links
Scheduling
SchedulingO(n log n)

Deficit Round Robin

Deficit Round Robin chooses jobs using priority, completion-time, or resource-availability rules.

IntermediateCoreFormula1 links
Scheduling
SchedulingO(n log n)

Token Bucket Scheduling

Token Bucket Scheduling rate-limits work by accumulating or draining capacity over time.

IntermediateCoreFormula1 links
Scheduling
SchedulingO(n log n)

Leaky Bucket Scheduling

Leaky Bucket Scheduling rate-limits work by accumulating or draining capacity over time.

IntermediateCoreFormula1 links
Scheduling
SchedulingO(n log n)

Backfilling Scheduling

Backfilling Scheduling chooses jobs using priority, completion-time, or resource-availability rules.

IntermediateExtendedNo formula2 links
Scheduling
SchedulingO(n log n)

Min-Min Scheduling

Min-Min Scheduling chooses jobs using priority, completion-time, or resource-availability rules.

IntermediateExtendedFormula4 links
Scheduling
SchedulingO(n log n)

Max-Min Scheduling

Max-Min Scheduling chooses jobs using priority, completion-time, or resource-availability rules.

IntermediateExtendedFormula3 links
Scheduling
SchedulingO(n log n)

HEFT Scheduling

HEFT Scheduling chooses jobs using priority, completion-time, or resource-availability rules.

IntermediateSpecializedNo formula4 links
Scheduling
SchedulingO(n log n)

List Scheduling

List Scheduling chooses jobs using priority, completion-time, or resource-availability rules.

IntermediateExtendedNo formula2 links
Scheduling
SchedulingO(n log n)

Interval Scheduling

Interval Scheduling selects compatible intervals from overlapping candidates.

IntermediateCoreNo formula2 links
Scheduling
SchedulingO(n log n)

Weighted Interval Scheduling

Weighted Interval Scheduling selects compatible intervals from overlapping candidates.

IntermediateCoreFormula2 links
Scheduling
SchedulingO(n log n)

Bin Packing First Fit

Bin Packing First Fit packs items into limited-capacity containers.

IntermediateExtendedNo formula2 links
Scheduling
SchedulingO(n log n)

Bin Packing Best Fit

Bin Packing Best Fit packs items into limited-capacity containers.

IntermediateExtendedNo formula2 links
Scheduling
SchedulingO(n log n)

Consistent Hashing Load Balancing

Consistent Hashing Load Balancing chooses jobs using priority, completion-time, or resource-availability rules.

IntermediateExtendedNo formula2 links
Scheduling
SchedulingO(n log n)

Earliest Due Date Scheduling

Orders jobs by due date to reduce lateness-oriented scheduling risk.

IntermediateCoreNo formula6 links
Scheduling
SchedulingO(n log n)

Least Slack Time Scheduling

Prioritizes the ready task with the least time cushion before its deadline.

IntermediateCoreNo formula4 links
Scheduling
SchedulingO(n log n)

Critical Ratio Scheduling

Critical Ratio Scheduling addresses production scheduling by prioritizing jobs by time remaining divided by work remaining.

IntermediateExtendedNo formula4 links
SchedulingDivide and Conquer
SchedulingO(n log n)

Highest Response Ratio Next

Chooses the ready job with the largest ratio of waiting time plus service time to service time.

IntermediateCoreNo formula3 links
Scheduling
SchedulingO(n log n)

Moore-Hodgson Algorithm

Minimizes the number of late jobs on a single machine by dropping the longest job from overloaded prefixes.

IntermediateCoreNo formula3 links
Scheduling
SchedulingO(n log n)

Workload Backfilling

Workload Backfilling addresses cluster scheduling by running smaller jobs early when they do not delay reserved larger jobs.

IntermediateExtendedNo formula4 links
Scheduling
SchedulingO(n log n)

Shortest Remaining Time First

Preemptively runs the ready job with the smallest remaining processing time.

IntermediateCoreNo formula3 links
Scheduling