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.
Round Robin Scheduling
Gives each ready task a fixed time slice in cyclic order.
Earliest Deadline First
Runs the ready task with the nearest deadline first.
Shortest Job First
Runs the ready task with the smallest expected processing time.
Critical Path Method
Finds the longest dependency path that determines a project's minimum completion time.
First Come First Served Scheduling
Runs tasks in the order they arrive.
Least Laxity First
Runs the task with the least spare time before its deadline.
Multilevel Feedback Queue
Uses several priority queues and moves tasks based on their behavior.
Priority Scheduling
Runs the ready task with the highest priority.
Rate Monotonic Scheduling
Assigns higher priority to periodic tasks with shorter periods.
Work Stealing
Balances parallel work by letting idle workers take tasks from busy workers.
Fair Queuing
Schedules work so competing flows receive a fair share of service.
Weighted Round Robin
Cycles through queues while giving higher-weight queues more service opportunities.
Lottery Scheduling
Allocates CPU time by randomly drawing tickets assigned to competing jobs.
Earliest Start Time
Computes the earliest time each task can begin after its prerequisites finish.
Latest Finish Time
Computes how late each task can finish without delaying the project.
Job Shop Scheduling
Schedules jobs across machines while respecting operation order and machine capacity.
Highest Response Ratio Next Scheduling
Highest Response Ratio Next Scheduling chooses jobs using priority, completion-time, or resource-availability rules.
Proportional Share Scheduling
Proportional Share Scheduling allocates service according to fairness or proportional-share rules.
Stride Scheduling
Stride Scheduling allocates service according to fairness or proportional-share rules.
Completely Fair Scheduler
Completely Fair Scheduler allocates service according to fairness or proportional-share rules.
Gang Scheduling
Gang Scheduling chooses jobs using priority, completion-time, or resource-availability rules.
Two-Level Scheduling
Two-Level Scheduling chooses jobs using priority, completion-time, or resource-availability rules.
Deadline Monotonic Scheduling
Deadline Monotonic Scheduling uses timing constraints to prioritize real-time work.
Slack Stealing Scheduling
Slack Stealing Scheduling uses timing constraints to prioritize real-time work.
Weighted Fair Queuing
Weighted Fair Queuing allocates service according to fairness or proportional-share rules.
Deficit Round Robin
Deficit Round Robin chooses jobs using priority, completion-time, or resource-availability rules.
Token Bucket Scheduling
Token Bucket Scheduling rate-limits work by accumulating or draining capacity over time.
Leaky Bucket Scheduling
Leaky Bucket Scheduling rate-limits work by accumulating or draining capacity over time.
Backfilling Scheduling
Backfilling Scheduling chooses jobs using priority, completion-time, or resource-availability rules.
Min-Min Scheduling
Min-Min Scheduling chooses jobs using priority, completion-time, or resource-availability rules.
Max-Min Scheduling
Max-Min Scheduling chooses jobs using priority, completion-time, or resource-availability rules.
HEFT Scheduling
HEFT Scheduling chooses jobs using priority, completion-time, or resource-availability rules.
List Scheduling
List Scheduling chooses jobs using priority, completion-time, or resource-availability rules.
Interval Scheduling
Interval Scheduling selects compatible intervals from overlapping candidates.
Weighted Interval Scheduling
Weighted Interval Scheduling selects compatible intervals from overlapping candidates.
Bin Packing First Fit
Bin Packing First Fit packs items into limited-capacity containers.
Bin Packing Best Fit
Bin Packing Best Fit packs items into limited-capacity containers.
Consistent Hashing Load Balancing
Consistent Hashing Load Balancing chooses jobs using priority, completion-time, or resource-availability rules.
Earliest Due Date Scheduling
Orders jobs by due date to reduce lateness-oriented scheduling risk.
Least Slack Time Scheduling
Prioritizes the ready task with the least time cushion before its deadline.
Critical Ratio Scheduling
Critical Ratio Scheduling addresses production scheduling by prioritizing jobs by time remaining divided by work remaining.
Highest Response Ratio Next
Chooses the ready job with the largest ratio of waiting time plus service time to service time.
Moore-Hodgson Algorithm
Minimizes the number of late jobs on a single machine by dropping the longest job from overloaded prefixes.
Workload Backfilling
Workload Backfilling addresses cluster scheduling by running smaller jobs early when they do not delay reserved larger jobs.
Shortest Remaining Time First
Preemptively runs the ready job with the smallest remaining processing time.