Multi-Core Interference Analysis Using Worst-Case Memory Access Functions
Timing analysis on multi-core platforms requires estimating an upper bound on the contention that each task may suffer from concurrently running tasks due to resource sharing. In the context of offline scheduling, static analysis can be used to derive information on the worst-case number of accesses to shared resources (WCMA, Worst-Case Memory Accesses to shared memory), from which contention among tasks can be computed. Recent studies have introduced WCMA functions, which not only characterize the worst-case number of memory accesses but also when they occur during task execution. However, these WCMA functions have not yet been used by interference analysis. This paper introduces the first interference analysis algorithm for computing contention bounds using statically extracted WCMA functions in offline time-triggered scheduling. We also propose two heuristics that adjust task start times in an existing schedule to maximize the benefits of WCMA functions. Experiments on TACLeBench code snippets show an average contention reduction of 1% to 3%, depending on the architecture, compared to state-of-the-art analyses. The proposed heuristics consistently enhance this reduction. Finally, we identify the WCMA function properties that have the greatest impact on contention.