WCET Derivation under Single Core Equivalence with Explicit Memory Budget Assignment

In the last decade there has been a steady uptrend in the popularity of embedded multi-core platforms. This represents a turning point in the theory and implementation of real-time systems. From a real-time standpoint, however, the extensive sharing of hardware resources (e.g. caches, DRAM subsystem, I/O channels) represents a major source of unpredictability. Budget-based memory regulation (throttling) has been extensively studied to enforce a strict partitioning of the DRAM subsystem’s bandwidth. The common approach to analyze a task under memory bandwidth regulation is to consider the budget of the core where the task is executing, and assume the worst-case about the remaining cores' budgets. In this work, we propose a novel analysis strategy to derive the WCET of a task under memory bandwidth regulation that takes into account the exact distribution of memory budgets to cores. In this sense, the proposed analysis represents a generalization of approaches that consider (i) even budget distribution across cores; and (ii) uneven but unknown (except for the core under analysis) budget assignment. By exploiting the additional piece of information, we show that it is possible to derive a more accurate WCET estimation. Our evaluations highlight that the proposed technique can reduce overestimation by 30% in average, and up to 60%, compared to the state of the art.

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

[2]  Lui Sha,et al.  Real-Time Computing on Multicore Processors , 2016, Computer.

[3]  Leandro Soares Indrusiak,et al.  A generic and compositional framework for multicore response time analysis , 2015, RTNS.

[4]  Jan Reineke,et al.  Enabling Compositionality for Multicore Timing Analysis , 2016, RTNS.

[5]  Insup Lee,et al.  Periodic resource model for compositional real-time guarantees , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

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

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

[8]  Stephen A. Edwards,et al.  The Case for the Precision Timed (PRET) Machine , 2007, 2007 44th ACM/IEEE Design Automation Conference.

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

[10]  Lothar Thiele,et al.  Timing Analysis for TDMA Arbitration in Resource Sharing Systems , 2010, 2010 16th IEEE Real-Time and Embedded Technology and Applications Symposium.

[11]  Bruce Jacob,et al.  Memory Systems: Cache, DRAM, Disk , 2007 .

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

[13]  Marco Caccamo,et al.  A Reliable and Predictable Scratchpad-centric OS for Multi-core Embedded Systems , 2017, 2017 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[14]  Per Stenström,et al.  Timing anomalies in dynamically scheduled microprocessors , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

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

[16]  Raimund Kirner,et al.  Measurement-based worst-case execution time analysis , 2005, Third IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems (SEUS'05).

[17]  Giovani Gracioli,et al.  On the Influence of Shared Memory Contention in Real-Time Multicore Applications , 2014, 2014 Brazilian Symposium on Computing Systems Engineering.

[18]  Edward A. Lee,et al.  Temporal isolation on multiprocessing architectures , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[19]  Edward A. Lee,et al.  PRET DRAM controller: Bank privatization for predictability and temporal isolation , 2011, 2011 Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

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

[21]  Tulika Mitra,et al.  Modeling shared cache and bus in multi-cores for timing analysis , 2010, SCOPES.

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

[23]  Damien Hardy,et al.  Using Bypass to Tighten WCET Estimates for Multi-Core Processors with Shared Instruction Caches , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[24]  Patrick Cousot,et al.  Abstract Interpretation Based Formal Methods and Future Challenges , 2001, Informatics.

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

[26]  Peter Marwedel,et al.  Bus-Aware Multicore WCET Analysis through TDMA Offset Bounds , 2011, 2011 23rd Euromicro Conference on Real-Time Systems.

[27]  理查德·罗伊·格里森思怀特 Memory access control , 2011 .

[28]  Rodolfo Pellizzoni,et al.  A Dynamic Scratchpad Memory Unit for Predictable Real-Time Embedded Systems , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[29]  Peter Marwedel,et al.  A Unified WCET Analysis Framework for Multi-core Platforms , 2012, IEEE Real-Time and Embedded Technology and Applications Symposium.

[30]  Lui Sha,et al.  Memory Access Control in Multiprocessor for Real-Time Systems with Mixed Criticality , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[31]  Yun Liang,et al.  Timing analysis of concurrent programs running on shared cache multi-cores , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[32]  Marco Caccamo,et al.  Schedulability Analysis for Memory Bandwidth Regulated Multicore Real-Time Systems , 2016, IEEE Transactions on Computers.

[33]  Marco Caccamo,et al.  Light-PREM: Automated software refactoring for predictable execution on COTS embedded systems , 2014, 2014 IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications.

[34]  Alan Burns,et al.  Resource Sharing in Hierarchical Fixed Priority Pre-Emptive Systems , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[35]  Francisco J. Cazorla,et al.  Hardware support for WCET analysis of hard real-time multicore systems , 2009, ISCA '09.

[36]  Francisco J. Cazorla,et al.  Containing timing-related certification cost in automotive systems deploying complex hardware , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[37]  Petru Eles,et al.  Bus Access Optimization for Predictable Implementation of Real-Time Applications on Multiprocessor Systems-on-Chip , 2007, RTSS.

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