Skip to main content
Log in

A formal approach to the WCRT analysis of multicore systems with memory contention under phase-structured task sets

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

Multicore technology has the potential for drastically increasing productivity of embedded real-time computing. However, joint use of hardware, e.g., caches, memory banks and on-chip buses makes the integration of multiple real-time applications into a single system difficult: resource accesses are exclusive and need to be sequenced. Moreover, resource access schemes of modern off-the-shelf multicore chips are commonly optimized for the average-case, rather than being timing predictable. Real-time analysis for such architectures is complex, as execution times depend on the deployed hardware, as well as on the software executing on other cores. This will ask for significant abstractions in the timing analysis, where the resulting pessimism will lead to over-provisioned system designs and a lowered productivity as the number of applications to be put together into a single architecture needs to be decreased. In response to this, (a) we present a formal approach for bounding the worst-case response time of concurrently executing real-time tasks under resource contention and almost arbitrarily complex resource arbitration policies, with a focus on main memory as shared resource, (b) we present a simulation framework which allows for detailed modeling and empirical evaluation of modern multicore platforms and applications running on top of them, and (c) we present experiments to demonstrate the advantages and disadvantages of the presented methodologies and compare their accuracy. For limiting non-determinism inherent to the occurrence of cache misses, we particularly take advantage from the predictable execution model as discussed in recent works.

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.

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

Similar content being viewed by others

Notes

  1. In Pellizzoni et al. (2011), the term predictable interval is used with the same meaning as superblock.

  2. Provided that the system is schedulable, i.e., execution of a superblock sequence always finishes within the current processing cycle.

  3. Instead of a single staircase curve, \(\alpha ^{st}\) can also be composed from sets of staircase curves put together via nested maximum and minimum operations (Lampka et al. 2010; Perathoner et al. 2011). This allows to model more complex curves, however, substantially adds to the complexity of the model checking problem to be solved when determining the WCRT of the CUA.

  4. Case studies with FlexRay are omitted here for brevity, but can be found in Giannopoulou et al. (2012).

  5. The authors of Lundqvist and Stenstrom (1999) propose a method which avoids timing anomalies due to out-of-order (micro)-instruction execution. It is empirical shown that such efforts might not utterly compromise the performance of the original software.

  6. E.g. the dynamic programming approach of Pellizzoni et al. (2010) is tailored to Round-Robin based resource access schemes. Schranzhofer et al. (2010) exploits static time division to soundly over-approximate Round Robin based resource arbitration.

