Abstract
Worst-case execution time (WCET) analysis of multi-threaded software is still a challenge. This comes mainly from the fact that synchronization has to be taken into account. In this paper, we focus on this issue and on automatically calculating and incorporating stalling times (e.g. caused by lock contention) in a generic graph model. The idea that thread interleavings can be studied with a matrix calculus is novel in this research area. Our sparse matrix representations of the program are manipulated using an extended Kronecker algebra. The resulting graph represents multi-threaded programs similar as CFGs do for sequential programs. With this graph model, we are able to calculate the WCET of multi-threaded concurrent programs including stalling times which are due to synchronization. We employ a generating function-based approach for setting up data flow equations which are solved by well-known elimination-based dataflow analysis methods or an off-the-shelf equation solver. The WCET of multi-threaded programs can finally be calculated with a non-linear function solver.
Highlights
It is widely agreed that the problem of determining upper bounds on execution times for sequential programs has been more or less solved [1]
Worst-case execution time (WCET) analysis of shared memory concurrent programs running on a multi-core architecture
We focused on calculating stalling times automatically in an exact WCET analysis of shared memory concurrent programs running on a multi-core architecture
Summary
It is widely agreed that the problem of determining upper bounds on execution times for sequential programs has been more or less solved [1]. (2016) A Generic Graph Model for WCET Analysis of Multi-Core Concurrent Applications. WCET analysis of shared memory concurrent programs running on a multi-core architecture. It turns out that at certain synchronizing nodes, stalling times (e.g. caused by lock contention) can be formulated within dataflow equations as simple maximum operations Choosing this approach, the calculated WCET includes stalling time. Similar to [6] and [8], which provide exact WCET for sequential programs, our approach calculates an exact worst-case execution time for concurrent programs running on a multi-core CPU ( an upper bound) provided that the number of how often each loop is executed, the execution frequencies and execution times of the basic blocks ( of the semaphore operations p and v) on RCFG level are known, and hardware impact is given.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have