Loading…

Many suspensions, many problems: a review of self-suspending tasks in real-time systems

In general computing systems, a job (process/task) may suspend 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 observation, first made in 1988...

Full description

Saved in:
Bibliographic Details
Published in:Real-time systems 2019-01, Vol.55 (1), p.144-207
Main Authors: Chen, Jian-Jia, Nelissen, Geoffrey, Huang, Wen-Hung, Yang, Maolin, Brandenburg, Björn, Bletsas, Konstantinos, Liu, Cong, Richard, Pascal, Ridouard, Frédéric, Audsley, Neil, Rajkumar, Raj, de Niz, Dionisio, von der Brüggen, Georg
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:In general computing systems, a job (process/task) may suspend 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 observation, 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.
ISSN:0922-6443
1573-1383
DOI:10.1007/s11241-018-9316-9