DocumentCode :
2894986
Title :
On the Scheduling of Mixed-Criticality Real-Time Task Sets
Author :
de Niz, Dionisio ; Lakshmanan, Karthik ; Rajkumar, Ragunathan
fYear :
2009
fDate :
1-4 Dec. 2009
Firstpage :
291
Lastpage :
300
Abstract :
The functional consolidation induced by the cost reduction trends in embedded systems can force tasks of different criticality (e.g. ABS Brakes with DVD) to share a processor and interfere with each other. These systems are known as mixed criticality systems. While traditional temporal isolation techniques prevent all inter-task interference, they waste utilization because they need to reserve for the absolute worst-case execution time (WCET) for all tasks. In many mixed-criticality systems the WCET is not only rare, but at times difficult to calculate, such as the time to localize all possible objects in an obstacle avoidance algorithm. In this situation it is more appropriate to allow the execution time to grow by stealing cycles from lower-criticality tasks. Even more crucial is the fact that temporal isolation techniques can stop a high-criticality task (that was overrunning its nomimal WCET) to allow a low-criticality task to run, making the former miss its deadline. We identify this as the criticality inversion problem. In this paper, we characterize the criticality inversion problem and present a new scheduling scheme called zero-slack scheduling that implements an alternative protection scheme we refer to as asymmetric protection. This protection only prevents interference from lower-criticality to higher-criticality tasks and improves the schedulable utilization. We use an offline algorithm with two parts: a zero-slack calculation algorithm, and a slack analysis algorithm. The zero-slack calculation algorithm minimizes the utilization needed by a task set by reducing the time low-criticality tasks are preempted by high-criticality ones. This algorithm can be used with priority-based preemptive schedulers (e.g. RMS, EDF). The slack analysis algorithm is specific for each priority-based preemptive scheduler and we develop and evaluated the one for RMS. We prove that this algorithm provides the same level of protection against criticality inversion as the best- known priority assignment for this purpose, criticality as priority assignment (CAPA). We also prove that zero-slack RM provides the same level of schedulable utilization as RMS when all tasks have equal criticality levels. Finally, we present our implementation of the runtime enforcement mechanisms in Linux/RK to demonstrate its practicality.
Keywords :
Linux; embedded systems; scheduling; task analysis; Linux/RK; WCET; asymmetric protection; cost reduction; criticality as priority assignment; criticality inversion problem; embedded systems; inter-task interference; low-criticality tasks; mixed criticality systems; mixed-criticality real-time task sets; obstacle avoidance algorithm; priority-based preemptive schedulers; runtime enforcement mechanisms; schedulable utilization; scheduling scheme; slack analysis algorithm; stealing cycles; temporal isolation techniques; waste utilization; worst-case execution time; zero-slack calculation algorithm; zero-slack scheduling; Algorithm design and analysis; Cost function; DVD; Embedded system; Interference; Linux; Processor scheduling; Protection; Runtime; Scheduling algorithm; mixed criticality; overload; real time; scheduling;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Real-Time Systems Symposium, 2009, RTSS 2009. 30th IEEE
Conference_Location :
Washington, DC
ISSN :
1052-8725
Print_ISBN :
978-0-7695-3875-4
Type :
conf
DOI :
10.1109/RTSS.2009.46
Filename :
5368157
Link To Document :
بازگشت