Why it matters

Work stealing balances load with low overhead. Standard in modern parallel runtimes.

Advertisement

The architecture

Each thread has deque.

Own thread pushes/pops LIFO.

Stealer takes FIFO from other end.

Work stealingEach threadown dequeOwnpush/pop LIFOStealFIFO other endBlumofe-Leiserson 1994 proved bounds; Cilk was first; standard today
Work stealing.
Advertisement

How it works end to end

Cilk 1995.

ForkJoin in JDK.

Rayon in Rust.