Affiliation:
1. ETH Zürich, Switzerland
2. University of Modena and Reggio Emilia, Italy
3. ETH Zürich, Switzerland and University of Bologna, Italy
Abstract
Adoption of multi- and many-core processors in real-time systems has so far been slowed down, if not totally barred, due do the difficulty in providing analytical real-time guarantees on worst-case execution times. The Predictable Execution Model (PREM) has been proposed to solve this problem, but its practical support requires significant code refactoring, a task better suited for a compilation tool chain than human programmers. Implementing a PREM compiler presents significant challenges to conform to PREM requirements, such as guaranteed upper bounds on memory footprint and the generation of efficient schedulable non-preemptive regions. This article presents a comprehensive description on how a PREM compiler can be implemented, based on several years of experience from the community. We provide accumulated insights on how to best balance conformance to real-time requirements and performance and present novel techniques that extend the applicability from simple benchmark suites to real-world applications. We show that code transformed by the PREM compiler enables timing predictable execution on modern commercial off-the-shelf hardware, providing novel insights on how PREM can protect 99.4% of memory accesses on random replacement policy caches at only 16% performance loss on benchmarks from the PolyBench benchmark suite. Finally, we show that the requirements imposed on the programming model are well-aligned with current coding guidelines for timing critical software, promoting easy adoption.
Funder
Horizon 2020 Framework Programme
Electronic Components and Systems for European Leadership
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Software
Reference41 articles.
1. Cache locking content selection algorithms for ARINC-653 compliant RTOS;Aurora Dugo Alexy Torres;ACM Trans. Embed. Comput. Syst.,2019
2. Predictable shared cache management for multi-core real-time virtualization;Kim Hyoseung;ACM Trans. Embed. Comput. Syst.,2017
3. BWLOCK: A Dynamic Memory Access Control Framework for Soft Real-Time Applications on Multicore Platforms
4. REAL: REquest arbitration in last level caches;Tiwari Sakshi;ACM Trans. Embed. Comput. Syst.,2019
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. TASP: Enabling Time-Triggered Task Scheduling in TSN-Based Mixed-Criticality Systems;2022 IEEE/ACM 30th International Symposium on Quality of Service (IWQoS);2022-06-10