Many Suspensions, Many Problems: A Review of Self-Suspending Tasks in Real-Time Systems
Jian-Jia Chen, Geoffrey Nelissen, Huang Wen-Hung Kevin, Maolin Yang, Bjorn Brandenburg, Konstantinos Bletsas, Cong Liu, Pascal Richard, Frederic Ridouard, Audsley Neil Cameron, Raj Rajkumar, de Niz Dionisio and von der Bruggen Georg
In general computing systems, a job (process/task) may sus- pend itself whilst it is waiting for some activity to complete, e.g., an accelerator to return data. In real-time systems, such self-suspension can cause substantial performance/schedulability degradation. This observa- tion, first made in 1988, has led to the investigation of the impact of self-suspension on timing predictability, and many relevant results have been published since. Unfortunately, as it has recently come to light, a number of the existing results are flawed.To provide a correct platform on which future research can be built, this paper reviews the state of the art in the design and analysis of scheduling algorithms and schedulability tests for self-suspending tasks in real-time systems. We provide (1) a systematic description of how self-suspending tasks can be handled in both soft and hard real-time systems; (2) an explanation of the existing misconceptions and their potential remedies; (3) an assessment of the influence of such flawed analyses on partitioned multiprocessor fixed-priority scheduling when tasks synchronize access to shared resources; and (4) a discussion of the computational complexity of analyses for different self-suspension task models.
Download Not Available
BibTex Entry
@article{Chen_2018, author = {Jian-Jia Chen and Geoffrey Nelissen and Huang, {Wen-Hung Kevin} and Maolin Yang and Bjorn Brandenburg and Konstantinos Bletsas and Cong Liu and Pascal Richard and Frederic Ridouard and Audsley, {Neil Cameron} and Raj Rajkumar and {de Niz}, Dionisio and {von der Bruggen}, Georg}, day = {11}, doi = {10.1007/s11241-018-9316-9}, issn = {0922-6443}, journal = {Real-Time Systems}, language = {English}, month = {9}, note = {{\circledC} The Author(s) 2018}, number = {1}, pages = {144--207}, publisher = {Springer Netherlands}, pure_url = {https://pure.york.ac.uk/portal/en/publications/many-suspensions-many-problems-a-review-of-selfsuspending-tasks-in-realtime-systems(bfbb56f1-6e96-4211-8477-cf33b164e2f7).html}, title = {Many Suspensions, Many Problems: A Review of Self-Suspending Tasks in Real-Time Systems}, url = {https://doi.org/10.1007%2Fs11241-018-9316-9}, volume = {55}, year = {2018} }