Work stealing is a scheduling strategy in parallel computing used for multithreaded computer programs. It efficiently executes a dynamically multithreaded computation on a statically multithreaded computer by distributing the scheduling work over idle processors, reducing process migration between processors. This concept, which dates back to the 1980s, is used in various programming languages and frameworks such as Cilk, Java fork/join framework, .NET Task Parallel Library, and Rust Tokio runtime.
Stanford University
Fall 2022
Focused on principles and trade-offs in designing modern parallel computing systems, this course also teaches parallel programming techniques. It is intended for students looking to understand both parallel hardware and software design. Prerequisite knowledge in computer systems is required.
No concepts data
+ 45 more concepts