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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
OpenMP: OpenMP Application Program Interface, Version 3.0 (May 2008), http://www.openmp.org/mp-documents/spec30.pdf
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)
Gustafsson, J.: Analyzing Execution-Time of Object-Oriented Programs Using Abstract Interpretation. PhD thesis, Dept. of Information Technology, Uppsala University, Sweden (May 2000)
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)
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)
Shaw, A.C.: Reasoning about time in higher-order software. IEEE Transactions on Software Engineering 15, 737–750 (1989)
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)
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)
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)
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 Session
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 Session
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)
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)
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)
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)
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
Nielson, F., Nielson, H.R., Hankin, C.: Principles of Program Analysis, 2nd edn. Springer (2005) ISBN 3-540-65410-0
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gustavsson, A., Gustafsson, J., Lisper, B. (2014). Timing Analysis of Parallel Software Using Abstract Execution. In: McMillan, K.L., Rival, X. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2014. Lecture Notes in Computer Science, vol 8318. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-54013-4_4
Download citation
DOI: https://doi.org/10.1007/978-3-642-54013-4_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-54012-7
Online ISBN: 978-3-642-54013-4
eBook Packages: Computer ScienceComputer Science (R0)