Real-Time Systems

, Volume 51, Issue 5, pp 526–565 | Cite as

Off-line mapping of multi-rate dependent task sets to many-core platforms

Article

Abstract

This paper presents an approach to execute safety-critical applications on multi- and many-core processors in a predictable manner. We investigate three concrete platforms: the Intel Single-chip Cloud Computer, the Texas Instruments TMS320C6678 and the Tilera TILEmpower-Gx36. We define an execution model to safely execute dependent periodic task sets on these platforms. The four rules of the execution model entail that an off-line mapping of the application to the platform must be computed. The paper details our approach to automatically compute a valid mapping. Furthermore, we evaluate our approach, which is based on constraint programming, by applying it to several task sets that are derived from industrial applications.

Keywords

Real-time systems Many-core architecture Off-line scheduling Constraint programming 

References

  1. Abdelzaher TF, Shin KG (1999) Combined task and message scheduling in distributed real-time systems. IEEE Trans Parallel Distrib Syst 10(11):1179–1191CrossRefGoogle Scholar
  2. Abel A, Benz F, Doerfert J, Dörr B, Hahn S, Haupenthal F, Jacobs M, Moin AH, Reineke J, Schommer B, Wilhelm R (2013) Impact of resource sharing on performance and performance prediction: a survey. In: 24th international on conference concurrency theory (CONCUR 2013), pp 25–43Google Scholar
  3. Baro J, Boniol F, Cordovilla M, Noulard E, Pagetti C (2012) Off-line (optimal) multiprocessor scheduling of dependent periodic tasks. In: Proceedings of the 27th annual ACM symposium on applied computing (SAC ’12). ACM, New York, pp 1815–1820Google Scholar
  4. Behrmann G, Larsen KG, Rasmussen JI (2005) Optimal scheduling using priced timed automata. SIGMETRICS Perform Eval Rev 32:34–40CrossRefGoogle Scholar
  5. Betti E, Bak S, Pellizzoni R, Caccamo M, Sha L (2013) Real-time I/O management system with COTS peripherals. IEEE Trans Comput 62(1):45–58MathSciNetCrossRefGoogle Scholar
  6. Bin J, Girbal S, Gracia Pérez D, Grasset A, Merigot A (2014) Studying co-running avionic real-time applications on multi-core COTS architectures. In: Embedded real time software and systems (ERTS’14)Google Scholar
  7. Bini E, Buttazzo GC (2004) Biasing effects in schedulability measures. In: Proceedings of the 16th Euromicro conference on real-time systems (ECRTS’04). IEEE Computer Society, New York, pp 196–203Google Scholar
  8. Boniol F, Hladik PE, Pagetti C, Aspro F, Jégu V (2008) A framework for distributing real-time functions. In: Cassez F, Jard C (eds) Formal modeling and analysis of timed systems. Lecture Notes in Computer Science, vol 5215. Springer, Berlin, pp 155–169Google Scholar
  9. Boniol F, Cassé H, Noulard E, Pagetti C (2012) Deterministic execution model on COTS hardware. In: 25th international conference architecture of computing systems (ARCS’12). Lecture Notes in Computer Science, vol 7179. Springer, Berlin, pp 98–110Google Scholar
  10. Bourgos P (2013) Rigorous design flow for programming manycore platforms. PhD thesis, Université de GrenobleGoogle Scholar
  11. Bron C, Kerbosch J (1973) Algorithm 457: finding all cliques of an undirected graph. Commun ACM 16(9):575–577CrossRefMATHGoogle Scholar
  12. Brosky S, Rotolo S (2003) Shielded processors: guaranteeing sub-millisecond response in standard Linux. In: Proceedings of the 17th international symposium on parallel and distributed processing (IPDPS’03). IEEE Computer Society, New YorkGoogle Scholar
  13. Chetto H, Silly M, Bouchentouf T (1990) Dynamic scheduling of real-time tasks under precedence constraints. Real Time Syst 2(3):181–194CrossRefGoogle Scholar
  14. Coffman E Jr, Garey M, Johnson D (1996) Approximation algorithms for bin packing: a survey. In: Hochbaum DS (ed) Approximation algorithms for NP-hard problems. PWS Publishing Co., Boston, pp 46–93Google Scholar
  15. Dupont de Dinechin B, Ayrignac R, Beaucamps PE, Couvert P, Ganne B, Guironnet de Massas P, Jacquet F, Jones S, Chaisemartin NM, Riss F, Strudel T (2013a) A clustered manycore processor architecture for embedded and accelerated applications. In: IEEE high performance extreme computing conference (HPEC), 2013. IEEE, New York, pp 1–6Google Scholar
  16. Dupont de Dinechin B, Guironnet de Massas P, Lager G, Léger C, Orgogozo B, Reybert J, Strudel T (2013b) A distributed run-time environment for the Kalray MPPA\({\textregistered }\)-256 integrated manycore processor. Proc Comput Sci 18:1654–1663, 2013 International Conference on Computational ScienceGoogle Scholar
  17. Dupont de Dinechin B, van Amstel D, Poulhiès M, Lager G (2014) Time-critical computing on a single-chip massively parallel processor. In: Proceedings of the conference on design, automation & test in Europe, European Design and Automation Association (DATE’14), 3001 Leuven, Belgium, pp 97:1–97:6, invited paperGoogle Scholar
  18. Durrieu G, Faugère M, Girbal S, Gracia Pérez D, Pagetti C, Puffitsch W (2014) Predictable flight management system implementation on a multicore processor. In: Embedded real time software and systems (ERTS’14)Google Scholar
  19. d’Ausbourg B, Boyer M, Noulard E, Pagetti C (2011) Deterministic execution on many-core platforms: application to the SCC. In: 4th symposium of the many-core applications research community, pp 43–48Google Scholar
  20. Ekelin C (2004) An optimization framework for scheduling of embedded real-time systems. PhD thesis, Chalmers University of TechnologyGoogle Scholar
  21. Forget J (2009) A synchronous language for critical embedded systems with multiple real-time constraints. PhD thesis, Université de Toulouse - ISAE/ONERA, Toulouse, FranceGoogle Scholar
  22. Grolleau E, Choquet-Geniet A (2001) Ordonnancement de tâches temps réel en environnement multiprocesseur à l’aide de réseaux de Petri. In: Real-time systems (RTS’2001), Paris, FranceGoogle Scholar
  23. Grolleau E, Goossens J, Cucu-Grosjean L (2013) On the periodic behavior of real-time schedulers on identical multiprocessor platforms. http://arxiv.org/abs/1305.3849. Accessed 8 July 2015
  24. Hladik PE, Cambazard H, Déplanche AM, Jussien N (2008) Solving a real-time allocation problem with constraint programming. J Syst Softw 81(1):132–149CrossRefGoogle Scholar
  25. IBM ILOG (2014) CPLEX optimization studio. http://www.ibm.com/software/integration/optimization/cplex-optimization-studio/. Accessed 8 July 2015
  26. Intel Labs (2010) SCC external architecture specification (EAS) Technical report. Intel Corporation, Santa ClaraGoogle Scholar
  27. Intel Labs (2012) The SCC programmer’s guide. Technical report. Intel Corporation, Santa ClaraGoogle Scholar
  28. Kluge F, Triquet B, Rochange C, Ungerer T (2012) Operating systems for manycore processors from the perspective of safety-critical systems. In: Proceedings of 8th annual workshop on operating systems for embedded real-time applications (OSPERT 2012), pp 16–20Google Scholar
  29. Kopetz H (1992) Sparse time versus dense time in distributed real-time systems. In: Proceedings of the 12th international conference on distributed computing systems, 1992. IEEE, New York, pp 460–467Google Scholar
  30. Metzlaff S, Mische J, Ungerer T (2011) A real-time capable many-core model. In: Proceedings of 32nd IEEE real-time systems symposium: work-in-progress session, pp 21–24Google Scholar
  31. Mok AKL (1983) Fundamental design problems of distributed systems for the hard real-time environment. PhD thesis, Massachusetts Institute of Technology, Cambridge, MAGoogle Scholar
  32. Nélis V, Yomsi PM, Goossens J (2013) Feasibility intervals for homogeneous multicores, asynchronous periodic tasks, and FJP schedulers. In: Proceedings of the 21st international conference on real-time networks and systems (RTNS’13). ACM, New York, pp 277–286Google Scholar
  33. Nowotsch J, Paulitsch M (2012) Leveraging multi-core computing architectures in avionics. In: Ninth European dependable computing conference (EDCC’12), pp 132–143Google Scholar
  34. Pagetti C, Forget J, Boniol F, Cordovilla M, Lesens D (2011) Multi-task implementation of multi-periodic synchronous programs. Discrete Event Dyn Syst 21(3):307–338MathSciNetCrossRefMATHGoogle Scholar
  35. Pagetti C, Saussié D, Gratia R, Noulard E, Siron P (2014) The ROSACE case study: from Simulink specification to multi/many-core execution. In: 20th IEEE real-time and embedded technology and applications symposium (RTAS’14)Google Scholar
  36. Peng DT, Shin KG, Abdelzaher TF (1997) Assignment and scheduling communicating periodic tasks in distributed real-time systems. IEEE Trans Softw Eng 23(12):745–758CrossRefGoogle Scholar
  37. Puffitsch W, Noulard E, Pagetti C (2013) Mapping a multi-rate synchronous language to a many-core processor. In: 19th IEEE real-time and embedded technology and applications symposium (RTAS’13), pp 293–302Google Scholar
  38. Ramamoorthy CV, Chandy KM, Gonzalez MJ (1972) Optimal scheduling strategies in a multiprocessor system. IEEE Trans Comput C–21(2):137–146MathSciNetCrossRefGoogle Scholar
  39. Scheller J (2012) Real-time operating systems for many-core platforms. Master’s thesis, ISAE/ONERA, Toulouse, FranceGoogle Scholar
  40. Schild K, Würtz J (2000) Scheduling of time-triggered real-time systems. Constraints 5(4):335–357MathSciNetCrossRefMATHGoogle Scholar
  41. T-CREST Consortium (2013) T-CREST white paper. http://www.t-crest.org/page/results. Accessed 8 July 2015
  42. Texas Instruments (2013) TMS320c6678 Multicore fixed and floating-point digital signal processor. Technical report SPRS691D. Texas Instruments Incorporated, BerkleyGoogle Scholar
  43. Tilera Corp. (2013a) Architecture overview TILE-Gx. Technical report UG130, TileraGoogle Scholar
  44. Tilera Corp. (2013b) Tile processor architecture—overview for the TILEPro Series. Technical report UG120, TileraGoogle Scholar
  45. Tilera Corp. (2013c) Tilera Documentation: Gx MDE programming overview. Technical report UG 505, TileraGoogle Scholar
  46. 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 Trans Embed Comput Syst 7(3):36:1–36:53Google Scholar
  47. Xu J (1993) Multiprocessor scheduling of processes with release times, deadlines, precedence, and exclusion relations. IEEE Trans Softw Eng 19(2):139–154CrossRefGoogle Scholar
  48. Ziwisky M, Brylow D (2012) BareMichael: a minimalistic bare-metal framework for the Intel SCC. In: Noulard E, Vernhes S (eds) Proceedings of the 6th Many-core Applications Research Community (MARC) symposium. ONERA, Toulouse, pp 66–71Google Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  • Wolfgang Puffitsch
    • 1
  • Eric Noulard
    • 2
  • Claire Pagetti
    • 2
  1. 1.Department of Applied Mathematics and Computer ScienceTechnical University of DenmarkKongens LyngbyDenmark
  2. 2.Département traitement de l’information et modélisationONERAToulouse Cedex 4France

Personalised recommendations