Memory Utilization-Based Dynamic Bandwidth Regulation for Temporal Isolation in Multi-Cores

Temporal isolation is one of the key challenges for co-running mixed-criticality applications on Commercial Off-The-Shelf (COTS) multi-core platforms. In particular, the main memory subsystem is one of the most prominent causes of interference and loss of isolation. Existing mechanisms for memory bandwidth regulation are limited to conservative bandwidth reservation, use pessimistic worst-case execution time (WCET) estimations or require dedicated hardware that is not feasible in COTS multi-core platforms.In this paper, we propose a novel mechanism for memory interference control that uses feedback-based control to dynamically regulate memory accesses of individual cores in a multicore platform. Our mechanism directly regulates the source of interference by leveraging information about memory utilization, acquired from existing hardware performance counters provided by modern COTS-based memory controllers. The proposed solution is implemented on Linux as a loadable kernel module. The results of evaluating our approach with real and synthetic benchmarks on a COTS multi-core (NXP S32V234) platform demonstrate that it is able to provide temporal isolation with up to 4x and 2x more overall throughput for non-real-time applications compared to static and dynamic memory bandwidth-based regulation approaches, respectively, while maintaining guarantees for applications running on the real-time core.

[1]  Selma Saidi,et al.  The Road towards Predictable Automotive High - Performance Platforms , 2021, 2021 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[2]  R. Mancuso,et al.  E-WarP: A System-wide Framework for Memory Bandwidth Profiling and Management , 2020, 2020 IEEE Real-Time Systems Symposium (RTSS).

[3]  Leonardo Solis-Vasquez,et al.  DAPHNE - An automotive benchmark suite for parallel programming models on embedded heterogeneous platforms: work-in-progress , 2019, EMSOFT Companion.

[4]  Marco Caccamo,et al.  Designing Mixed Criticality Applications on Modern Heterogeneous MPSoC Platforms , 2019, ECRTS.

[5]  Heechul Yun,et al.  Denial-of-Service Attacks on Shared Cache in Multicore: Analysis and Prevention , 2019, 2019 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[6]  Mohamed Hassan,et al.  Bounding DRAM Interference in COTS Heterogeneous MPSoCs for Mixed Criticality Systems , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[7]  Sascha Uhrig,et al.  Closed Loop Controller for Multicore Real-Time Systems , 2018, ARCS.

[8]  Nicola Capodieci,et al.  Memory interference characterization between CPU cores and integrated GPUs in mixed-criticality platforms , 2017, 2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA).

[9]  Heechul Yun,et al.  Taming Non-Blocking Caches to Improve Isolation in Multicore Real-Time Systems , 2016, 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[10]  Rodolfo Pellizzoni,et al.  Memory Servers for Multicore Systems , 2016, 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[11]  Kai Lampka,et al.  Resolving Contention for Networks-on-Chips: Combining Time-Triggered Application Scheduling with Dynamic Budgeting of Memory Bus Use , 2016, MMB/DFT.

[12]  Lui Sha,et al.  Memory Bandwidth Management for Efficient Performance Isolation in Multi-Core Platforms , 2016, IEEE Transactions on Computers.

[13]  Rodolfo Pellizzoni,et al.  A Survey on Cache Management Mechanisms for Real-Time Embedded Systems , 2015, ACM Comput. Surv..

[14]  Heechul Yun,et al.  MEDUSA: A Predictable and High-Performance DRAM Controller for Multicore Based Embedded Systems , 2015, 2015 IEEE 3rd International Conference on Cyber-Physical Systems, Networks, and Applications.

[15]  Ying Ye,et al.  COLORIS: A dynamic cache partitioning system using page coloring , 2014, 2014 23rd International Conference on Parallel Architecture and Compilation (PACT).

[16]  Wang Yi,et al.  Dynamic budgeting for settling DRAM contention of co-running hard and soft real-time tasks , 2014, Proceedings of the 9th IEEE International Symposium on Industrial Embedded Systems (SIES 2014).

[17]  Björn Andersson,et al.  Bounding memory interference delay in COTS-based multi-core systems , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[18]  James H. Anderson,et al.  Outstanding Paper Award: Making Shared Caches More Predictable on Multicore Platforms , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[19]  Stefan M. Petters,et al.  Identifying the sources of unpredictability in COTS-based multicore systems , 2013, 2013 8th IEEE International Symposium on Industrial Embedded Systems (SIES).

[20]  Serge J. Belongie,et al.  SD-VBS: The San Diego Vision Benchmark Suite , 2009, 2009 IEEE International Symposium on Workload Characterization (IISWC).

[21]  Xiao Zhang,et al.  Towards practical page coloring-based multicore cache management , 2009, EuroSys '09.

[22]  Kees G. W. Goossens,et al.  Predator: A predictable SDRAM memory controller , 2007, 2007 5th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[23]  Renato Mancuso,et al.  A Memory Scheduling Infrastructure for Multi-Core Systems with Re-Programmable Logic , 2021, ECRTS.

[24]  Francisco J. Cazorla,et al.  Leveraging Hardware QoS to Control Contention in the Xilinx Zynq UltraScale+ MPSoC , 2021, ECRTS.

[25]  Alfons Crespo,et al.  Hypervisor-Based Multicore Feedback Control of Mixed-Criticality Systems , 2018, IEEE Access.

[26]  Sascha Uhrig,et al.  Contention-Aware Dynamic Memory Bandwidth Isolation with Predictability in COTS Multicores: An Avionics Case Study , 2017, ECRTS.

[27]  Paul Lokuciejewski,et al.  WCET-aware Software Based Cache Partitioning for Multi-Task Real-Time Systems , 2009, WCET.