Pub Date : 2020-06-29DOI: 10.1007/s11241-020-09351-2
Namhoon Kim, Stephen Tang, Nathan Otterness, James H. Anderson, F. Donelson Smith, Donald E. Porter
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.
在多核平台上托管对安全至关重要的实时应用程序的努力一直受到一个问题的阻碍,这个问题被称为“m中的一个”问题:由于过度的悲观分析,m核平台的总体容量很容易减少到大约只有一个核心。解决此问题的主要方法是引入硬件隔离技术,以改善任务在访问共享硬件组件(如DRAM内存或缓存)时遇到的争用。不幸的是,在这些技术的工作中,操作系统(OS)——潜在干扰的关键来源——在很大程度上被忽略了。大多数实时操作系统确实支持使用粗粒度分区策略来将操作系统与用户级任务分开。但是,这种策略本身无法解决操作系统和任务之间的任何数据共享问题,例如当需要操作系统服务进行进程间通信(IPC)或I/O时。本文介绍了减轻这种共享影响的技术,特别是在$${textsf {MC}}^{textsf {2}}$$ MC 2的背景下,这是一个为混合临界系统设计的硬件隔离框架。此外,本文还介绍了微基准测试实验和大规模可调度性研究的结果,以评估所提出的技术的有效性,并阐明涉及操作系统的共享与隔离权衡。这是第一篇系统地考虑这种权衡和操作系统诱导的共享对1 / m问题的后续影响的论文。
{"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":"https://doi.org/10.1007/s11241-020-09351-2","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.3,"publicationDate":"2020-06-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138496240","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2020-06-19DOI: 10.1007/s11241-020-09350-3
Jorge Martinez, Ignacio Sañudo, M. Bertogna
{"title":"End-to-end latency characterization of task communication models for automotive systems","authors":"Jorge Martinez, Ignacio Sañudo, M. Bertogna","doi":"10.1007/s11241-020-09350-3","DOIUrl":"https://doi.org/10.1007/s11241-020-09350-3","url":null,"abstract":"","PeriodicalId":54507,"journal":{"name":"Real-Time Systems","volume":"56 1","pages":"315 - 347"},"PeriodicalIF":1.3,"publicationDate":"2020-06-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1007/s11241-020-09350-3","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"42740850","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2020-06-15DOI: 10.1007/s11241-020-09349-w
Wei Ding
Given an n -dimensional integer vector $$mathbf {v} = (v_1, v_2, ldots , v_n)$$ v = ( v 1 , v 2 , … , v n ) with $$v_1 le v_2 le cdots le v_n$$ v 1 ≤ v 2 ≤ ⋯ ≤ v n , a pinwheel schedule for $$mathbf {v}$$ v is an infinite symbol sequence $$S_1 S_2 S_3 cdots$$ S 1 S 2 S 3 ⋯ , which satisfies that $$S_j in { 1, 2, ldots , n }, forall j in mathbb {Z}^{+}$$ S j ∈ { 1 , 2 , … , n } , ∀ j ∈ Z + and every $$i in { 1, 2, ldots , n }$$ i ∈ { 1 , 2 , … , n } occurs at least once in every $$v_i$$ v i consecutive symbols $$S_{j + 1} S_{j + 2} cdots S_{j + v_i}, forall j in mathbb {Z}^{+} cup { 0 }$$ S j + 1 S j + 2 ⋯ S j + v i , ∀ j ∈ Z + ∪ { 0 } . If $$mathbf {v}$$ v has a pinwheel schedule then $$mathbf {v}$$ v is called (pinwheel) schedulable . The density of $$mathbf {v}$$ v is defined as $$d(mathbf {v}) = sum _{i = 1}^{n} frac{1}{v_i}$$ d ( v ) = ∑ i = 1 n 1 v i . Chan and Chin (Algorithmica 9(5):425–462, 1993) made a conjecture that every vector $$mathbf {v}$$ v with $$d(mathbf {v}) le frac{5}{6}$$ d ( v ) ≤ 5 6 is schedulable. In this paper, we check the conjecture from the perspective of low-dimensional vectors, including 3-, 4- and 5-dimensional ones. We first find some simple but important properties of schedulable vectors, and then propose two comparing rules according to these properties. Also, we define a vector-space tree to represent all k -dimensional vectors, for any given integer $$k ge 2$$ k ≥ 2 . Under the framework of the vector-space tree, we use the comparing rules to develop a Branch-and-Cut Approach to examining the schedulability of all k -dimensional vectors. As a result, we prove that the maximum density guarantee for the pinwheel schedulability of low-dimensional vectors is $$frac{5}{6}$$ 5 6 , which partially supports Chan and Chin’s conjecture.
给定一个n维整数向量$$mathbf {v} = (v_1, v_2, ldots , v_n)$$ v = (v1, v2,…,vn)且$$v_1 le v_2 le cdots le v_n$$ v1≤v2≤⋯≤vn, $$mathbf {v}$$ v的风车调度是一个无限符号序列$$S_1 S_2 S_3 cdots$$ s1 s2 s2 3⋯,它满足$$S_j in { 1, 2, ldots , n }, forall j in mathbb {Z}^{+}$$ S j∈{1,2,…,n},∀j∈Z +,以及每个$$i in { 1, 2, ldots , n }$$ i∈{1,2,…,n}在每$$v_i$$ v i个连续符号$$S_{j + 1} S_{j + 2} cdots S_{j + v_i}, forall j in mathbb {Z}^{+} cup { 0 }$$ S j + 1 S j + 2⋯S j + v1,∀j∈Z +∪{0}中至少出现一次。如果$$mathbf {v}$$ v有一个风车计划,那么$$mathbf {v}$$ v被称为(风车)可调度的。$$mathbf {v}$$ v的密度定义为$$d(mathbf {v}) = sum _{i = 1}^{n} frac{1}{v_i}$$ d (v) =∑i = 1 n 1 v i。Chan和Chin (Algorithmica 9(5): 425-462, 1993)提出了一个猜想,即$$d(mathbf {v}) le frac{5}{6}$$ d (v)≤5.6的所有向量$$mathbf {v}$$ v都是可调度的。在本文中,我们从低维向量的角度,包括3维,4维和5维的角度来检验这个猜想。我们首先找到了可调度向量的一些简单而重要的性质,然后根据这些性质提出了两个比较规则。同样,我们定义了一个向量空间树来表示所有k维向量,对于任何给定的整数$$k ge 2$$ k≥2。在向量空间树的框架下,我们利用比较规则开发了一种分支切法来检验所有k维向量的可调度性。结果证明了低维向量的风车可调度性的最大密度保证为$$frac{5}{6}$$ 5 6,部分支持了Chan和Chin的猜想。
{"title":"A branch-and-cut approach to examining the maximum density guarantee for pinwheel schedulability of low-dimensional vectors","authors":"Wei Ding","doi":"10.1007/s11241-020-09349-w","DOIUrl":"https://doi.org/10.1007/s11241-020-09349-w","url":null,"abstract":"Given an n -dimensional integer vector $$mathbf {v} = (v_1, v_2, ldots , v_n)$$ v = ( v 1 , v 2 , … , v n ) with $$v_1 le v_2 le cdots le v_n$$ v 1 ≤ v 2 ≤ ⋯ ≤ v n , a pinwheel schedule for $$mathbf {v}$$ v is an infinite symbol sequence $$S_1 S_2 S_3 cdots$$ S 1 S 2 S 3 ⋯ , which satisfies that $$S_j in { 1, 2, ldots , n }, forall j in mathbb {Z}^{+}$$ S j ∈ { 1 , 2 , … , n } , ∀ j ∈ Z + and every $$i in { 1, 2, ldots , n }$$ i ∈ { 1 , 2 , … , n } occurs at least once in every $$v_i$$ v i consecutive symbols $$S_{j + 1} S_{j + 2} cdots S_{j + v_i}, forall j in mathbb {Z}^{+} cup { 0 }$$ S j + 1 S j + 2 ⋯ S j + v i , ∀ j ∈ Z + ∪ { 0 } . If $$mathbf {v}$$ v has a pinwheel schedule then $$mathbf {v}$$ v is called (pinwheel) schedulable . The density of $$mathbf {v}$$ v is defined as $$d(mathbf {v}) = sum _{i = 1}^{n} frac{1}{v_i}$$ d ( v ) = ∑ i = 1 n 1 v i . Chan and Chin (Algorithmica 9(5):425–462, 1993) made a conjecture that every vector $$mathbf {v}$$ v with $$d(mathbf {v}) le frac{5}{6}$$ d ( v ) ≤ 5 6 is schedulable. In this paper, we check the conjecture from the perspective of low-dimensional vectors, including 3-, 4- and 5-dimensional ones. We first find some simple but important properties of schedulable vectors, and then propose two comparing rules according to these properties. Also, we define a vector-space tree to represent all k -dimensional vectors, for any given integer $$k ge 2$$ k ≥ 2 . Under the framework of the vector-space tree, we use the comparing rules to develop a Branch-and-Cut Approach to examining the schedulability of all k -dimensional vectors. As a result, we prove that the maximum density guarantee for the pinwheel schedulability of low-dimensional vectors is $$frac{5}{6}$$ 5 6 , which partially supports Chan and Chin’s conjecture.","PeriodicalId":54507,"journal":{"name":"Real-Time Systems","volume":"228 3","pages":""},"PeriodicalIF":1.3,"publicationDate":"2020-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138496239","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2020-04-27DOI: 10.1007/s11241-020-09347-y
Bruno Gaujal, Alain Girault, Stéphan Plassart
We consider a real-time system where a single processor with variable speed executes an infinite sequence of sporadic and independent jobs. We assume that job sizes and relative deadlines are bounded by C and $$varDelta $$ Δ respectively. Furthermore, $$S_{max }$$ S max denotes the maximal speed of the processor. In such a real-time system, a speed selection policy dynamically chooses ( i.e. , on-line) the speed of the processor to execute the current, not yet finished, jobs. We say that an on-line speed policy is feasible if it is able to execute any sequence of jobs while meeting two constraints: the processor speed is always below $$S_{max }$$ S max and no job misses its deadline. In this paper, we compare the feasibility region of four on-line speed selection policies in single-processor real-time systems, namely Optimal Available $${text{(OA)}}$$ (OA) (Yao et al. in IEEE annual foundations of computer science, 1995), Average Rate $${text{(AVR)}}$$ (AVR) (Yao et al. 1995), $${text{(BKP)}}$$ (BKP) (Bansal in J ACM 54:1, 2007), and a Markovian Policy based on dynamic programming $${text{(MP)}}$$ (MP) (Gaujal in Technical Report hal-01615835, Inria, 2017). We prove the following results: $$ {text{(OA)}}$$ (OA) is feasible if and only if $$S_{max } ge C (h_{varDelta -1}+1)$$ S max ≥ C ( h Δ - 1 + 1 ) , where $$h_n$$ h n is the n -th harmonic number ( $$h_n = sum _{i=1}^n 1/i approx log n$$ h n = ∑ i = 1 n 1 / i ≈ log n ). $${text{(AVR)}}$$ (AVR) is feasible if and only if $$S_{max } ge C h_varDelta $$ S max ≥ C h Δ . $${text{(BKP)}}$$ (BKP) is feasible if and only if $$S_{max } ge e C$$ S max ≥ e C (where $$e = exp (1)$$ e = exp ( 1 ) ). $${text{(MP)}}$$ (MP) is feasible if and only if $$S_{max } ge C$$ S max ≥ C . This is an optimal feasibility condition because when $$S_{max } < C$$ S max < C no policy can be feasible. This reinforces the interest of $${text{(MP)}}$$ (MP) that is not only optimal for energy consumption (on average) but is also optimal regarding feasibility.
我们考虑一个实时系统,其中单个处理器以可变速度执行无限序列的零星和独立的作业。我们假设作业规模和相对截止日期分别由C和$$varDelta $$ Δ限定。此外,$$S_{max }$$ S max表示处理器的最大速度。在这样的实时系统中,速度选择策略动态地选择(即在线)处理器执行当前尚未完成的作业的速度。我们说在线速度策略是可行的,如果它能够执行任何作业序列,同时满足两个约束:处理器速度始终低于$$S_{max }$$ S max,并且没有作业错过其截止日期。在本文中,我们比较了单处理器实时系统中四种在线速度选择策略的可行性区域,即最优可用$${text{(OA)}}$$ (OA) (Yao等人,1995年IEEE计算机科学年度基础),平均速率$${text{(AVR)}}$$ (AVR) (Yao等人,1995年),$${text{(BKP)}}$$ (BKP) (Bansal In J ACM 54:1, 2007)和基于动态规划的马尔可夫策略$${text{(MP)}}$$ (MP) (Gaujal In Technical Report hal-01615835, Inria, 2017)。我们证明了以下结果:$$ {text{(OA)}}$$ (OA)当且仅当$$S_{max } ge C (h_{varDelta -1}+1)$$ S max≥C (h Δ - 1 + 1)时是可行的,其中$$h_n$$ h n为n次谐波数($$h_n = sum _{i=1}^n 1/i approx log n$$ h n =∑i = 1 n 1 / i≈log n)。$${text{(AVR)}}$$ (AVR)当且仅当$$S_{max } ge C h_varDelta $$ S max≥C h Δ可行。$${text{(BKP)}}$$ (BKP)当且仅当$$S_{max } ge e C$$ S max≥e C(其中$$e = exp (1)$$ e = exp(1))时可行。$${text{(MP)}}$$ (MP)当且仅当$$S_{max } ge C$$ S max≥C时可行。这是一个最优可行性条件,因为当$$S_{max } < C$$ S max < C时,没有策略是可行的。这加强了$${text{(MP)}}$$ (MP)的兴趣,它不仅在能源消耗(平均)方面是最佳的,而且在可行性方面也是最佳的。
{"title":"Feasibility of on-line speed policies in real-time systems","authors":"Bruno Gaujal, Alain Girault, Stéphan Plassart","doi":"10.1007/s11241-020-09347-y","DOIUrl":"https://doi.org/10.1007/s11241-020-09347-y","url":null,"abstract":"We consider a real-time system where a single processor with variable speed executes an infinite sequence of sporadic and independent jobs. We assume that job sizes and relative deadlines are bounded by C and $$varDelta $$ Δ respectively. Furthermore, $$S_{max }$$ S max denotes the maximal speed of the processor. In such a real-time system, a speed selection policy dynamically chooses ( i.e. , on-line) the speed of the processor to execute the current, not yet finished, jobs. We say that an on-line speed policy is feasible if it is able to execute any sequence of jobs while meeting two constraints: the processor speed is always below $$S_{max }$$ S max and no job misses its deadline. In this paper, we compare the feasibility region of four on-line speed selection policies in single-processor real-time systems, namely Optimal Available $${text{(OA)}}$$ (OA) (Yao et al. in IEEE annual foundations of computer science, 1995), Average Rate $${text{(AVR)}}$$ (AVR) (Yao et al. 1995), $${text{(BKP)}}$$ (BKP) (Bansal in J ACM 54:1, 2007), and a Markovian Policy based on dynamic programming $${text{(MP)}}$$ (MP) (Gaujal in Technical Report hal-01615835, Inria, 2017). We prove the following results: $$ {text{(OA)}}$$ (OA) is feasible if and only if $$S_{max } ge C (h_{varDelta -1}+1)$$ S max ≥ C ( h Δ - 1 + 1 ) , where $$h_n$$ h n is the n -th harmonic number ( $$h_n = sum _{i=1}^n 1/i approx log n$$ h n = ∑ i = 1 n 1 / i ≈ log n ). $${text{(AVR)}}$$ (AVR) is feasible if and only if $$S_{max } ge C h_varDelta $$ S max ≥ C h Δ . $${text{(BKP)}}$$ (BKP) is feasible if and only if $$S_{max } ge e C$$ S max ≥ e C (where $$e = exp (1)$$ e = exp ( 1 ) ). $${text{(MP)}}$$ (MP) is feasible if and only if $$S_{max } ge C$$ S max ≥ C . This is an optimal feasibility condition because when $$S_{max } < C$$ S max < C no policy can be feasible. This reinforces the interest of $${text{(MP)}}$$ (MP) that is not only optimal for energy consumption (on average) but is also optimal regarding feasibility.","PeriodicalId":54507,"journal":{"name":"Real-Time Systems","volume":"229 1‐2","pages":""},"PeriodicalIF":1.3,"publicationDate":"2020-04-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138496264","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2019-12-01DOI: 10.1109/RTSS46320.2019.00050
Wei-Ju Chen, Peng Wu, Pei-Chi Huang, A. Mok, Song Han
We consider the problem of resource provisioning for real-time cyber-physical applications in an open system environment where there does not exist a global resource scheduler that has complete knowledge of the real-time performance requirements of each individual application that shares the resources with the other applications. Regularity-based Resource Partition (RRP) model is an effective strategy to hierarchically partition and assign various resource slices among the applications. However, RRP model does not consider changes in resource requests from the applications at run time. To allow for the run time adaptation to resource requirement changes, we consider in this paper the issues in online resource partition reconfiguration, including semantics issues that arise in configuration transitions that may cause application failures. Based on the reconfiguration semantics, we study the online resource reconfigurability problem under the RRP model where the availability factors of resource partitions may be reconfigured at run time. We formalize and solve the Dynamic Partition Reconfiguration (DPR) problem for uniform environment where the minimal intervals assigned to each task for execution on each resource are the same. Extensive experiments have been conducted to evaluate the performance of the proposed approaches in different scenarios. We also present a case study using the autonomous F1/10 model car; the controller of the F1/10 car requires resource adaptation to satisfy the computing needs of its PID controller and vision system under different operating conditions. Our implementation demonstrates the effectiveness and benefit of online resource partition reconfiguration using the proposed approach in a real-world cyber-physical system.
{"title":"Online reconfiguration of regularity-based resource partitions in cyber-physical systems","authors":"Wei-Ju Chen, Peng Wu, Pei-Chi Huang, A. Mok, Song Han","doi":"10.1109/RTSS46320.2019.00050","DOIUrl":"https://doi.org/10.1109/RTSS46320.2019.00050","url":null,"abstract":"We consider the problem of resource provisioning for real-time cyber-physical applications in an open system environment where there does not exist a global resource scheduler that has complete knowledge of the real-time performance requirements of each individual application that shares the resources with the other applications. Regularity-based Resource Partition (RRP) model is an effective strategy to hierarchically partition and assign various resource slices among the applications. However, RRP model does not consider changes in resource requests from the applications at run time. To allow for the run time adaptation to resource requirement changes, we consider in this paper the issues in online resource partition reconfiguration, including semantics issues that arise in configuration transitions that may cause application failures. Based on the reconfiguration semantics, we study the online resource reconfigurability problem under the RRP model where the availability factors of resource partitions may be reconfigured at run time. We formalize and solve the Dynamic Partition Reconfiguration (DPR) problem for uniform environment where the minimal intervals assigned to each task for execution on each resource are the same. Extensive experiments have been conducted to evaluate the performance of the proposed approaches in different scenarios. We also present a case study using the autonomous F1/10 model car; the controller of the F1/10 car requires resource adaptation to satisfy the computing needs of its PID controller and vision system under different operating conditions. Our implementation demonstrates the effectiveness and benefit of online resource partition reconfiguration using the proposed approach in a real-world cyber-physical system.","PeriodicalId":54507,"journal":{"name":"Real-Time Systems","volume":"57 1","pages":"302 - 345"},"PeriodicalIF":1.3,"publicationDate":"2019-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1109/RTSS46320.2019.00050","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"42712681","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Catherine E. Nemitz, Tanya Amert, Manish Goyal, James H. Anderson
When designing a real-time multiprocessor locking protocol, the allowance of lock nesting creates complications that can inhibit parallelism. Such protocols are typically designed by focusing on the arbitration of resource requests that should be prohibited from executing concurrently. This paper proposes “concurrency groups,” a new concept that reflects an alternative point of view that focuses instead on requests that can be allowed to execute concurrently. A concurrency group is simply a group of lock requests, determined offline, that can safely execute together. This paper’s main contribution is the CGLP, a new real-time multiprocessor locking protocol that supports lock nesting through the use of concurrency groups. The CGLP is able to reap runtime parallelism benefits that have eluded prior protocols by investing effort offline in the construction of concurrency groups. A schedulability study is presented to quantify these benefits, as well as an approach to determining such groups using an Integer Linear Program (ILP) solver, which we show to be efficient in practice.
{"title":"Concurrency groups: a new way to look at real-time multiprocessor lock nesting","authors":"Catherine E. Nemitz, Tanya Amert, Manish Goyal, James H. Anderson","doi":"10.1145/3356401.3356404","DOIUrl":"https://doi.org/10.1145/3356401.3356404","url":null,"abstract":"When designing a real-time multiprocessor locking protocol, the allowance of lock nesting creates complications that can inhibit parallelism. Such protocols are typically designed by focusing on the arbitration of resource requests that should be prohibited from executing concurrently. This paper proposes “concurrency groups,” a new concept that reflects an alternative point of view that focuses instead on requests that can be allowed to execute concurrently. A concurrency group is simply a group of lock requests, determined offline, that can safely execute together. This paper’s main contribution is the CGLP, a new real-time multiprocessor locking protocol that supports lock nesting through the use of concurrency groups. The CGLP is able to reap runtime parallelism benefits that have eluded prior protocols by investing effort offline in the construction of concurrency groups. A schedulability study is presented to quantify these benefits, as well as an approach to determining such groups using an Integer Linear Program (ILP) solver, which we show to be efficient in practice.","PeriodicalId":54507,"journal":{"name":"Real-Time Systems","volume":"57 1","pages":"190-226"},"PeriodicalIF":1.3,"publicationDate":"2019-11-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1145/3356401.3356404","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"47838892","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}