Implications of Program Phase Behavior on Timing Analysis
2011 15th Workshop on Interaction between Compilers and Computer Architectures
Knowledge about program worst case execution time(WCET) is essential in validating real-time systems and helps in effective scheduling. One popular approach used in industry is to measure program components on the target architecture and combine them using static analysis of the program. Measurements involve instrumentation and need to be least intrusive so that the accuracy of estimated WCET is not affected. Several programs exhibit phase behavior, wherein program dynamic execution is observed
... to be composed of phases. Each phase being distinct from the other, exhibit homogeneous behavior with respect to cycles per instruction(CPI), data cache misses etc. In this paper, we show that phase behavior has important implications on timing analysis. We make use of the homogeneity of a phase to reduce instrumentation overhead at the same time ensuring that accuracy is not largely affected. We propose a model for estimating WCET using static worst case instruction counts of individual phases and a function of measured average CPI of each phase. We describe a WCET analyzer built on this model which targets two different architectures and is evaluated against Chronos, a well known static WCET analyzer. Compared to Chronos, the proposed method provides estimates that are tighter by 13% for an architecture containing only an L1 instruction cache and tighter by 196% for an architecture containing L1 instruction and data cache and an unified L2 cache.