On the use of Work-Stealing Strategies in Real-Time Systems
Luís Nogueira, Luís Miguel Pinho, José Fonseca, Cláudio Maia · 2013
Computers across all domains increasingly rely on multiple processors/cores, with processors starting to appear with dozens of cores, and next generations of multicore processors expected to integrate hundreds to thousands of simple processors into a single chip. The real-time and embedded systems domain is no exception to this trend. Therefore, the problem of scheduling realtime tasks is no longer a problem of scheduling sequential tasks, but increasingly one of scheduling job-level parallelism or intra-task parallelism as it is commonly known, i.e. the possibility of having more than one core executing a single job at any given instant in time. The subject of scheduling parallel execution is well-studied in the high-performance domain, being work-stealing strategies a simple, yet best-performing, dynamic load-balancing scheme. Nevertheless, traditional work-stealing approaches have inherent limitations for real-time systems. In this paper, we review current work by the authors being done to integrate work-stealing with real-time systems scheduling. On the use of Work-Stealing Strategies