Pub Date : 2021-06-24DOI: 10.1007/s11241-021-09372-5
Florian Brandner, Camille Noûs
Bounding the Worst-Case Execution Time (WCET) of real-time software requires precise knowledge about the reachable program and hardware states that might be observed at runtime. The analysis of precise cache states is particularly important and challenging. Due to the high cost of cache misses the analysis precision may have an important impact on the obtainable WCET bounds, while the large state space of the cache’s history leads to high analysis complexity. This work explores the use of cache summaries in order to optimize the computation of precise cache states. These cache summaries allow us to pre-compute the impact of executing a portion of a program, typically a function, on the cache state. This allows us, for instance, to skip the analysis of entire functions (including nested function calls) when the cache states within these functions are not relevant for the classification of memory accesses into hits/misses. Furthermore, the summaries can be extended to efficiently compute fully context-sensitive cache states. The summaries then not only allow to derive typical cache hit/miss classifications, but also provide fully context-sensitive cache persistence information.
{"title":"Precise, efficient, and context-sensitive cache analysis","authors":"Florian Brandner, Camille Noûs","doi":"10.1007/s11241-021-09372-5","DOIUrl":"https://doi.org/10.1007/s11241-021-09372-5","url":null,"abstract":"<p>Bounding the <i>Worst-Case Execution Time</i> (WCET) of real-time software requires precise knowledge about the reachable program and hardware states that might be observed at runtime. The analysis of precise cache states is particularly important and challenging. Due to the high cost of cache misses the analysis precision may have an important impact on the obtainable WCET bounds, while the large state space of the cache’s history leads to high analysis complexity. This work explores the use of <i>cache summaries</i> in order to optimize the computation of <i>precise</i> cache states. These cache summaries allow us to pre-compute the impact of executing a portion of a program, typically a function, on the cache state. This allows us, for instance, to <i>skip</i> the analysis of entire functions (including nested function calls) when the cache states within these functions are not relevant for the classification of memory accesses into hits/misses. Furthermore, the summaries can be extended to efficiently compute fully context-sensitive cache states. The summaries then not only allow to derive typical cache hit/miss classifications, but also provide fully context-sensitive cache persistence information.</p>","PeriodicalId":54507,"journal":{"name":"Real-Time Systems","volume":"220 1‐2","pages":""},"PeriodicalIF":1.3,"publicationDate":"2021-06-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138496275","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 : 2021-05-27DOI: 10.1007/s11241-021-09370-7
Sanjoy Baruah
The use of integer linear programs for solving complex real-time scheduling problems is investigated. The problem of scheduling a workload represented as a directed acyclic graph (DAG) upon a dedicated multiprocessor platform is considered, in which each individual vertex of the DAG is assigned to a specific processor and the entire DAG is required to complete execution within a specified duration. A representation of this scheduling problem as a zero-one integer linear program is obtained. Some guidelines are proposed for identifying scheduling problems amenable to solution by converting to integer linear programs.
{"title":"An ILP representation of a DAG scheduling problem","authors":"Sanjoy Baruah","doi":"10.1007/s11241-021-09370-7","DOIUrl":"https://doi.org/10.1007/s11241-021-09370-7","url":null,"abstract":"<p>The use of integer linear programs for solving complex real-time scheduling problems is investigated. The problem of scheduling a workload represented as a directed acyclic graph (DAG) upon a dedicated multiprocessor platform is considered, in which each individual vertex of the DAG is assigned to a specific processor and the entire DAG is required to complete execution within a specified duration. A representation of this scheduling problem as a zero-one integer linear program is obtained. Some guidelines are proposed for identifying scheduling problems amenable to solution by converting to integer linear programs.</p>","PeriodicalId":54507,"journal":{"name":"Real-Time Systems","volume":"221 1","pages":""},"PeriodicalIF":1.3,"publicationDate":"2021-05-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138496274","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 : 2021-05-15DOI: 10.1007/s11241-021-09369-0
Antoine Bertout, Joël Goossens, Emmanuel Grolleau, Roy Jamil, Xavier Poczekajlo
Heterogeneous MPSoCs are being used more and more, from cellphones to critical embedded systems. Most of those systems offer heterogeneous sets of identical cores. In this paper, we propose new results on the global scheduling approach. We extend fundamental global scheduling results on unrelated processors to results on unrelated multicore platforms, a more realistic model. We introduce several methods to construct the workload assignment of tasks to cores taking advantage of this new model. Every studied result is optimal regarding schedulability, and all the proposed methods but one have a polynomial time complexity. Thanks to the model, the produced schedules have a limited degree of migrations. The benefits of the methods are demonstrated and compared using synthetic tasks sets. Practical limitations of the global scheduling approach on unrelated platforms are discussed, but we argue that it is still worth investigating considering modern MPSoCs.
{"title":"Workload assignment for global real-time scheduling on unrelated clustered platforms","authors":"Antoine Bertout, Joël Goossens, Emmanuel Grolleau, Roy Jamil, Xavier Poczekajlo","doi":"10.1007/s11241-021-09369-0","DOIUrl":"https://doi.org/10.1007/s11241-021-09369-0","url":null,"abstract":"<p>Heterogeneous MPSoCs are being used more and more, from cellphones to critical embedded systems. Most of those systems offer heterogeneous sets of identical cores. In this paper, we propose new results on the global scheduling approach. We extend fundamental global scheduling results on <i>unrelated processors</i> to results on <i>unrelated multicore</i> platforms, a more realistic model. We introduce several methods to construct the workload assignment of tasks to cores taking advantage of this new model. Every studied result is optimal regarding schedulability, and all the proposed methods but one have a polynomial time complexity. Thanks to the model, the produced schedules have a limited degree of migrations. The benefits of the methods are demonstrated and compared using synthetic tasks sets. Practical limitations of the global scheduling approach on unrelated platforms are discussed, but we argue that it is still worth investigating considering modern MPSoCs.</p>","PeriodicalId":54507,"journal":{"name":"Real-Time Systems","volume":"221 3","pages":""},"PeriodicalIF":1.3,"publicationDate":"2021-05-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138496273","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}
Graphics processing units (GPUs) have been the target of a significant body of recent real-time research, but research is often hampered by the “black box” nature of GPU hardware and software. Now that one GPU manufacturer, AMD, has embraced an open-source software stack, one may expect an increased amount of real-time research to use AMD GPUs. Reality, however, is more complicated. Without understanding where internal details may differ, researchers have no basis for assuming that observations made using NVIDIA GPUs will continue to hold for AMD GPUs. Additionally, the openness of AMD’s software does not mean that their scheduling behavior is obvious, especially due to sparse, scattered documentation. In this paper, we gather the disparate pieces of documentation into a single coherent source that provides an end-to-end description of how compute work is scheduled on AMD GPUs. In doing so, we start with a concrete demonstration of how incorrect management triggers extreme worst-case behavior in shared AMD GPUs. Subsequently, we explain the internal scheduling rules for AMD GPUs, how they led to the “worst practices,” and how to correctly manage some of the most performance-critical factors in AMD GPU sharing.
{"title":"Exploring AMD GPU scheduling details by experimenting with “worst practices”","authors":"Nathan Otterness, James H. Anderson","doi":"10.1145/3453417.3453432","DOIUrl":"https://doi.org/10.1145/3453417.3453432","url":null,"abstract":"Graphics processing units (GPUs) have been the target of a significant body of recent real-time research, but research is often hampered by the “black box” nature of GPU hardware and software. Now that one GPU manufacturer, AMD, has embraced an open-source software stack, one may expect an increased amount of real-time research to use AMD GPUs. Reality, however, is more complicated. Without understanding where internal details may differ, researchers have no basis for assuming that observations made using NVIDIA GPUs will continue to hold for AMD GPUs. Additionally, the openness of AMD’s software does not mean that their scheduling behavior is obvious, especially due to sparse, scattered documentation. In this paper, we gather the disparate pieces of documentation into a single coherent source that provides an end-to-end description of how compute work is scheduled on AMD GPUs. In doing so, we start with a concrete demonstration of how incorrect management triggers extreme worst-case behavior in shared AMD GPUs. Subsequently, we explain the internal scheduling rules for AMD GPUs, how they led to the “worst practices,” and how to correctly manage some of the most performance-critical factors in AMD GPU sharing.","PeriodicalId":54507,"journal":{"name":"Real-Time Systems","volume":"58 1","pages":"105 - 133"},"PeriodicalIF":1.3,"publicationDate":"2021-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1145/3453417.3453432","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49073521","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 : 2021-03-22DOI: 10.1007/s11241-021-09367-2
Lais Borin, George Lima, M. Castro, P. Plentz
{"title":"Dynamic power management under the RUN scheduling algorithm: a slack filling approach","authors":"Lais Borin, George Lima, M. Castro, P. Plentz","doi":"10.1007/s11241-021-09367-2","DOIUrl":"https://doi.org/10.1007/s11241-021-09367-2","url":null,"abstract":"","PeriodicalId":54507,"journal":{"name":"Real-Time Systems","volume":"57 1","pages":"443 - 484"},"PeriodicalIF":1.3,"publicationDate":"2021-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1007/s11241-021-09367-2","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"52629166","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 : 2021-03-01DOI: 10.1007/s11241-021-09364-5
Wei-Ju Chen, Peng Wu, Pei-Chi Huang, Aloysius K. 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, Aloysius K. Mok, Song Han","doi":"10.1007/s11241-021-09364-5","DOIUrl":"https://doi.org/10.1007/s11241-021-09364-5","url":null,"abstract":"<p>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 <i>Dynamic Partition Reconfiguration (DPR)</i> 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.</p>","PeriodicalId":54507,"journal":{"name":"Real-Time Systems","volume":"222 2","pages":""},"PeriodicalIF":1.3,"publicationDate":"2021-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138496272","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 : 2021-02-27DOI: 10.1007/s11241-021-09366-3
M. Behnam, M. Jan
{"title":"Selected papers presented at the 26th International Conference on Real-Time and Network Systems (RTNS 2018)","authors":"M. Behnam, M. Jan","doi":"10.1007/s11241-021-09366-3","DOIUrl":"https://doi.org/10.1007/s11241-021-09366-3","url":null,"abstract":"","PeriodicalId":54507,"journal":{"name":"Real-Time Systems","volume":"57 1","pages":"1 - 3"},"PeriodicalIF":1.3,"publicationDate":"2021-02-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1007/s11241-021-09366-3","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"45870148","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}