RPR: a random replacement policy with limited pathological replacements

Measurement-Based Probabilistic Timing Analysis (MBPTA) has consolidated as a technique to estimate probabilistic Worst-Case Execution Times (WCET) for critical software running on processors with high-performance hardware such as multilevel caches. Conventional random replacement (CRR) is the most suitable replacement policy for MBPTA due to its probabilistic nature: replacement choices are random and independent. CRR makes pathological replacement patterns probabilistic rather than systematic, though they can still occur. This paper proposes a new replacement policy, RPR, that keeps MBPTA compatibility and prevents CRR's pathological replacements in which addresses mapped to different cache lines randomly evict each other despite some lines in the same cache set are available. In particular, RPR maintains a higher degree of temporal locality than CRR. Our evaluation on a performance simulator (validated against a real industrial prototype) using the Mälardalen benchmarks and a railway case study shows that RPR delivers both high average performance (within 1% of LRU's performance) and tight WCET estimates 16% and 24% (for the case study and Mälardalen respectively) lower than those of CRR.

[1]  Laszlo A. Belady,et al.  A Study of Replacement Algorithms for Virtual-Storage Computer , 1966, IBM Syst. J..

[2]  Francisco J. Cazorla,et al.  Bus designs for time-probabilistic multicore processors , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[3]  J. Spencer Love,et al.  Caching strategies to improve disk system performance , 1994, Computer.

[4]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[5]  Francisco J. Cazorla,et al.  A cache design for probabilistically analysable real-time systems , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[6]  S. Nadarajah,et al.  Extreme Value Distributions: Theory and Applications , 2000 .

[7]  Tullio Vardanega,et al.  Heart of Gold: Making the Improbable Happen to Increase Confidence in MBPTA , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[8]  Liliana Cucu-Grosjean,et al.  Timing analysis of an avionics case study on complex hardware/software platforms , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[9]  Tullio Vardanega,et al.  A rapid cache-aware procedure positioning optimization to favor incremental development , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[10]  Francisco J. Cazorla,et al.  Probabilistic timing analysis on conventional cache designs , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[11]  Francisco J. Cazorla,et al.  Measurement-Based Worst-Case Execution Time Estimation Using the Coefficient of Variation , 2017, ACM Trans. Design Autom. Electr. Syst..

[12]  Irune Agirre,et al.  IEC-61508 SIL 3 Compliant Pseudo-Random Number Generators for Probabilistic Timing Analysis , 2015, 2015 Euromicro Conference on Digital System Design.

[13]  Liliana Cucu-Grosjean,et al.  Measurement-based probabilistic timing analysis: Lessons from an integrated-modular avionics case study , 2013, 2013 8th IEEE International Symposium on Industrial Embedded Systems (SIES).

[14]  Aamer Jaleel,et al.  High performance cache replacement using re-reference interval prediction (RRIP) , 2010, ISCA.

[15]  Francisco J. Cazorla,et al.  Random Modulo: A new processor cache design for real-time critical systems , 2016, 2016 53nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[16]  Tullio Vardanega,et al.  Supporting industrial use of probabilistic timing analysis with explicit argumentation , 2013, 2013 11th IEEE International Conference on Industrial Informatics (INDIN).

[17]  Ganesh Lakshminarayana,et al.  LOTTERYBUS: a new high-performance communication architecture for system-on-chip designs , 2001, DAC '01.

[18]  Mainak Chaudhuri,et al.  Pseudo-LIFO: The foundation of a new family of replacement policies for last-level caches , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[19]  Aamer Jaleel,et al.  Adaptive insertion policies for high performance caching , 2007, ISCA '07.

[20]  Francisco J. Cazorla,et al.  TASA: Toolchain-Agnostic Static Software randomisation for critical real-time systems , 2016, 2016 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[21]  Jan Gustafsson,et al.  The Mälardalen WCET Benchmarks: Past, Present And Future , 2010, WCET.

[22]  Tullio Vardanega,et al.  Measurement-Based Timing Analysis of the AURIX Caches , 2016, WCET.

[23]  Peter Alfke,et al.  Efficient Shift Registers, LFSR Counters, and Long Pseudo Random Sequence Generators , 1995 .

[24]  Francisco J. Cazorla,et al.  Probabilistic timing analysis on time-randomized platforms for the space domain , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[25]  Liliana Cucu-Grosjean,et al.  Measurement-Based Probabilistic Timing Analysis for Multi-path Programs , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[26]  Mikel Azkarate-askasua,et al.  WCET analysis methods: Pitfalls and challenges on their trustworthiness , 2015, 10th IEEE International Symposium on Industrial Embedded Systems (SIES).

[27]  Luca Fossati,et al.  Validating a timing simulator for the NGMP multicore processor , 2016 .