L. Sigrist, G. Giannopoulou, Pengcheng Huang, Andres Gomez, L. Thiele
{"title":"Mixed-criticality runtime mechanisms and evaluation on multicores","authors":"L. Sigrist, G. Giannopoulou, Pengcheng Huang, Andres Gomez, L. Thiele","doi":"10.1109/RTAS.2015.7108442","DOIUrl":null,"url":null,"abstract":"Multicore systems are being increasingly used for embedded system deployments, even in safety-critical domains. Co-hosting applications of different criticality levels in the same platform requires sufficient isolation among them, which has given rise to the mixed-criticality scheduling problem and several recently proposed policies. Such policies typically employ runtime mechanisms to monitor task execution, detect exceptional events like task overruns, and react by switching scheduling mode. Implementing such mechanisms efficiently is crucial for any scheduler to detect runtime events and react in a timely manner, without compromising the system's safety. This paper investigates implementation alternatives for these mechanisms and empirically evaluates the effect of their runtime overhead on the schedulability of mixed-criticality applications. Specifically, we implement in user-space two state-of-the-art scheduling policies: the flexible time-triggered FTTS [1] and the partitioned EDFVD [2], and measure their runtime overheads on a 60-core Intel R Xeon Phi and a 4-core Intel R Core i5 for the first time. Based on extensive executions of synthetic task sets and an industrial avionic application, we show that these overheads cannot be neglected, esp. on massively multicore architectures, where they can incur a schedulability loss up to 97%. Evaluating runtime mechanisms early in the design phase and integrating their overheads into schedulability analysis seem therefore inevitable steps in the design of mixed-criticality systems. The need for verifiably bounded overheads motivates the development of novel timing-predictable architectures and runtime environments specifically targeted for mixed-criticality applications.","PeriodicalId":320300,"journal":{"name":"21st IEEE Real-Time and Embedded Technology and Applications Symposium","volume":"15 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-04-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"26","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"21st IEEE Real-Time and Embedded Technology and Applications Symposium","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/RTAS.2015.7108442","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 26
Abstract
Multicore systems are being increasingly used for embedded system deployments, even in safety-critical domains. Co-hosting applications of different criticality levels in the same platform requires sufficient isolation among them, which has given rise to the mixed-criticality scheduling problem and several recently proposed policies. Such policies typically employ runtime mechanisms to monitor task execution, detect exceptional events like task overruns, and react by switching scheduling mode. Implementing such mechanisms efficiently is crucial for any scheduler to detect runtime events and react in a timely manner, without compromising the system's safety. This paper investigates implementation alternatives for these mechanisms and empirically evaluates the effect of their runtime overhead on the schedulability of mixed-criticality applications. Specifically, we implement in user-space two state-of-the-art scheduling policies: the flexible time-triggered FTTS [1] and the partitioned EDFVD [2], and measure their runtime overheads on a 60-core Intel R Xeon Phi and a 4-core Intel R Core i5 for the first time. Based on extensive executions of synthetic task sets and an industrial avionic application, we show that these overheads cannot be neglected, esp. on massively multicore architectures, where they can incur a schedulability loss up to 97%. Evaluating runtime mechanisms early in the design phase and integrating their overheads into schedulability analysis seem therefore inevitable steps in the design of mixed-criticality systems. The need for verifiably bounded overheads motivates the development of novel timing-predictable architectures and runtime environments specifically targeted for mixed-criticality applications.
多核系统越来越多地用于嵌入式系统部署,甚至在安全关键领域。在同一平台上共同托管不同临界级别的应用程序需要充分的隔离,这就产生了混合临界调度问题和最近提出的一些策略。此类策略通常使用运行时机制来监视任务执行,检测任务超时等异常事件,并通过切换调度模式做出反应。对于任何调度器来说,有效地实现这种机制对于检测运行时事件并及时做出反应,而不损害系统的安全性至关重要。本文研究了这些机制的实现方案,并经验地评估了它们的运行时开销对混合临界应用程序的可调度性的影响。具体来说,我们在用户空间实现了两种最先进的调度策略:灵活的时间触发FTTS[1]和分区的EDFVD[2],并首次在60核Intel R Xeon Phi和4核Intel R Core i5上测量了它们的运行时开销。基于合成任务集的大量执行和工业航空电子应用,我们表明这些开销不能被忽视,特别是在大规模多核架构上,它们可能导致高达97%的可调度性损失。因此,在设计阶段早期评估运行时机制,并将其开销集成到可调度性分析中,似乎是混合临界系统设计中不可避免的步骤。对可验证的有限开销的需求促使开发专门针对混合临界应用程序的新型时间可预测架构和运行时环境。