worst-case execution time analysis on modern processors
Many of the trends that have dominated recent evolution and advancement within the computer architecture community have complicated the analysis of task execution times. Most of the difficulties result from two particular emphases: (1) Instruction-level parallelism, and (2) Optimization of average-case behavior rather than worst-case latencies. Both of these trends have resulted in increased nondeterminism in the time required to execute particular code sequences. And since the analysis required to determine worst-case task execution times on modern processors is so complicated, it is not practical for programmers to perform all of the necessary analyses by hand. Tools must aid them. This paper describes ongoing research on a collection of tools intended to automate the analyses that must be performed in order to build reliable real-time software for modern computing environments. Emphasis is given to the interplay between components of the development environment.
worst-case execution time timing analysis processor evolution computation architecture communities task instruction-level parallelism optimality behavior nondeterminism code sequence practical programmer tools paper research collect automation order reliability real-time software environments component development environment case