Namhoon Kim, Stephen Tang, Nathan Otterness, James H. Anderson, F. Donelson Smith, Donald E. Porter
{"title":"支持I/O和IPC通过细粒度操作系统隔离混合关键实时任务","authors":"Namhoon Kim, Stephen Tang, Nathan Otterness, James H. Anderson, F. Donelson Smith, Donald E. Porter","doi":"10.1007/s11241-020-09351-2","DOIUrl":null,"url":null,"abstract":"Efforts towards hosting safety-critical, real-time applications on multicore platforms have been stymied by a problem dubbed the “one-out-of- m ” problem: due to excessive analysis pessimism, the overall capacity of an m -core platform can easily be reduced to roughly just one core. The predominant approach for addressing this problem introduces hardware-isolation techniques that ameliorate contention experienced by tasks when accessing shared hardware components, such as DRAM memory or caches. Unfortunately, in work on such techniques, the operating system (OS), which is a key source of potential interference, has been largely ignored. Most real-time OSs do facilitate the use of a coarse-grained partitioning strategy to separate the OS from user-level tasks. However, such a strategy by itself fails to address any data sharing between the OS and tasks, such as when OS services are required for interprocess communication (IPC) or I/O. This paper presents techniques for lessening the impacts of such sharing, specifically in the context of $${\\textsf {MC}}^{\\textsf {2}}$$ MC 2 , a hardware-isolation framework designed for mixed-criticality systems. Additionally, it presents the results from micro-benchmark experiments and a large-scale schedulability study conducted to evaluate the efficacy of the proposed techniques and also to elucidate sharing vs. isolation tradeoffs involving the OS. This is the first paper to systematically consider such tradeoffs and consequent impacts of OS-induced sharing on the one-out-of- m problem.","PeriodicalId":54507,"journal":{"name":"Real-Time Systems","volume":"226 3","pages":""},"PeriodicalIF":1.4000,"publicationDate":"2020-06-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"18","resultStr":"{\"title\":\"Supporting I/O and IPC via fine-grained OS isolation for mixed-criticality real-time tasks\",\"authors\":\"Namhoon Kim, Stephen Tang, Nathan Otterness, James H. Anderson, F. Donelson Smith, Donald E. Porter\",\"doi\":\"10.1007/s11241-020-09351-2\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Efforts towards hosting safety-critical, real-time applications on multicore platforms have been stymied by a problem dubbed the “one-out-of- m ” problem: due to excessive analysis pessimism, the overall capacity of an m -core platform can easily be reduced to roughly just one core. The predominant approach for addressing this problem introduces hardware-isolation techniques that ameliorate contention experienced by tasks when accessing shared hardware components, such as DRAM memory or caches. Unfortunately, in work on such techniques, the operating system (OS), which is a key source of potential interference, has been largely ignored. Most real-time OSs do facilitate the use of a coarse-grained partitioning strategy to separate the OS from user-level tasks. However, such a strategy by itself fails to address any data sharing between the OS and tasks, such as when OS services are required for interprocess communication (IPC) or I/O. This paper presents techniques for lessening the impacts of such sharing, specifically in the context of $${\\\\textsf {MC}}^{\\\\textsf {2}}$$ MC 2 , a hardware-isolation framework designed for mixed-criticality systems. Additionally, it presents the results from micro-benchmark experiments and a large-scale schedulability study conducted to evaluate the efficacy of the proposed techniques and also to elucidate sharing vs. isolation tradeoffs involving the OS. This is the first paper to systematically consider such tradeoffs and consequent impacts of OS-induced sharing on the one-out-of- m problem.\",\"PeriodicalId\":54507,\"journal\":{\"name\":\"Real-Time Systems\",\"volume\":\"226 3\",\"pages\":\"\"},\"PeriodicalIF\":1.4000,\"publicationDate\":\"2020-06-29\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"18\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Real-Time Systems\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://doi.org/10.1007/s11241-020-09351-2\",\"RegionNum\":4,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, THEORY & METHODS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Real-Time Systems","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1007/s11241-020-09351-2","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 18
摘要
在多核平台上托管对安全至关重要的实时应用程序的努力一直受到一个问题的阻碍,这个问题被称为“m中的一个”问题:由于过度的悲观分析,m核平台的总体容量很容易减少到大约只有一个核心。解决此问题的主要方法是引入硬件隔离技术,以改善任务在访问共享硬件组件(如DRAM内存或缓存)时遇到的争用。不幸的是,在这些技术的工作中,操作系统(OS)——潜在干扰的关键来源——在很大程度上被忽略了。大多数实时操作系统确实支持使用粗粒度分区策略来将操作系统与用户级任务分开。但是,这种策略本身无法解决操作系统和任务之间的任何数据共享问题,例如当需要操作系统服务进行进程间通信(IPC)或I/O时。本文介绍了减轻这种共享影响的技术,特别是在$${\textsf {MC}}^{\textsf {2}}$$ MC 2的背景下,这是一个为混合临界系统设计的硬件隔离框架。此外,本文还介绍了微基准测试实验和大规模可调度性研究的结果,以评估所提出的技术的有效性,并阐明涉及操作系统的共享与隔离权衡。这是第一篇系统地考虑这种权衡和操作系统诱导的共享对1 / m问题的后续影响的论文。
Supporting I/O and IPC via fine-grained OS isolation for mixed-criticality real-time tasks
Efforts towards hosting safety-critical, real-time applications on multicore platforms have been stymied by a problem dubbed the “one-out-of- m ” problem: due to excessive analysis pessimism, the overall capacity of an m -core platform can easily be reduced to roughly just one core. The predominant approach for addressing this problem introduces hardware-isolation techniques that ameliorate contention experienced by tasks when accessing shared hardware components, such as DRAM memory or caches. Unfortunately, in work on such techniques, the operating system (OS), which is a key source of potential interference, has been largely ignored. Most real-time OSs do facilitate the use of a coarse-grained partitioning strategy to separate the OS from user-level tasks. However, such a strategy by itself fails to address any data sharing between the OS and tasks, such as when OS services are required for interprocess communication (IPC) or I/O. This paper presents techniques for lessening the impacts of such sharing, specifically in the context of $${\textsf {MC}}^{\textsf {2}}$$ MC 2 , a hardware-isolation framework designed for mixed-criticality systems. Additionally, it presents the results from micro-benchmark experiments and a large-scale schedulability study conducted to evaluate the efficacy of the proposed techniques and also to elucidate sharing vs. isolation tradeoffs involving the OS. This is the first paper to systematically consider such tradeoffs and consequent impacts of OS-induced sharing on the one-out-of- m problem.
期刊介绍:
Papers published in Real-Time Systems cover, among others, the following topics: requirements engineering, specification and verification techniques, design methods and tools, programming languages, operating systems, scheduling algorithms, architecture, hardware and interfacing, dependability and safety, distributed and other novel architectures, wired and wireless communications, wireless sensor systems, distributed databases, artificial intelligence techniques, expert systems, and application case studies. Applications are found in command and control systems, process control, automated manufacturing, flight control, avionics, space avionics and defense systems, shipborne systems, vision and robotics, pervasive and ubiquitous computing, and in an abundance of embedded systems.