Achieving Predictable Multicore Execution of Automotive Applications Using the LET Paradigm

Next generation automotive applications require support for safe, predictable, and deterministic execution. The Logical Execution Time (LET) model has been introduced to improve the predictability and correctness of time-critical applications. The advent of multicore architectures, together with the need to ensure time predictability despite the complex memory hierarchy and the hardware resources shared by the cores, is an additional motivation for the use of the LET paradigm in conjunction with a suitable scheduling and memory access model. In this paper, we show how an implementation of the LET model on actual multicore platforms for automotive systems brings the potential to improve time determinism at the price of a modicum run-time overhead. Multiple implementation options are discussed using the automotive AUTOSAR model and operating system standard, and a realistic application defined by Bosch for the 2017 WATERS challenge. Experimental data of executions on the Infineon Aurix platform show the feasibility of the proposed approach. The paper also provides a discussion on further implementation optimizations and other issues related to the general problem of memory-aware analysis of automotive applications on multicores.

[1]  Lui Sha,et al.  MemGuard: Memory bandwidth reservation system for efficient performance isolation in multi-core platforms , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[2]  Thomas A. Henzinger,et al.  From control models to real-time code using Giotto , 2003 .

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

[4]  Carlo Rossi,et al.  Giotto a time-triggered language for embedded programming , 2011 .

[5]  Marco Caccamo,et al.  Memory-centric scheduling for multicore hard real-time systems , 2012, Real-Time Systems.

[6]  Björn Andersson,et al.  Bounding and reducing memory interference in COTS-based multi-core systems , 2016, Real-Time Systems.

[7]  Wang Yi,et al.  Graph-based models for real-time workload: a survey , 2015, Real-Time Systems.

[8]  Alexander Wieder,et al.  On Spin Locks in AUTOSAR: Blocking Analysis of FIFO, Unordered, and Priority-Ordered Spin Locks , 2013, 2013 IEEE 34th Real-Time Systems Symposium.

[9]  Stavros Tripakis,et al.  A memory-optimal buffering protocol for preservation of synchronous semantics under preemptive scheduling , 2006, EMSOFT '06.

[10]  Alessandro Biondi,et al.  Lightweight Real-Time Synchronization under P-EDF on Symmetric and Asymmetric Multiprocessors , 2016, 2016 28th Euromicro Conference on Real-Time Systems (ECRTS).

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

[12]  Sanjoy K. Baruah,et al.  Generalized Multiframe Tasks , 1999, Real-Time Systems.

[13]  Marco Caccamo,et al.  A Predictable Execution Model for COTS-Based Embedded Systems , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.

[14]  Alberto L. Sangiovanni-Vincentelli,et al.  Improving the Size of Communication Buffers in Synchronous Models With Time Constraints , 2009, IEEE Transactions on Industrial Informatics.

[15]  Leandro Soares Indrusiak,et al.  An extensible framework for multicore response time analysis , 2018, Real-Time Systems.

[16]  Haibo Zeng,et al.  Mechanisms for guaranteeing data consistency and flow preservation in AUTOSAR software on multi-core platforms , 2011, 2011 6th IEEE International Symposium on Industrial and Embedded Systems.

[17]  Lui Sha,et al.  WCET(m) Estimation in Multi-core Systems Using Single Core Equivalence , 2015, 2015 27th Euromicro Conference on Real-Time Systems.

[18]  Dakshina Dasari,et al.  Communication Centric Design in Complex Automotive Embedded Systems , 2017, ECRTS.

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