Advertisement

Timing Analysis of Parallel Software Using Abstract Execution

  • Andreas Gustavsson
  • Jan Gustafsson
  • Björn Lisper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8318)

Abstract

A major trend in computer architecture is multi-core processors. To fully exploit this type of parallel processor chip, programs running on it will have to be parallel as well. This means that even hard real-time embedded systems will be parallel. Therefore, it is of utmost importance that methods to analyze the timing properties of parallel real-time systems are developed.

This paper presents an algorithm that is founded on abstract interpretation and derives safe approximations of the execution times of parallel programs. The algorithm is formulated and proven correct for a simple parallel language with parallel threads, shared memory and synchronization via locks.

Keywords

WCET Parallelism Multi-core Abstract interpretation Abstract execution 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    OpenMP: OpenMP Application Program Interface, Version 3.0 (May 2008), http://www.openmp.org/mp-documents/spec30.pdf
  2. 2.
    Wilhelm, R., Engblom, J., Ermedahl, A., Holsti, N., Thesing, S., Whalley, D., Bernat, G., Ferdinand, C., Heckmann, R., Mitra, T., Mueller, F., Puaut, I., Puschner, P., Staschulat, J., Stenström, P.: The worst-case execution time problem — overview of methods and survey of tools. ACM Transactions on Embedded Computing Systems (TECS) 7(3), 1–53 (2008)CrossRefGoogle Scholar
  3. 3.
    Gustafsson, J.: Analyzing Execution-Time of Object-Oriented Programs Using Abstract Interpretation. PhD thesis, Dept. of Information Technology, Uppsala University, Sweden (May 2000)Google Scholar
  4. 4.
    Gustafsson, J., Ermedahl, A., Sandberg, C., Lisper, B.: Automatic derivation of loop bounds and infeasible paths for WCET analysis using abstract execution. In: Proc. 27th IEEE Real-Time Systems Symposium (RTSS 2006), Rio de Janeiro, Brazil, pp. 57–66. IEEE Computer Society (December 2006)Google Scholar
  5. 5.
    Ermedahl, A., Gustafsson, J., Lisper, B.: Deriving WCET bounds by abstract execution. In: Healy, C. (ed.) Proc. 11th International Workshop on Worst-Case Execution Time Analysis (WCET 2011), Porto, Portugal (July 2011)Google Scholar
  6. 6.
    Shaw, A.C.: Reasoning about time in higher-order software. IEEE Transactions on Software Engineering 15, 737–750 (1989)CrossRefGoogle Scholar
  7. 7.
    Huber, B., Schoeberl, M.: Comparison of implicit path enumeration and model checking based WCET analysis. In: Proc. 9th International Workshop on Worst-Case Execution Time Analysis, WCET 2009 (2009)Google Scholar
  8. 8.
    Metzner, A.: Why model checking can improve WCET analysis. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 334–347. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  9. 9.
    Gustavsson, A., Ermedahl, A., Lisper, B., Pettersson, P.: Towards WCET analysis of multicore architectures using UPPAAL. In: Lisper, B. (ed.) Proc. 10th International Workshop on Worst-Case Execution Time Analysis (WCET 2010), Brussels, Belgium, OCG, pp. 103–113 (July 2010)Google Scholar
  10. 10.
    Lv, M., Guan, N., Yi, W., Deng, Q., Yu, G.: Efficient instruction cache analysis with model checking. In: Proc. 16th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2010), pp. 33–36 (2010); Work-in-Progress SessionGoogle Scholar
  11. 11.
    Wu, L., Zhang, W.: Bounding worst-case execution time for multicore processors through model checking. In: Proc. 16th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2010), pp. 17–20 (April 2010); Work-in-Progress SessionGoogle Scholar
  12. 12.
    Gustavsson, A., Gustafsson, J., Lisper, B.: Toward static timing analysis of parallel software. In: Vardanega, T. (ed.) Proc. 12th International Workshop on Worst-Case Execution Time Analysis (WCET 2012). OpenAccess Series in Informatics (OASIcs), vol. 23, pp. 38–47 (July 2012)Google Scholar
  13. 13.
    Mittermayr, R., Blieberger, J.: Timing analysis of concurrent programs. In: Proc. 12th International Workshop on Worst-Case Execution Time Analysis (WCET 2012), pp. 59–68 (2012)Google Scholar
  14. 14.
    Potop-Butucaru, D., Puaut, I.: Integrated Worst-Case Execution Time Estimation of Multicore Applications. In: Proc. 13th International Workshop on Worst-Case Execution Time Analysis (WCET 2013), Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik (2013)Google Scholar
  15. 15.
    Ozaktas, H., Rochange, C., Sainrat, P.: Automatic WCET Analysis of Real-Time Parallel Applications. In: Proc. 13th International Workshop on Worst-Case Execution Time Analysis (WCET 2013), Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik (2013)Google Scholar
  16. 16.
    Gustavsson, A.: Static Timing Analysis of Parallel Software Using Abstract Execution. Licentiate thesis, Mälardalen University (2014), http://www.es.mdh.se/publications/3025-Static_Timing_Analysis_of_Parallel_Software_Using_Abstract_Execution
  17. 17.
    Nielson, F., Nielson, H.R., Hankin, C.: Principles of Program Analysis, 2nd edn. Springer (2005) ISBN 3-540-65410-0Google Scholar
  18. 18.
    Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proc. 4th ACM Symposium on Principles of Programming Languages, Los Angeles, pp. 238–252 (January 1977)Google Scholar
  19. 19.
    Gustafsson, J., Ermedahl, A.: Merging techniques for faster derivation of WCET flow information using abstract execution. In: Kirner, R. (ed.) Proc. 8th International Workshop on Worst-Case Execution Time Analysis (WCET 2008), Prague, Czech Republic (July 2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Andreas Gustavsson
    • 1
  • Jan Gustafsson
    • 1
  • Björn Lisper
    • 1
  1. 1.Mälardalen UniversityVästeråsSweden

Personalised recommendations