ARCHIVED from builddistributedsystem.com on 2026-04-28 — URL: https://builddistributedsystem.com/tracks/scheduler
Tracks/The Scheduler
24

The Scheduler

Advanced
Operations|10 tasks

How does your system know which node should run which job - and what happens when that node dies? Build job queues, priority scheduling, cron systems, and distributed work allocation from scratch.

Subtracks & Tasks

Concepts Covered

priority queueworker assignmentjob dispatchfailure handlingqueue statusBanker's algorithmsafe statewait-for graphpreemptioncycle detectionstarvation preventionagingMLFQtime quantumI/O-bound promotionfair sharetopological sortcritical pathcircular dependencyfailure propagationparallel roundsresource estimationbin packingauto-scalinghistorical analysispacking efficiencywork stealingdequeLIFO stealinglock-free schedulingidle detectionhash partitioningrange partitioningdata skewstraggler mitigationspeculative executionWALcrash recoveryleader electiongeneration numbersduplicate preventionpartitioned queuereplicationconsumer assignmentpartition rebalancingbroker failoverdata localityrack awarenessworker scoringdynamic data placementload vs locality tradeoff

Prerequisites

It is recommended to complete the previous tracks before starting this one. Concepts build progressively throughout the curriculum.