Bölüm 12 · Simülatör

Multicore Scheduling & Load Balancing

← Bölüm 12
Cores 4
Affinity
Preset
Speed 1.5/s
Tasks

Tick 0 Done 0/0 Migr. 0 Imbal. 0 Makespan –

Multicore Scheduling & Load Balancing

Tasks run on several CPU cores at once. The left part of each lane shows the core's ready queue (head on the left); the right part is the per-core Gantt timeline. Compare one shared ready queue with per-core queues, processor affinity and load balancing.

How to use

  • Cores −/+ sets 1–8 cores; Shared / Per-core picks the queue model.
  • Balance runs one balancing pass at the start of every tick (per-core only); Rebalance runs one pass now.
  • Tasks are typed as work@core (work 1–30, preferred core 0–7), up to 12 tasks. Type, paste a list, or use a preset.
  • The side panel shows task progress (Tasks) or queue lengths and imbalance (Load). Compare runs the three queue models to completion; click a row to load it.

Rules

Tick
Each core runs its queue head for 1 tick, then re-queues it (RR, q = 1).
Shared
One global queue; idle cores pull from it.
Per-core
Each core keeps its own persistent queue.
Balance
Busiest → idlest queue while lengths differ by more than 1.
Migration
Task runs on a different core than last time (counted once).
Soft
Prefer the last core; may migrate.
Hard
Only the preferred core; never moved.
Makespan
Ticks until every task has finished.
Config
Changing cores, model, affinity or tasks restarts at tick 0.

Legend

↷ migration balance move idle core queue head ✓ finished affinity (preferred core)

Keys

←→ tickSpace playHomeEnd first / lastEsc close