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.
Similar content being viewed by others
Notes
In Pellizzoni et al. (2011), the term predictable interval is used with the same meaning as superblock.
Provided that the system is schedulable, i.e., execution of a superblock sequence always finishes within the current processing cycle.
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.
Case studies with FlexRay are omitted here for brevity, but can be found in Giannopoulou et al. (2012).
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.
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
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
Chakraborty S, Liu Y, Stoimenov N, Thiele L, Wandeler E (2006) Interface-based rate analysis of embedded systems. RTSS 2006:25–34
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
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
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
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
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
Corresponding author
Rights and permissions
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11241-014-9211-y