Abstract
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.
- Akesson, B., Goosens, K., and Ringhofer, M. 2007. Predator: A predictable sdram memory controller. In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS). 251--256. Google Scholar
Digital Library
- Alur, R. and Dill, D. L. 1990. Automata for modeling real-time systems. In Proceedings of the 7th International Colloquium on Automata, Languages and Programming. Lecture Notes in Computer Science, vol. 443, Springer, Berlin, 322--335. Google Scholar
Digital Library
- Arnold, R., Muller, F., Whalley, D., and Harmon, M. 1994. Bounding worst-case instruction cache performance. In Proceedings of the IEEE Real-Time Systems Symposium. 172--181.Google Scholar
- Burger, D. and Austin, T. M. 1997. The simplescalar tool set, version 2.0. SIGARCH Comput. Archit. News 25, 3, 13--25. Google Scholar
Digital Library
- Clark, E. M., Grumberg, O., and Long, D. E. 1994. Model checking and abstraction. ACM Trans. Program. Lang. Syst. 16, 5, 1512--1542. Google Scholar
Digital Library
- Clarke, E. M. and Schlingloff, B.-H. 2001. Model Checking, Handbook of Automated Reasoning. MIT Press, Cambridge, MA. Google Scholar
Digital Library
- CPLEX. 2010. Homepage of cplex. http://www.ilog.com/products/cplex.Google Scholar
- Healy, C., Whalley, D., and Harmon, M. 1995. Integrating the timing analysis of pipelining and instruction caching. In Proceedings of the IEEE Real-Time Systems Symposium. 288--297. Google Scholar
Digital Library
- Holzmann, G. 1997. The model checker spin. IEEE Trans. Softw. Eng. 23, 5, 279--295. Google Scholar
Digital Library
- Huber, B. and Schoeberl, M. 2009. Comparison of implicit path enumeration and model checking based wcet analysis. In Proceedings of the 9th International Workshop on Worst-Case Execution Time (WCET) Analysis.Google Scholar
- Li, Y. S. and Malik, S. 1995. Performance analysis of embedded software using implicit path enumeration. In Proceedings of the 32nd ACM/IEEE Design Automation Conference. 456--461. Google Scholar
Digital Library
- Li, Y. S. and Malik, S. 1996. Cache modeling and path analysis for real-time software. In Proceedings of the 17th IEEE Real-Time Systems Symposium. 254--264. Google Scholar
Digital Library
- Liu, C., Sivasubramaniam, A., and Kandemir, M. 2004. Organizing the last line of defense before hitting the memory wall for cmps. In Proceedings of the 10th International Symposium on High Performance Computer Architecture. 176--185. Google Scholar
Digital Library
- Lv, M., Gu, Z., Guan, N., Deng, Q., and Yu, G. 2008. Performance comparison of techniques on static path analysis of wcet. In Proceedings of IEEE/IFIP International Conference on Embedded and Ubiquitous Computing. 104--111. Google Scholar
Digital Library
- Metzner, A. 2004. Why model checking can improve wcet analysis. In Proceedings of the 16th International Conference on Computer Aided Verification. Lecture Notes in Computer Science, vol. 3114, Springer-Verlag, Berlin Heidelberg.Google Scholar
- Mohalik, S., Rajeev, A., Dixit, M., Ramesh, S., Suman, P., Pandya, P., and Jiang, S. 2008. Model checking based analysis of end-to-end latency in embedded, real-time systems with clock drifts. In Proceedings of the IEEE/ACM Design Automation Conference (DAC). 296--299. Google Scholar
Digital Library
- Ottosson, G. and Sjodin, M. 1997. Worst-case execution time analysis for modern hardware architectures. In Proceedings of the ACM SIGPLAN Workshop on Languages.Google Scholar
- Paolieri, M., Quiñones, E., Cazorla, F., Bernat, G., and Valero, M. 2009. Hardware support for wcet analysis of hard real-time multicore systems. In Proceedings of the 36th Annual International Symposium on Computer Architecture (ISCAS’09). 57--68. Google Scholar
Digital Library
- Pnueli, A. 1977. The temporal logic of programs. In Proceedings of the 18th Annual IEEE Symposium on Foundations of Computer Science. 46--57. Google Scholar
Digital Library
- Rosen, J., Andrei, A., Eles, P., and Peng, Z. 2007. Bus access optimization for predictable implementation of real-time applications on multiprocessor systems-on-chip. In Proceedings of the 28th IEEE International Real-Time Systems Symposium (RTSS). 49--60. Google Scholar
Digital Library
- Schliecker, S., Negrean, M., Nicolescu, G., Paulin, P., and Ernst, R. 2008. Reliable performance analysis of a multicore multithreaded system-on-chip. In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS). 161--166. Google Scholar
Digital Library
- SPIN 2010. Homepage of spin. http://spinroot.com/spin/whatispin.html.Google Scholar
- Stappert, F., Ermedahl, A., and Engblom, J. 2001. Efficient longest executable path search for programs with complex flows and pipeline effects. In Proceedings of the International Conference on Compilers, Architecture, and Synthesis for Embedded Systems. 132--140. Google Scholar
Digital Library
- Stohr, J., Bulow, A., and Farber, G. 2005. Bounding worst-case access times in modern multiprocessor systems. In Proceedings of the 17th Euromicro Conference on Real-Time Systems (ECRTS’05). 189--198. Google Scholar
Digital Library
- Trimaran. 2010. Homepage of trimaran. http://www.trimaran.org/.Google Scholar
- Wang, F. 2004. Formal verification of timed systems: A survey and perspective. Proc. IEEE 92, 8, 1283--1305.Google Scholar
Cross Ref
- Wilhelm, R. 2003. Why ai+ilp is good for wcet, but mc is not, nor ilp alone. In Verification, Model Checking and Abstract Interpretation (YMCAI). Lecture Notes in Computer Science, vol. 2937, Springer, Berlin.Google Scholar
- Wilhelm, R., Engblom, J., Ermedahl, A., Holsti, N., Thesing, S., Whalley, D., Bernat G., Ferdinand, C., Heckman, R., Mitra, T., Mueller, F., Puaut, I., Puschner, P., Staschulat, J., and Stenstrom, P. 2008. The worst case execution time problem---Overview of methods and survey of tools. ACM Trans. Embed. Comput. Syst. 7, 36. Google Scholar
Digital Library
- Yan, J. and Zhang, W. 2008. Wcet analysis for multicore processors with shared instruction caches. In Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS). 80--89. Google Scholar
Digital Library
- Yan, J. and Zhang, W. 2009. Accurately estimating worst-case inter-thread cache interferences and wcet for multicore processors. In Proceedings of the IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA). 455--463. Google Scholar
Digital Library
Index Terms
A Model Checking Based Approach to Bounding Worst-Case Execution Time for Multicore Processors
Recommendations
Multicore-Aware Code Positioning to Improve Worst-Case Performance
ISORC '11: Proceedings of the 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed ComputingInter-thread interferences in shared caches can significantly affect the worst-case execution time (WCET) of real-time tasks running on multi-core chips. In this paper, we study three multicore-aware code positioning methods to reduce the inter-core L2 ...
Multicore-aware hybrid code positioning to reduce worst-case execution time
INTERACT-14: Proceedings of the 2010 Workshop on Interaction between Compilers and Computer ArchitectureUnlike general-purpose programs, it is important to reduce the worst-case performance rather than the average-case performance for real-time systems. In this paper, based on a dual-core processor with a shared L2 cache, we propose a code positioning ...
Compile-time decided instruction cache locking using worst-case execution paths
CODES+ISSS '07: Proceedings of the 5th IEEE/ACM international conference on Hardware/software codesign and system synthesisCaches are notorious for their unpredictability. It is difficult or even impossible to predict if a memory access results in a definite cache hit or miss. This unpredictability is highly undesired for real-time systems. The Worst-Case Execution Time (...






Comments