Live briefing
Everything about Work stealing
Parallel computing algorithm
In parallel computing, work stealing is a scheduling strategy for multithreaded computer programs. It solves the problem of executing a dynamically multithreaded computation, one that can "spawn" new threads of execution, on a statically multithreaded computer, with a fixed number of processors. It does so efficiently in terms of execution time, memory usage, and inter-processor communication. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Work stealingA 5-minute orientation
- Skim a recent paper: ERASE: Energy Efficient Task Mapping and Resource Management for Work Stealing RuntimesInfluential work since 2022
- Pick up a classic book: Riders of the Purple SageThe most-reprinted book on the subject
- Read the landmark paper: Scheduling multithreaded computations by work stealingCited 935 times
- Go sideways: Fork–join modelA closely related topic
- Go sideways: CilkA closely related topic
📖 Definitions
Noun An algorithm and scheduling strategy for multithreaded computer programs, where a thread can "steal" work from queues of the other threads.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Scheduling multithreaded computations by work stealing
The Data Locality of Work Stealing
A mean field model of work stealing in large-scale systems
Scheduling Parallel Computations by Work Stealing: A Survey
Adaptive work-stealing with parallelism feedback
The Natural Work-Stealing Algorithm is Stable
A dynamic-sized nonblocking work stealing deque
Idempotent work stealing
🆕 Influential since 2022
ERASE: Energy Efficient Task Mapping and Resource Management for Work Stealing Runtimes
A parallel particle swarm optimization framework based on a fork-join thread pool using a work-stealing mechanism
COWS for High Performance: Cost Aware Work Stealing for Irregular Parallel Loop
Fine-grained parallelism framework with predictable work-stealing for real-time multiprocessor systems
Link Stealing Attacks Against Inductive Graph Neural Networks
📚 Books worth reading
Riders of the Purple SageZane Grey · 1912
The Shewing up of Blanco PosnetGeorge Bernard Shaw · 1909
Nothing's Fair in Fifth GradeBarthe DeClements · 1981
ZoobreakGordon Korman · 2000
The Shewing-up of Blanco Posnet and Fanny's First PlayGeorge Bernard Shaw · 1987
Milly, Molly and Oink (Milly Molly)Gill Pittar · 2004
This Is My BookMick Inkpen · 2010- 📕Losers, weepersGillian Crampton Smith · 1981
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Fork–join model In parallel computing, the fork–join model is a way of setting up and executing parallel programs, such that execution branches off in parallel at designated…
- Cilk Cilk, Cilk++, Cilk Plus and OpenCilk are general-purpose programming languages designed for multithreaded parallel computing. They are based on the C and…
- Charles E. Leiserson Charles Eric Leiserson (born 1953) is a computer scientist and professor at Massachusetts Institute of Technology (MIT). He specializes in the theory of…
- Parallel Extensions .NET Store APIs Async model Parallel LINQ TPL LINQ EF WPF WCF WF WCS WinForms ASP.NET ADO.NET Framework Class Library Common Language Runtime Parallel…
- Uzi Vishkin Uzi Vishkin (Hebrew: עוזי וישקין; born 1953) is a computer scientist at the University of Maryland, College Park, where he is Professor of Electrical and…
- Binary Modular Dataflow Machine BMDFM running on various operating systems Binary Modular Dataflow Machine (BMDFM) is a software package that enables running an application in parallel…
- Thread (computing) In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which…
- Double-ended queue Input Input Output Output as a queue as a stack In computer science, a double-ended queue (abbreviated as deque — /dɛk/ DEK), is an abstract data type…