Real-time scheduling of parallel tasks in the Linux Kernel

This paper proposes a global multiprocessor scheduling algorithm for the Linux kernel that combines the global EDF scheduler with a priority-aware work-stealing load balancing scheme, enabling parallel real-time tasks to be executed on more than one processor at a given time instant. We state that s...

Full description

Bibliographic Details
Main Author: Fonseca, José (author)
Other Authors: Nogueira, Luís (author), Maia, Cláudio (author), Pinho, Luís Miguel (author)
Format: report
Language:eng
Published: 2014
Subjects:
Online Access:http://hdl.handle.net/10400.22/3693
Country:Portugal
Oai:oai:recipp.ipp.pt:10400.22/3693
Description
Summary:This paper proposes a global multiprocessor scheduling algorithm for the Linux kernel that combines the global EDF scheduler with a priority-aware work-stealing load balancing scheme, enabling parallel real-time tasks to be executed on more than one processor at a given time instant. We state that some priority inversion may actually be acceptable, provided it helps reduce contention, communication, synchronisation and coordination between parallel threads, while still guaranteeing the expected system’s predictability. Experimental results demonstrate the low scheduling overhead of the proposed approach comparatively to an existing real-time deadline-oriented scheduling class for the Linux kernel.