Academia.eduAcademia.edu

Outline

Instruction Duration Estimation by Partial Trace Evaluation

2004, Real Time Technology and Applications Symposium

Abstract

Hard and soft real time systems require, for each process, the worst-case execution time (WCET), which is needed by the scheduler's admission tests and subsequently limits a task's execution time during operation. A worst-case execution time analysis is usually performed in two distinct steps: first the program is analyzed to extract semantic information and determine maximal bounds on the number of iterations for each basic block. In a second step the duration of the different program's instructions is computed with respect to the used hardware platform. Modern systems with preemption and modern architectures with non-constant instruction duration (due to pipelining, branch prediction and different level of caches) hinder a fast and precise computation of a program's WCET. We present a technique to approximate the instruction duration on modern processors using precise block bounds. Instead of simulating the CPU behavior on all the possible paths we apply the principle of locality limiting the effects of a given instruction to a restricted time allowing us to analyze large applications in linear time.

References (16)

  1. J. Blieberger and R. Lieger. Real-time recursive procedures. In Proceedings of the 7th EUROMICRO Workshop on Real- Time Systems, pages 229-235, Odense, Denmark, June 1995.
  2. M. Corti, R. Brega, and T. Gross. Approximation of worst- case execution time for preemptive multitasking systems. In Proc. of the ACM SIGPLAN Workshop on Languages, Com- pilers, and Tools for Embedded Systems (LCTES), Vancou- ver, Canada, June 2000.
  3. R. Cytron et al. Efficiently computing static single assign- ment form and the control dependence graph. ACM Trans. on Programming Languages and Systems, 13(4):451-490, Oc- tober 1991.
  4. C. Healy, R. Arnold, F. Mueller, D. Whalley, and M. Har- mon. Bounding pipeline and instruction cache performance. IEEE Trans. Computers, 48(1):53-70, Jan. 1999.
  5. C. Healy, M. Sjödin, V. Rustagi, and D. Whalley. Bounding loop iterations for timing analysis. In Proc. 4th Real-Time Technology and Applications Symp., pages 12-21, Denver, Colorado, June 1998.
  6. Intel Corporation. Intel Architecture Optimization, Reference Manual, 1999.
  7. JavaZOOM. Javalayer. http://www.javazoom.net/javalayer/javalayer.html.
  8. Y.-T. Li, S. Malik, and A. Wolfe. Cache modeling for real- time software: Beyond directed mapped instructions caches. In Proc. 17th IEEE Real-Time Systems Symp., pages 254- 263, Washington, D.C., Dec. 1996. IEEE.
  9. S.-S. Lim, J. Han, J. Kim, and S. Min. A worst case timing analysis technique for multiple-issue machines, Dec. 1998.
  10. T. Lundqvist. A WCET Analysis Method for Pipelined Mi- croprocessors with Cache Memories. PhD thesis, Chalmers Univ. of Technology, Göteborg, Sweden, June 2000.
  11. B. Pozo, R. Miller. Scimark2. http://math.nist.gov/scimark2/.
  12. The Standard Performance Evaluation Corporation. SPEC JVM98 Benchmarks. http://www.spec.org/osg/jvm98, 1996.
  13. H. Theiling and C. Ferdinand. Combining abstract interpre- tation and ILP for microarchitecture modelling and program path analysis. In Proc. 19th IEEE Real-Time Systems Symp., pages 144-153, Madrid, Spain, Dec. 1998. IEEE.
  14. H. Theiling, C. Ferdinand, and R. Wilhelm. Fast and pre- cise WCET prediction by separated cache and path analyses. Real-Time Systems, 18(2/3):157-179, May 2000.
  15. S. Yen, D. Du, and G. S. Efficient algorithms for extracting the k most critical paths in timing analysis. In A. Press, ed- itor, Proc of the 1989 26th ACM/IEEE Conf. on Design Au- tomation, pages 649-654, Las Vegas, NV, June 1989.
  16. N. Zhang, A. Burns, and M. Nicholson. Pipelined proces- sors and worst case execution times. Real-Time Systems, 5(4):319-343, Oct. 1993.