Tech Report: A Virtualized Scratchpad-Based Architecture for Real-time Event-Triggered Applications

Systems-on-a-Chip (SoC) devices integrating hard processing cores with programmable logic (PL) are becoming increasingly available. While these platforms have been originally designed for high performance computing applications, their rich feature set can be exploited to efficiently implement mixed criticality domains serving both critical hard real-time tasks, as well as soft real-time tasks. In this paper, we take a deep look at COTS-based heterogeneous SoCs that incorporates PL and a multicore processor. We show how one can tailor these processors to support a mixed/full criticality system, where cores are strictly isolated to avoid contention on shared resources such as Last-Level Cache (LLC) and main memory. In order to avoid conflicts in LLC, we propose the use of cache coloring, implemented in the Jailhouse hypervisor. In addition, we employ ScratchPad Memory (SPM) inside the PL to support a multi-phase execution model for realtime tasks that avoids conflicts in shared memory. We provide a full-stack, working implementation on a latest-generation SoC platform, and show results based on both a set of data intensive tasks, as well as a complete case study based on an anomaly detection application for an autonomous vehicle.

[1]  Ingrid Verbauwhede,et al.  On the Feasibility of Cryptography for a Wireless Insulin Pump System , 2016, CODASPY.

[2]  Nikil D. Dutt,et al.  CHIPS-AHOy: a predictable holistic cyber-physical hypervisor for MPSoCs , 2018, SAMOS.

[3]  James H. Anderson,et al.  Attacking the one-out-of-m multicore problem by combining hardware management with mixed-criticality provisioning , 2016, 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[4]  Insup Lee,et al.  vCAT: Dynamic Cache Management Using CAT Virtualization , 2017, 2017 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[5]  Nathalie Japkowicz,et al.  Anomaly Detection in Automobile Control Network Data with Long Short-Term Memory Networks , 2016, 2016 IEEE International Conference on Data Science and Advanced Analytics (DSAA).

[6]  Giovani Gracioli,et al.  Two-phase colour-aware multicore real-time scheduler , 2017, IET Comput. Digit. Tech..

[7]  Marco Caccamo,et al.  Real-time cache management framework for multi-core architectures , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[8]  Roman L. Lysecky,et al.  Time and Sequence Integrated Runtime Anomaly Detection for Embedded Systems , 2018, ACM Trans. Embed. Comput. Syst..

[9]  Klaus Havelund,et al.  nfer - A Notation and System for Inferring Event Stream Abstractions , 2016, RV.

[10]  Ragunathan Rajkumar,et al.  A Coordinated Approach for Practical OS-Level Cache Management in Multi-core Real-Time Systems , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[11]  Björn Andersson,et al.  Coordinated Bank and Cache Coloring for Temporal Protection of Memory Accesses , 2013, 2013 IEEE 16th International Conference on Computational Science and Engineering.

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

[13]  Rolf Ernst,et al.  System level performance analysis - the SymTA/S approach , 2005 .

[14]  Hyoseung Kim,et al.  Predictable Shared Cache Management for Multi-Core Real-Time Virtualization , 2017, ACM Trans. Embed. Comput. Syst..

[15]  Jingyi Zhang,et al.  MARACAS: A Real-Time Multicore VCPU Scheduling Framework , 2016, 2016 IEEE Real-Time Systems Symposium (RTSS).

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

[17]  Giuseppe Lipari,et al.  Architecture for a Portable Open Source Real-Time Kernel Environment , 2000 .

[18]  Charlie McCarthy,et al.  Characterization of Potential Security Threats in Modern Automobiles: A Composite Modeling Approach , 2014 .

[19]  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).

[20]  Rodolfo Pellizzoni,et al.  PALLOC: DRAM bank-aware memory allocator for performance isolation on multicore platforms , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[21]  Marcel Verhoef,et al.  System architecture evaluation using modular performance analysis: a case study , 2006, International Journal on Software Tools for Technology Transfer.

[22]  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.

[23]  Marco Caccamo,et al.  A Real-Time Scratchpad-Centric OS for Multi-Core Embedded Systems , 2016, 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[24]  Giorgio Buttazzo,et al.  Supporting temporal and spatial isolation in a hypervisor for ARM multicore platforms , 2018, 2018 IEEE International Conference on Industrial Technology (ICIT).

[25]  M. Watheq El-Kharashi,et al.  Embedded Hypervisor Xvisor: A Comparative Analysis , 2015, 2015 23rd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing.

[26]  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).

[27]  Rodolfo Pellizzoni,et al.  Hiding memory latency using fixed priority scheduling , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[28]  Wolfgang Mauerer,et al.  Look Mum, no VM Exits! (Almost) , 2017, ArXiv.

[29]  S. Fischmeister,et al.  A Comparison of Data Streaming Frameworks for Anomaly Detection in Embedded Systems , 2018 .