WCET analysis for multi-core processors with shared buses and event-driven bus arbitration

Multi-core processors share common hardware resources between several processor cores. As a consequence, a program executed on one processor core may influence the execution time of the programs executed on the concurrent cores. This effect is commonly referred to as shared-resource interference. Worst-case execution time (WCET) analysis for multi-core processors has to take into account the shared-resource interference. Most existing approaches to WCET analysis for multi-core processors with shared buses and event-driven bus arbitration rely on compositionality. These approaches, however, do not support complex processor core pipelines. The existing approaches that support complex pipelines perform an exhaustive enumeration of possible interleavings of accesses to the shared bus by the different cores. Such an enumeration is infeasible in most cases. Our approach extends the state of the art in WCET analysis for single-core processors in such a way that it can deal with shared-bus interference. It does not rely on compositionality or enumeration of interleavings. Our approach calculates co-runner-insensitive WCET bounds, that are independent of the programs executed in parallel. Furthermore, it is able to improve those bounds by taking into account the bus access behavior of the concurrent cores and, thus, to calculate co-runner-sensitive WCET bounds. The implementation of our approach is evaluated for different multi-core processors. Our calculation of co-runner-insensitive WCET bounds is shown to be almost independent of the number of processor cores in terms of runtime and memory consumption. The co-runner-sensitive WCET bounds are up to 12.5% smaller than the co-runner-insensitive ones for a dual-core processor.

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

[2]  Ingmar Jendrik Stein,et al.  ILP-based path analysis on abstract pipeline state graphs , 2010 .

[3]  Peter Marwedel,et al.  Parallelism Analysis: Precise WCET Values for Complex Multi-Core Systems , 2014, FTSCS.

[4]  Xavier Rival,et al.  Trace Partitioning in Abstract Interpretation Based Static Analyzers , 2005, ESOP.

[5]  Lothar Thiele,et al.  Worst case delay analysis for memory interference in multicore systems , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[6]  Jan Reineke,et al.  Impact of resource sharing on performance and performance prediction , 2013, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[7]  Jan Reineke,et al.  Towards compositionality in execution time analysis: definition and challenges , 2015, SIGBED.

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

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

[10]  Xianfeng Li,et al.  Modeling out-of-order processors for WCET analysis , 2006, Real-Time Systems.

[11]  Reinhard Wilhelm,et al.  Cache Behavior Prediction by Abstract Interpretation , 1996, Sci. Comput. Program..

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

[13]  Lothar Thiele,et al.  Timed model checking with abstractions: towards worst-case response time analysis in resource-sharing manycore systems , 2012, EMSOFT '12.

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

[15]  Rene L. Cruz,et al.  A calculus for network delay, Part II: Network analysis , 1991, IEEE Trans. Inf. Theory.

[16]  Sharad Malik,et al.  Performance Analysis of Embedded Software Using Implicit Path Enumeration , 1995, 32nd Design Automation Conference.

[17]  Sebastian Hack,et al.  A Framework for the Derivation of WCET Analyses for Multi-core Processors , 2016, 2016 28th Euromicro Conference on Real-Time Systems (ECRTS).

[18]  MitraTulika,et al.  Modeling out-of-order processors for WCET analysis , 2006 .

[19]  Y. N. Srikant,et al.  Precise shared cache analysis using optimal interference placement , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[20]  Stephan Thesing,et al.  Safe and precise WCET determination by abstract interpretation of pipeline models , 2004 .

[21]  Lothar Thiele,et al.  Timing Analysis for Resource Access Interference on Adaptive Resource Arbiters , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.

[22]  Gerard J. M. Smit,et al.  A mathematical approach towards hardware design , 2010, Dynamically Reconfigurable Architectures.

[23]  David A. Patterson,et al.  Computer Architecture, Fifth Edition: A Quantitative Approach , 2011 .

[24]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .