~/talk

“Work Stealing"

Talkat CppCon 2015 · 2015-09-21..09-25· [concurrency]
links:none on file
slides:none on file

Explains why randomized work stealing in C++ runtimes (Intel Cilk Plus, TBB, PPL and the proposed parallel STL) approximates a greedy scheduler and often hits near-optimal CPU utilization, needing roughly 10× parallelism relative to cores. Shows centralized FIFO queues vs per-worker double-ended deques, demonstrates a Fibonacci example where work usually moves between workers only once, and contrasts child-stealing with continuation-stealing. Covers compiler/runtime support (Intel compiler, Cilk runtime), cactus-stack lifetime bugs and fixes (capture-by-value, thread sanitizer).

AI-written summary · about

  1. 0:00Introduction to work stealing
  2. 1:24Why scheduling matters
  3. 8:08Expressing parallelism in C++
  4. 15:13Measuring parallelism
  5. 18:56Greedy scheduling explained
  6. 21:46Static scheduling limitations
  7. 23:51Thread-based scheduling issues
  8. 25:19Work stealing analogy
  9. 29:53Work stealing in C++
  10. 32:47Centralized work queues
  11. 38:09Distributed work queues
  12. 46:18Child vs continuation stealing
  13. 53:29Advantages of child stealing
  14. 54:32Advantages of continuation stealing
  15. 56:41Cactus stack and object lifetimes
  16. 58:25Conclusion and Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.