On the Scheduling of Mixed-Criticality Real-Time Task Sets

被引:95
作者
de Niz, Dionisio [1 ]
Lakshmanan, Karthik [2 ]
Rajkumar, Ragunathan [2 ]
机构
[1] Carnegie Mellon Univ, Inst Software Engn, Pittsburgh, PA 15213 USA
[2] Carnegie Mellon Univ, Elect & Comp Engn, Pittsburgh, PA 15213 USA
来源
2009 30TH IEEE REAL-TIME SYSTEMS SYMPOSIUM, PROCEEDINGS | 2009年
关键词
D O I
10.1109/RTSS.2009.46
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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 asignment (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.
引用
收藏
页码:291 / +
页数:2
相关论文
共 25 条
[1]   Schedulability analysis of sporadic tasks with multiple criticality specifications [J].
Baruah, Sanjoy ;
Vestal, Steve .
ECRTS 2008: PROCEEDINGS OF THE 20TH EUROMICRO CONFERENCE ON REAL-TIME SYSTEMS, 2008, :147-+
[2]   Sustainable scheduling analysis [J].
Baruah, Sanjoy ;
Burns, Alan .
27TH IEEE INTERNATIONAL REAL-TIME SYSTEMS SYMPOSIUM, PROCEEDINGS, 2006, :159-+
[3]   Scheduling for overload in real-time systems [J].
Baruah, SK ;
Haritsa, JR .
IEEE TRANSACTIONS ON COMPUTERS, 1997, 46 (09) :1034-1039
[4]  
BRANDT SA, 2003, P 24 IEEE RTSS
[5]  
BUTTAZZO G, 1995, P 16 IEEE REAL TIM S
[6]  
BUTTAZZO G, 1998, ELASTIC TASK MODEL A, P286
[7]  
Cho S, 2002, IEICE T COMMUN, VE85B, P2859
[8]   EDZL scheduling analysis [J].
Cirinei, Michele ;
Baker, Theodore P. .
19TH EUROMICRO CONFERENCE ON REAL-TIME SYSTEMS, PROCEEDINGS, 2007, :9-+
[9]  
Davis R, 1995, IEEE REAL TIME, P100, DOI 10.1109/REAL.1995.495200
[10]  
FENG XA, 2005, P 5 ACM INT C EMB SO, P142