A Model Checking Based Approach to Bounding Worst-Case Execution Time for Multicore Processors

As multicore processors are increasingly adopted in industry, it has become a great challenge to accurately bound the worst-case execution time (WCET) for real-time systems running on multicore chips. This is particularly true because of the inter-thread interferences in accessing shared resources on multicores, such as shared L2 caches, which can significantly affect the performance but are very difficult to be estimated statically. This article proposes an approach to analyzing WCET for multicore processors with shared L2 instruction caches by using a model checking based method. We model each concurrent real-time thread, including the inter-thread cache interferences with a PROMELA process, and derive the WCET by using a binary search algorithm. To reduce the state explosion problem, we propose several techniques for reducing the memory consumption by exploiting domain-specific information. Our experiments indicate that compared to the static analysis technique based on extended ILP (integer linear programming), our approach improves the tightness of WCET estimation by more than 31.1% for the benchmarks we studied. However, due to the inherent complexity of multicore timing analysis and the state explosion problem, the model checking based approach currently can only work with small real-time kernels for dual-core processors.

[1]  Reinhard Wilhelm,et al.  Why AI + ILP Is Good for WCET, but MC Is Not, Nor ILP Alone , 2004, VMCAI.

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

[3]  Wei Zhang,et al.  Accurately Estimating Worst-Case Execution Time for Multi-core Processors with Shared Direct-Mapped Instruction Caches , 2009, 2009 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[4]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[5]  Shengbing Jiang,et al.  Model checking based analysis of end-to-end latency in embedded, real-time systems with clock drifts , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[6]  Benedikt Huber,et al.  Comparison of Implicit Path Enumeration and Model Checking Based WCET Analysis , 2009, WCET.

[7]  Jakob Engblom,et al.  Efficient longest executable path search for programs with complex flows and pipeline effects , 2001, CASES '01.

[8]  Rolf Ernst,et al.  Reliable performance analysis of a multicore multithreaded system-on-chip , 2008, CODES+ISSS '08.

[9]  Greger Ottosson,et al.  Worst-case execution time analysis for modern hardware architectures , 1997 .

[10]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[11]  Georg Färber,et al.  Bounding worst-case access times in modern multiprocessor systems , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[12]  Sharad Malik,et al.  Cache modeling and path analysis for real-time software , 1996 .

[13]  Howard Falk,et al.  Formal Verification of Timed Systems: A Survey and Perspective , 2004, Proc. IEEE.

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

[15]  Todd M. Austin,et al.  The SimpleScalar tool set, version 2.0 , 1997, CARN.

[16]  Petru Eles,et al.  Bus Access Optimization for Predictable Implementation of Real-Time Applications on Multiprocessor Systems-on-Chip , 2007, 28th IEEE International Real-Time Systems Symposium (RTSS 2007).

[17]  Wei Zhang,et al.  WCET Analysis for Multi-Core Processors with Shared L2 Instruction Caches , 2008, 2008 IEEE Real-Time and Embedded Technology and Applications Symposium.

[18]  Mahmut T. Kandemir,et al.  Organizing the last line of defense before hitting the memory wall for CMPs , 2004, 10th International Symposium on High Performance Computer Architecture (HPCA'04).

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

[20]  Edmund M. Clarke,et al.  Model checking and abstraction , 1994, TOPL.

[21]  Sharad Malik,et al.  Cache modeling for real-time software: beyond direct mapped instruction caches , 1996, 17th IEEE Real-Time Systems Symposium.

[22]  ZhangWei,et al.  A Model Checking Based Approach to Bounding Worst-Case Execution Time for Multicore Processors , 2012 .

[23]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[24]  David B. Whalley,et al.  Integrating the timing analysis of pipelining and instruction caching , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[25]  Alexander Metzner,et al.  Why Model Checking Can Improve WCET Analysis , 2004, CAV.

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

[27]  David B. Whalley,et al.  Bounding worst-case instruction cache performance , 1994, 1994 Proceedings Real-Time Systems Symposium.

[28]  Ge Yu,et al.  Performance Comparison of Techniques on Static Path Analysis of WCET , 2008, 2008 IEEE/IFIP International Conference on Embedded and Ubiquitous Computing.

[29]  Andrei Voronkov,et al.  Handbook of Automated Reasoning: Volume 1 , 2001 .