Timing Analysis of Concurrent Programs Running on Shared Cache Multi-Cores
- 1 December 2009
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 10528725,p. 57-67
- https://doi.org/10.1109/rtss.2009.32
Abstract
Memory accesses form an important source of timing unpredictability. Timing analysis of real-time embedded software thus requires bounding the time for memory accesses. Multiprocessing, a popular approach for performance enhancement, opens up the opportunity for concurrent execution. However due to contention for any shared memory by different processing cores, memory access behavior becomes more unpredictable, and hence harder to analyze. In this paper, we develop a timing analysis method for concurrent software running on multi-cores with a shared instruction cache. Communication across tasks is by message passing where the message mailboxes are accessed via interrupt service routines. We do not handle data cache, shared memory synchronization and code sharing across tasks. Our method progressively improves the lifetime estimates of tasks that execute concurrently on multiple cores, in order to estimate potential conflicts in the shared cache. Possible conflicts arising from overlapping task lifetimes are accounted for in the hit-miss classification of accesses to the shared cache, to provide safe execution time bounds. We show that our method produces lower worst-case response time (WCRT) estimates than existing shared-cache analysis on a real-world embedded application.Keywords
This publication has 19 references indexed in Scilit:
- Reliable performance analysis of a multicore multithreaded system-on-chipPublished by Association for Computing Machinery (ACM) ,2008
- WCET Analysis for Multi-Core Processors with Shared L2 Instruction CachesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2008
- Chronos: A timing analyzer for embedded softwareScience of Computer Programming, 2007
- Efficient detection and exploitation of infeasible paths for software timing analysisPublished by Association for Computing Machinery (ACM) ,2006
- Multiple process execution in cache related preemption delay analysisPublished by Association for Computing Machinery (ACM) ,2004
- Cache modeling for real-time software: beyond direct mapped instruction cachesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Program path analysis to bound cache-related preemption delay in preemptive real-time systemsPublished by Association for Computing Machinery (ACM) ,2000
- Timing Analysis for Instruction CachesReal-Time Systems, 2000
- Fast and Precise WCET Prediction by Separated Cache and Path AnalysesReal-Time Systems, 2000
- An Integrated Path and Timing Analysis Method based on Cycle-Level Symbolic ExecutionReal-Time Systems, 1999