Deterministic Memory Hierarchy and Virtualization for Modern Multi-Core Embedded Systems

被引:45
作者
Kloda, Tomasz [1 ]
Solieri, Marco [1 ]
Mancuso, Renato [2 ]
Capodieci, Nicola [1 ]
Valente, Paolo [1 ]
Bertogna, Marko [1 ]
机构
[1] Univ Modena & Reggio Emilia, Modena, Italy
[2] Boston Univ, Boston, MA 02215 USA
来源
25TH IEEE REAL-TIME AND EMBEDDED TECHNOLOGY AND APPLICATIONS SYMPOSIUM (RTAS 2019) | 2019年
关键词
CACHE;
D O I
10.1109/RTAS.2019.00009
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
One of the main predictability bottlenecks of modern multi-core embedded systems is contention for access to shared memory resources. Partitioning and software-driven allocation of memory resources is an effective strategy to mitigate contention in the memory hierarchy. Unfortunately, however, many of the strategies adopted so far can have unforeseen side-effects when practically implemented latest-generation, high-performance embedded platforms. Predictability is further jeopardized by cache eviction policies based on random replacement, targeting average performance instead of timing determinism. In this paper, we present a framework of software-based techniques to restore memory access determinism in high-performance embedded systems. Our approach leverages OS-transparent and DMA-friendly cache coloring, in combination with an invalidation-driven allocation (IDA) technique. The proposed method allows protecting important cache blocks from (i) external eviction by tasks concurrently executing on different cores, and (ii) internal eviction by tasks running on the same core. A working implementation obtained by extending the Jailhouse partitioning hypervisor is presented and evaluated with a combination of synthetic and real benchmarks.
引用
收藏
页码:1 / 14
页数:14
相关论文
共 45 条
[1]   Static probabilistic timing analysis for real-time systems using random replacement caches [J].
Altmeyer, Sebastian ;
Cucu-Grosjean, Liliana ;
Davis, Robert I. .
REAL-TIME SYSTEMS, 2015, 51 (01) :77-123
[2]   Evaluation of Cache Partitioning for Hard Real-Time Systems [J].
Altmeyer, Sebastian ;
Douma, Roeland ;
Lunniss, Will ;
Davis, Robert i. .
2014 26TH EUROMICRO CONFERENCE ON REAL-TIME SYSTEMS (ECRTS 2014), 2014, :15-+
[3]  
[Anonymous], 1990, P 17 ANN INT S COMP, DOI DOI 10.1109/ISCA.1990.134546
[4]  
[Anonymous], 2016, P 2016 IEEE REAL TIM, DOI DOI 10.1109/RTAS.2016.7461361
[5]   Improving the WCET computation in the presence of a lockable instruction cache in multitasking real-time systems [J].
Aparicio, Luis C. ;
Segarra, Juan ;
Rodriguez, Clemente ;
Vinals, Victor .
JOURNAL OF SYSTEMS ARCHITECTURE, 2011, 57 (07) :695-706
[6]   DENVER: NVIDIA'S FIRST 64-BIT ARM PROCESSOR [J].
Boggs, Darrell ;
Brown, Gary ;
Tuck, Nathan ;
Venkatraman, K. S. .
IEEE MICRO, 2015, 35 (02) :46-55
[7]   Making pointer-based data structures cache conscious [J].
Chilimbi, TM ;
Hill, MD ;
Larus, JR .
COMPUTER, 2000, 33 (12) :67-+
[8]  
Falk H, 2011, PROCEEDINGS OF THE PROCEEDINGS OF THE 14TH INTERNATIONAL CONFERENCE ON COMPILERS, ARCHITECTURES AND SYNTHESIS FOR EMBEDDED SYSTEMS (CASES '11), P145
[9]  
Farshchi Farzad, 2018, LEIBNIZ INT P INFORM
[10]   A Survey on Cache Management Mechanisms for Real-Time Embedded Systems [J].
Gracioli, Giovani ;
Alhammad, Ahmed ;
Mancuso, Renato ;
Froehlich, Antonio Augusto ;
Pellizzoni, Rodolfo .
ACM COMPUTING SURVEYS, 2015, 48 (02)