An accurate and efficient simulation-based analysis for worst case interruption delay

This paper proposes an efficient method to analyze worst case interruption delay (WCID) of a workload running on modern microprocessors using a cycle accurate simulator (CAS). Our method is highly accurate because it simulates all possible cases inserting an interruption just before the retirement of every instruction executed in a workload. It is also (reasonably) efficient because it takes O(N log N) time for a workload with N executed instructions, instead of O(N2) of a straightforward iterative simulation of interrupted executions. The key idea for the efficiency is that a pair of executions with different interruption points has a set of durations in which they behave exactly coherent and thus one of simulations for the durations may be omitted. We implemented this method modifying the SimpleScalar tool set to prove it finds out WCID of workloads with five million executed instructions in reasonable time, less than 30 minutes, which would be 200-300 days by the straightforward method. We also show a parallelization of our method achieves a good speedup, about 7-fold with 8-node PC cluster.

[1]  Jakob Engblom,et al.  Pipeline timing analysis using a trace-driven simulator , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[2]  Alan Burns,et al.  Guest Editorial: A Review of Worst-Case Execution-Time Analysis , 2000, Real-Time Systems.

[3]  Yudong Tan,et al.  Integrated Intra- and Inter-task Cache Analysis for Preemptive Multi-tasking Real-Time Systems , 2004, SCOPES.

[4]  S. McFarling Combining Branch Predictors , 1993 .

[5]  Sang Lyul Min,et al.  Analysis of cache-related preemption delay in fixed-priority preemptive scheduling , 1998, 17th IEEE Real-Time Systems Symposium.

[6]  Todd M. Austin,et al.  SimpleScalar: An Infrastructure for Computer System Modeling , 2002, Computer.

[7]  James E. Smith,et al.  A study of branch prediction strategies , 1981, ISCA '98.

[8]  Tulika Mitra,et al.  Accurate estimation of cache-related preemption delay , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[9]  Alexandre Yakovlev,et al.  WCET Analysis of Superscalar Processors Using Simulation With Coloured Petri Nets , 2000, Real-Time Systems.

[10]  Hiroshi Nakashima,et al.  An efficient search algorithm of worst-case cache flush timings , 2005, 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'05).

[11]  Alan Burns,et al.  Effective Analysis for Engineering Real-Time Fixed Priority Schedulers , 1995, IEEE Trans. Software Eng..

[12]  Joseph T. Rahmeh,et al.  Improving the accuracy of dynamic branch prediction using branch correlation , 1992, ASPLOS V.

[13]  Yudong Tan,et al.  Timing analysis for preemptive multi-tasking real-time systems with caches , 2004 .