Multicore Scheduling & Load Balancing Simulator
Explore how tasks are distributed across multiple CPU cores. Compare a global shared queue with per-core queues, and observe the effects of processor affinity and load balancing.
Task Set
| Task | Work units | Preferred core | Remaining | State |
|---|
Core State
Scheduler Log
Concept Guide
Shared queue: all idle cores pull work from one global ready queue. Balancing is simple, but the shared queue can become a synchronization bottleneck.
Per-core queues: each core maintains its own ready queue. This improves locality and scalability but may create uneven load.
Soft affinity: the scheduler prefers keeping a task on its previous or preferred core but may migrate it.
Hard affinity: the task is constrained to its preferred core in this simulator.
Load balancing: moves queued tasks from busier cores to less busy ones to reduce imbalance.
This is a conceptual scheduler model. Real kernels consider priorities, NUMA topology, cache hierarchy, interrupts, power states, and many other factors.