References

  • AbsInt Angewandte Informatik (1998) http://www.absint.com/

  • Altisen K, Moy M (2010) ac2lus: bringing SMT-solving and abstract interpretation techniques to real-time calculus through the synchronous language Lustre. In: 22nd Euromicro conference on real-time systems (ECRTS), Brussels, Belgium

  • Alur R, Dill DL (1990) Automata for modeling real-time systems. In: Paterson M (ed) Proceedings of the 17th international colloquium on automata, languages and programming (ICALP’90), vol 443 of LNCS. Springer, New York, pp 322–335

  • Aubry P, Beaucamps P-E, Blanc F, Bodin B, Carpov S, Cudennec L, David V, Dore P, Dubrulle P, de Dinechin BD, Galea F, Goubier T, Harrand M, Jones S, Lesage J-D, Louise S, Chaisemartin NM, Nguyen TH, Raynaud X, Sirdey R (2013) Extended cyclostatic dataflow program compilation and execution for an integrated manycore processor. Procedia Comput Sci 18(0):1624–1633 (2013 International conference on computational science)

  • Bak S, Yao G, Pellizzoni R, Caccamo M (2012) Memory-aware scheduling of multicore task sets for real-time systems. In: 2012 IEEE 18th international conference on embedded and real-time computing systems and applications (RTCSA), pp 300–309

  • Behrmann G, David A, Larsen KG (2004) A tutorial on uppaal. In: Bernardo M, Corradini F (eds) Formal methods for the design of real-time systems: 4th international school on formal methods for the design of computer, communication, and software systems, SFM-RT 2004, number 3185 in LNCS. Springer, New York, pp 200–236

  • Bengtsson J, Yi W (2004) Timed automata: semantics, algorithms and tools. In: Lectures on concurrency and Petri Nets, vol 3098 of LNCS. Springer, New York, pp 87–124

  • Binkert N, Beckmann B, Black G, Reinhardt SK, Saidi A, Basu A, Hestness J, Hower DR, Krishna T, Sardashti S, Sen R, Sewell K, Shoaib M, Vaish N, Hill MD, Wood DA (2011) The gem5 simulator. SIGARCH Comput Archit News 39(2):1–7

    Article  Google Scholar 

  • Bozga M, Daws C, Maler O, Olivero A, Tripakis S, Yovine S (1998) Kronos: a model-checking tool for real-time systems. In: Hu A, Vardi M (eds) Computer aided verification, volume 1427 of lecture notes in computer science, vol 1427. Springer, Berlin, pp 546–550

    Google Scholar 

  • Chakraborty S, Liu Y, Stoimenov N, Thiele L, Wandeler E (2006) Interface-based rate analysis of embedded systems. RTSS 2006:25–34

    Google Scholar 

  • Dasari D, Anderssom B, Nelis V, Petters S, Easwaran A, Lee J (2011) Response time analysis of cots-based multicores considering the contention on the shared memory bus. In: 10th international conference on trust, security and privacy in computing and communications (TrustCom), pp 1068–1075

  • EEMBC (1997) EEMBC 1.1 Embedded Benchmark Suite. http://www.eembc.org/benchmark/automotive_sl.php

  • FlexRay (2005) FlexRay communications system protocol specification, version 2.1, revision a. http://www.flexray.com/

  • Giannopoulou G, Lampka K, Stoimenov N, Thiele L (2012) Timed model checking with abstractions: towards worst-case response time analysis in resource-sharing manycore systems. In: Proceedings of the tenth ACM international conference on Embedded software, EMSOFT ’12, New York, NY, USA. ACM, pp 63–72

  • Gustavsson A, Ermedahl A, Lisper B, Pettersson P (2010) Towards WCET analysis of multicore architectures using UPPAAL. In: 10th international workshop on worst-case execution time analysis (WCET 2010), pp 101–112

  • Henia R, Hamann A, Jersak M, Racu R, Richter K, Ernst R (2005) System level performance analysis—the SymTA/S approach. IEEE Proc Comput Digit Tech 152(2):148–166

    Article  Google Scholar 

  • Kelter T, Falk H, Marwedel P, Chattopadhyay S, Roychoudhury A (2011) Bus-aware multicore wcet analysis through tdma offset bounds. In: 23rd Euromicro conference on real-time systems (ECRTS), pp 3–12

  • Lampka K, Perathoner S, Thiele L (2009) Analytic real-time analysis and timed automata: a hybrid method for analyzing embedded real-time systems. In 8th ACM & IEEE international conference on embedded software, EMSOFT 2009, Grenoble, France. ACM, pp 107–116

  • Lampka K, Perathoner S, Thiele L (2010) Analytic real-time analysis and timed automata: a hybrid methodology for the performance analysis of embedded real-time systems. Des Autom Embed Syst 14(3):193–227

    Article  Google Scholar 

  • Lampka K, Perathoner S, Thiele L (2012) Component-based system design: analytic real-time interfaces for state-based component implementations. Int J Softw Tools Technol Transf, pp 1–16

  • Lattner C, Adve V (2004) LLVM: a compilation framework for lifelong program analysis and transformation. In: Proceedings of the international symposium of code generation and optimization, San Jose, CA, USA

  • Le Boudec J-Y, Thiran P (2001) Network calculus: a theory of deterministic queuing systems for the internet. Springer, Berlin

    Book  Google Scholar 

  • Lundqvist T, Stenstrom P (1999) Timing anomalies in dynamically scheduled microprocessors. In: Real-time systems symposium, 1999. Proceedings. The 20th IEEE, pp 12–21

  • Lv M, Yi W, Guan N, Yu G (2010) Combining abstract interpretation with model checking for timing analysis of multicore software. In: IEEE real-time systems symposium 2010. IEEE Computer Society, pp 339–349

  • Mancuso R, Dudko R, Betti E, Cesati M, Caccamo M, Pellizzoni R (2013) Real-time cache management framework for multi-core architectures. In: 19th IEEE real-time and embedded technology and applications symposium

  • Nesbit KJ, Aggarwal N, Laudon J, Smith JE (2006) Fair queuing memory systems. In: 39th annual IEEE/ACM international symposium on microarchitecture (MICRO-39 2006), 9–13 December 2006, Orlando, Florida, USA. IEEE Computer Society, pp 208–222

  • Norström C, Wall A, Yi W (1999) Timed automata as task models for event-driven systems. In: RTCSA ’99, Washington, DC, USA. IEEE Computer Society, p 182

  • Pellizzoni R, Bui BD, Caccamo M, Sha L (2008) Coscheduling of cpu and i/o transactions in cots-based embedded systems. In: Real-time systems symposium, pp 221–231

  • Pellizzoni R, Schranzhofer A, Chen J-J, Caccamo M, Thiele L (2010) Worst case delay analysis for memory interference in multicore systems. In: Design, automation, test in Europe conference (DATE), pp 741–746

  • Pellizzoni R, Betti E, Bak S, Yao G, Criswell J, Caccamo M, Kegley R (2011) A predictable execution model for cots-based embedded systems. In: 17th IEEE real-time and embedded technology and applications symposium, RTAS 2011, Chicago, Illinois, USA, 11–14 April 2011. IEEE Computer Society, pp 269–279

  • Perathoner S, Lampka K, Thiele L (2011) Composing heterogeneous components for system-wide performance analysis. In: Design, automation and test in Europe, DATE 2011, Grenoble, France, March 14–18 2011. IEEE, pp 842–847

  • Reineke J, Wachter B, Thesing S, Wilhelm R, Polian I, Eisinger J, Becker B (2006) A definition and classification of timing anomalies. In: Mueller F (ed) 6th International workshop on worst-case execution time (WCET) analysis, July 4, 2006, Dresden, Germany, OASICS. Internationales Begegnungs- und Forschungszentrum fuer Informatik (IBFI), Schloss Dagstuhl, Germany

  • Schliecker S, Negrean M, Ernst R (2010) Bounding the shared resource load for the performance analysis of multiprocessor systems. In: Design, automation, test in Europe conference (DATE), pp 759–764

  • Schranzhofer A, Chen J-J, Thiele L (2010) Timing analysis for TDMA arbitration in resource sharing systems. In: Proceedings of RTAS’10

  • Schranzhofer A, Pellizzoni R, Chen J-J, Thiele L, Caccamo M (2011a) Timing analysis for resource access interference on adaptive resource arbiters. In: Proceedings of the 17th IEEE real-time and embedded technology and applications symposium

  • Schranzhofer A, Pellizzoni R, Chen J-J, Thiele L, Caccamo M (2011b) Timing analysis for resource access interference on adaptive resource arbiters. In: Real-time and embedded technology and applications symposium (RTAS), pp 213–222

  • Simalatsar A, Ramadian Y, Lampka K, Perathoner S, Passerone R, Thiele L (2011) Enabling parametric feasibility analysis in real-time calculus driven performance evaluation. In: Gupta RK, Mooney VJ (eds) Proceedings of the 14th international conference on compilers, architecture, and synthesis for embedded systems, CASES 2011, part of the seventh embedded systems week, ESWeek 2011, Taipei, Taiwan, October 9–14, 2011. ACM, pp 155–164

  • Thiele L, Chakraborty S, Naedele M (2000) Real-time calculus for scheduling hard real-time systems. In: Proceedings of international symposium on circuits and systems, vol 4, pp 101–104

  • Yao G, Pellizzoni R, Bak S, Betti E, Caccamo M (2012) Memory-centric scheduling for multicore hard real-time systems. Real Time Syst J 48(6):681–715

    Article  MATH  Google Scholar 

Download references

Acknowledgments

We thank the anonymous reviewers for the valueable remarks and the resulting improvements of the article. This work has received funding from the European Union Seventh Framework Programme (FP7/2007-2013) project CERTAINTY under Grant Agreement Number 288175 and from the NSERC under Discovery Grant 402369-2011. Any opinions, findings, and conclusions or recommendations expressed in this publication are those of the authors and do not necessarily reflect the views of the sponsors.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kai Lampka.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Lampka, K., Giannopoulou, G., Pellizzoni, R. et al. A formal approach to the WCRT analysis of multicore systems with memory contention under phase-structured task sets. Real-Time Syst 50, 736–773 (2014). https://doi.org/10.1007/s11241-014-9211-y

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-014-9211-y

Keywords

Navigation