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

Read more

Summary

Introduction

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.

Preliminaries
Refined Control Flow Graphs
Modeling Synchronization and Interleavings
Concurrent Program Graphs
Generating a Concurrent Program’s Matrix
Lazy Implementation of Kronecker Algebra
WCET Analysis on RCPGs
Execution Frequencies
Synchronizing Nodes
Setting Up and Solving Dataflow Equations
Partial Loop Unrolling
Maximization Process
Example
Equations Not Affected by Partial Loop Unrolling
Execution Frequencies and Constraints
Solving the Equations
Related Work
Conclusion and Future Work
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call