Skip to main content
Log in

Deadlock and WCET analysis of barrier-synchronized concurrent programs

  • Published:
Computing Aims and scope Submit manuscript

Abstract

Kronecker algebra until now has been applied to concurrent programs that use semaphores and protected objects for synchronization. Like many other programming languages, Ada uses barriers, too. In this paper, we present a new synchronization construct for barriers. By applying this, we are able to statically analyze Ada multi-tasking programs that employ barriers for synchronization issues. It turns out that we can use our existing Kronecker algebra implementation completely unmodified for concurrent program graphs using such barrier synchronization primitives. In addition, we extend a static WCET technique such that our barrier synchronization primitive is supported.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

Notes

  1. Programs using our barrier synchronization primitive from within loops or conditional statements will still require advanced techniques.

  2. These execution times do not include stalling time which is calculated automatically.

References

  1. Aiken A, Gay D (1998) Barrier inference. In: Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on principles of programming languages, POPL ’98, 19–21 January 1998, San Diego, California, USA, pp 342–354

  2. Blieberger J (2002) Data-flow frameworks for worst-case execution time analysis. Real Time Syst 22(3):183–227

    Article  MATH  Google Scholar 

  3. Blieberger J, Burgstaller B, Mittermayr R (2007) Static detection of livelocks in ada multitasking programs. In: Proceedings of the 12th international conference on reliable software technologies, vol 4498. Springer LNCS, pp 69–83

  4. Brukardt RL (ed) (2016) Annotated ada reference manual, ISO/IEC 8652:2012/Cor 1:2016

  5. Buchholz P, Kemper P (2002) Efficient computation and representation of large reachability sets for composed automata. Discret Event Dyn. Syst. 12(3):265–286

    Article  MathSciNet  MATH  Google Scholar 

  6. Burgstaller B, Blieberger J (2014) Kronecker algebra for static analysis of Ada programs with protected objects. In: Ada-Europe’ 2014 international conference on reliable software technologies, LNCS 8454, Paris, pp 27–42

  7. Burgstaller B, Scholz B, Blieberger J (2012) A symbolic analysis framework for static analysis of imperative programming languages. J Syst Softw 85(6):1418–1439

    Article  Google Scholar 

  8. Buse RPL, Weimer WR (2009) The road not taken: estimating path execution frequency statically. In: Proceedings of the 31st international conference on software engineering—ICSE 2009, Vancouver, Canada, May 16–24, 2009, pp 144–154

  9. Chattopadhyay S, Chong LK, Roychoudhury A, Kelter T, Marwedel P, Falk H (2012) A unified WCET analysis framework for multi-core platforms. In: IEEE real-time and embedded technology and applications symposium, pp 99–108

  10. Downey AB (2016) The little book of semaphores. Green Tea Press, 2nd edn, version 2.2.1

  11. Fechete R, Kienesberger G, Blieberger J (2008) A framework for CFG-based static program analysis of ada programs. In: Proceedings of Ada-Europe, Springer LNCS, pp 130–143

  12. Gerdes M, Kluge F, Ungerer T, Rochange C (2012) The split-phase synchronisation technique: reducing the pessimism in the WCET analysis of parallelised hard real-time programs. In: Proceedings of the 18th international conference RTCSA, pp 88–97

  13. González JF (2012) Java 7 concurrency cookbook. Packt Publishing Ltd., Mumbai/Birmingham

    Google Scholar 

  14. Graham RL, Knuth DE, Patashnik O (1994) Concrete mathematics: a foundation for computer science, 2nd edn. Addison-Wesley Longman Publishing Co., Inc., Boston

    MATH  Google Scholar 

  15. Hill JMD, Skillicorn DB (1998) Practical barrier synchronisation. In: 6th EuroMicro workshop on parallel and distributed processing (PDP ’98), IEEE Computer Society Press, pp 438–444

  16. Kamil A, Yelick K (2006) Concurrency analysis for parallel programs with textually aligned barriers. In: Ayguadé E, Baumgartner G, Ramanujam J, Sadayappan P (eds) Languages and compilers for parallel computing, LCPC 2005, Lecture Notes in Computer Science, vol 4339. Springer, Berlin, pp 185–199

  17. Le D-K, Chin W-N, Teo Y-M (2013) Verification of static and dynamic barrier synchronization using bounded permissions. ICFEM 2013, pp 231–248

  18. Liang Y, Ding H, Mitra T, Roychoudhury A, Li Y, Suhendra V (2012) Timing analysis of concurrent programs running on shared cache multi-cores. Real-Time Syst. 48(6):638–680

    Article  MATH  Google Scholar 

  19. Malkis A, Banerjee A (2012) Verification of software barriers. In: Proceedings of the 17th ACM SIGPLAN symposium on principles and practice of parallel programming, PPoPP ’12, New Orleans, Louisiana, USA, 25–29 February 2012, pp 313–314

  20. Mittermayr R (Aug. 2016) Kronecker algebra based analysis of shared memory concurrent systems. Dissertation, 163 pp. TU Vienna, Treitlstr 1–3, 1040 Vienna

  21. Mittermayr R, Blieberger J (2016) A generic graph model for WCET analysis of multi-core concurrent applications. J. of Softw. Eng. Appl. (JSEA), Spec Issue Parallel Concurr Comput 9(5):182–198

    Google Scholar 

  22. Mittermayr R, Blieberger J (2016) Kronecker algebra for static analysis of barriers in ada. In: Bertogna M, Pinho LM, Quinones E (eds), Proceedings of the 21th international conference on reliable software technologies, vol 9695, LNCS, pp 145–159

  23. Mittermayr R, Blieberger J, Schöbel A (2012) Kronecker algebra based deadlock analysis for railway systems. J PROMET 24(5):359–369

    Article  Google Scholar 

  24. Nélis V, Yomsi PM, Pinho LM (2015) Methodologies for the WCET analysis of parallel applications on many-core architectures. In: Proceedings of the 18th Euromicro conference on DSD, pp 748–755,

  25. Ozaktas H, Rochange C, Sainrat P (2013) Automatic WCET analysis of real-time parallel applications. In: Maiza C (ed), Proceedings of the 13th international WCET, volume 30 of OASIcs, pp 11–20

  26. Plateau B (1985) On the stochastic structure of parallelism and synchronization models for distributed algorithms. Perform Evaluation Rev 13(2):142–154

    Article  Google Scholar 

  27. Ramalingam G (1996) Data flow frequency analysis. In Fischer CN (ed), Proceedings of the ACM SIGPLAN conference on PLDI, ACM, pp 267–277

  28. Ramalingam G (2000) Context-sensitive synchronization-sensitive analysis is undecidable. ACM Trans. Program. Lang. Syst. 22(2):416–430

    Article  Google Scholar 

  29. Sreedhar VC, Gao GR, Lee Y-F (1998) A new framework for elimination-based data flow analysis using DJ graphs. ACM Trans. Prog. Lang. Syst. (TOPLAS) 20(2):388–435

    Article  Google Scholar 

  30. Stallings W (2011) Operating systems–internals and design principles, 7th edn. Prentice Hall, Upper Saddle River, New Jersey

    Google Scholar 

  31. Stefan M, Blieberger J, Schöbel A (2017) Application of Kronecker algebra in railway operation. Tehnički vjesnik—Technical Gazette (TV-TG) 24(1):21–30

  32. Tarjan RE (1972) Depth-first search and linear graph algorithms. SIAM J Comput (SICOMP) 1(2):146–160

    Article  MathSciNet  MATH  Google Scholar 

  33. 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 (2008) The worst-case execution-time problem—overview of methods and survey of tools. ACM TECS 7(3):36:1–36:53

    Google Scholar 

  34. Yan J, Zhang W (2008) WCET analysis for multi-core processors with shared L2 instruction caches. In: IEEE real-time and embedded technology and applications symposium, pp 80–89

  35. Zhang Y, Duesterwald E (2007) Barriers matching for programs with textually unaligned barriers. In: Proceedings of the 12th ACM SIGPLAN symposium on principles and practice of parallel programming, PPoPP ’07, 14–17 March 2007, San Jose, California, USA, pp 194–204

  36. Zhang Y, Duesterwald E, Gao GR (2007) Concurrency analysis for shared memory programs with textually unaligned barriers. LCPC

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Robert Mittermayr.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Mittermayr, R., Blieberger, J. Deadlock and WCET analysis of barrier-synchronized concurrent programs. Computing 103, 749–770 (2021). https://doi.org/10.1007/s00607-017-0555-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-017-0555-8

Keywords

Mathematics Subject Classification

Navigation