Scheduling and Compiling Rate-Synchronous Programs with End-To-End Latency Constraints

Authors Timothy Bourke , Vincent Bregeon, Marc Pouzet



PDF
Thumbnail PDF

File

LIPIcs.ECRTS.2023.1.pdf
  • Filesize: 0.89 MB
  • 22 pages

Document Identifiers

Author Details

Timothy Bourke
  • Inria Paris, France
  • Ecole normale supérieure, PSL University, CNRS, Paris, France
Vincent Bregeon
  • Airbus Operations S.A.S., Toulouse, France
Marc Pouzet
  • Ecole normale supérieure, PSL University, CNRS, Paris, France
  • Inria Paris, France

Cite As Get BibTex

Timothy Bourke, Vincent Bregeon, and Marc Pouzet. Scheduling and Compiling Rate-Synchronous Programs with End-To-End Latency Constraints. In 35th Euromicro Conference on Real-Time Systems (ECRTS 2023). Leibniz International Proceedings in Informatics (LIPIcs), Volume 262, pp. 1:1-1:22, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023) https://doi.org/10.4230/LIPIcs.ECRTS.2023.1

Abstract

We present an extension of the synchronous-reactive model for specifying multi-rate systems. A set of periodically executed components and their communication dependencies are expressed in a Lustre-like programming language with features for load balancing, resource limiting, and specifying end-to-end latencies. The language abstracts from execution time and phase offsets. This permits simple clock typing rules and a stream-based semantics, but requires each component to execute within an overall base period. A program is compiled to a single periodic task in two stages. First, Integer Linear Programming is used to determine phase offsets using standard encodings for dependencies and load balancing, and a novel encoding for end-to-end latency. Second, a code generation scheme is adapted to produce step functions. As a result, components are synchronous relative to their respective rates, but not necessarily simultaneous relative to the base period. This approach has been implemented in a prototype compiler and validated on an industrial application.

Subject Classification

ACM Subject Classification
  • Computer systems organization → Real-time languages
  • Computer systems organization → Embedded software
Keywords
  • synchronous-reactive
  • integer linear programming
  • code generation

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. Ardupilot website. URL: https://ardupilot.org.
  2. Matthias Becker, Dakshina Dasari, Saad Mubeen, Moris Behnam, and Thomas Nolte. MECHAniSer - a timing analysis and synthesis tool for multi-rate effect chains with job-level dependencies. In 7th Int. Workshop on Analysis Tools and Methodologies for Embedded and Real-time Systems (WATERS 2016), July 2016. Google Scholar
  3. Matthias Becker, Dakshina Dasari, Saad Mubeen, Moris Behnam, and Thomas Nolte. Synthesizing job-level dependencies for automotive multi-rate effect chains. In Proc. of the 22nd IEEE Int. Conf. on Embedded and Real-Time Computing Systems and Applications (RTCSA 2016), pages 159-169. IEEE, August 2016. Google Scholar
  4. Dariusz Biernacki, Jean-Louis Colaço, Gregoire Hamon, and Marc Pouzet. Clock-directed modular code generation for synchronous data-flow languages. In Proc. of the 9th ACM SIGPLAN Conf. on Languages, Compilers, and Tools for Embedded Systems (LCTES 2008), pages 121-130. ACM Press, June 2008. Google Scholar
  5. Pascal Brisset, Antoine Drouin, Michel Gorraz, Pierre-Selim Huard, and Jeremy Tyler. The Paparazzi solution. In 2nd US-European Competition and Workshop on Micro Air Vehicles (MAV 2006), October 2006. Google Scholar
  6. Giorgio C. Buttazzo. Predictable Scheduling Algorithms and Applications. Real-Time Systems Series. Springer, 3ed. edition, 2011. Google Scholar
  7. Paul Caspi and Marc Pouzet. Synchronous Kahn networks. In Proc. of the 1996 ACM SIGPLAN Int. Conf. on Functional Programming (ICFP'96), pages 226-238. ACM Press, May 1996. Google Scholar
  8. Paul Caspi, Norman Scaife, Christos Sofronis, and Stavros Tripakis. Semantics-preserving multi-task implementation of synchronous programs. ACM Transactions on Embedded Computing Systems, 7(2):15:1-15:40, January 2009. Google Scholar
  9. Houssine Chetto, Maryline Silly, and Bouchentouf Toumi. Dynamic scheduling of real-time tasks under precedence constraints. Real-Time Systems, 2:181-194, September 1990. Google Scholar
  10. Albert Cohen, Marc Duranton, Christine Eisenbeis, Claire Pagetti, Florence Plateau, and Marc Pouzet. N-synchronous Kahn networks: a relaxed model of synchrony for real-time systems. In Proc. of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2006), pages 180-193. ACM Press, January 2006. Google Scholar
  11. Albert Cohen, Louis Mandel, Florence Plateau, and Marc Pouzet. Abstraction of clocks in synchronous data-flow systems. In Proc. of the 6th Asian Symposium on Programming Languages and Systems (APLAS 2008), volume 5356 of Lecture Notes in Computer Science, pages 237-254. Springer, December 2008. Google Scholar
  12. Jean-Louis Colaço, Bruno Pagano, and Marc Pouzet. A conservative extension of synchronous data-flow with state machines. In Proc. of the 5th ACM Int. Conf. on Embedded Software (EMSOFT 2005), pages 173-182. ACM Press, September 2005. Google Scholar
  13. Jean-Louis Colaço, Bruno Pagano, and Marc Pouzet. Scade 6: A formal language for embedded critical software development. In Proc. of the 11th Int. Symposium on Theoretical Aspects of Software Engineering (TASE 2017), pages 4-15. IEEE Computer Society, September 2017. Google Scholar
  14. Jean-Louis Colaço and Marc Pouzet. Clocks as first class abstract types. In Proc. of the 3rd Int. Workshop on Embedded Software (EMSOFT 2003), volume 2855 of Lecture Notes in Computer Science, pages 134-155. Springer, October 2003. Google Scholar
  15. Adrian Curic. Implementing Lustre Programs on Distributed Platforms with Real-Time Constraints. PhD thesis, Université Joseph Fourier, September 2005. Google Scholar
  16. Abhijit Davare, Qi Zhu, Marco Di Natale, Claudio Pinello, Sri Kanajan, and Alberto Sangiovanni-Vincentelli. Period optimization for hard real-time distributed automotive systems. In 44th Design Automation Conf., pages 278-283. ACM/IEEE, June 2008. Google Scholar
  17. Marco Dürr, Georg von der Brüggen, Kuan-Hsun Chen, and Jian-Jia Chen. End-to-end timing analysis of sporadic cause-effect chains in distributed systems. ACM Transactions on Embedded Computing Systems, 18(5s):article no. 58, October 2019. Google Scholar
  18. Peter Eades and Xuemin Lin. A heuristic for the feedback arc set problem. Australasian Journal of Combinatorics, 12:15-25, September 1995. Google Scholar
  19. Peter Eades, Xuemin Lin, and W.F. Smyth. A fast & effective heuristic for the feedback arc set problem. Information Processing Letters, 47(6):319-323, October 1993. Google Scholar
  20. Nico Feiertag, Kai Richter, Johan Nordlander, and Jan Jonsson. A compositional framework for end-to-end path delay calculation of automotive systems under different path semantics. In Workshop on Compositional Theory and Technology for Real-Time Embedded Systems (CRTS 2008, co-located with RTSS 2008), November 2008. Google Scholar
  21. Julien Forget. Un Langage Synchrone pour les Systèmes Embarqués Critiques Soumis à des Contraintes Temps Réel Multiples. PhD thesis, Université de Toulouse, November 2009. Google Scholar
  22. Julien Forget, Frédéric Boniol, Emmanuel Grolleau, David Lesens, and Claire Pagetti. Scheduling dependent periodic tasks without synchronization mechanisms. In 16th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2010), pages 301-310. IEEE, April 2010. Google Scholar
  23. Julien Forget, Frédéric Boniol, David Lesens, and Claire Pagetti. A multi-periodic synchronous data-flow language. In Proc. of the 11th IEEE High Assurance Systems Engineering Symposium (HASE 2008), pages 251-260. IEEE, December 2008. Google Scholar
  24. Julien Forget, Frédéric Boniol, David Lesens, and Claire Pagetti. A real-time architecture design language for multi-rate embedded control systems. In Proc. of the 25th ACM Symposium on Applied Computing (SAC'10), pages 527-534. ACM, March 2010. Google Scholar
  25. Julien Forget, Frédéric Boniol, and Claire Pagetti. Verifying end-to-end real-time constraints on multi-periodic models. In Proc. of the IEEE 22nd Int. Conf. on Emerging Technologies & Factory Automation (ETFA 2017). IEEE Press, September 2017. Google Scholar
  26. Julien Forget, Emmanuel Grolleau, Claire Pagetti, and Pascal Richard. Dynamic priority scheduling of periodic tasks with extended precedences. In Proc. of the IEEE 16th Int. Conf. on Emerging Technologies & Factory Automation (ETFA 2011). IEEE Press, September 2011. Google Scholar
  27. Richard Gerber, Seongsoo Hong, and Manas Saksena. Guaranteeing end-to-end timing constraints by calibrating intermediate processes. IEEE Transactions on Software Engineering, 21(7):579-592, July 1995. Google Scholar
  28. Alain Girault, Christophe Prévot, Sophie Quinton, Rafik Henia, and Nicolas Sordon. Improving and estimating the precision of bounds on the worst-case latency of task chains. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 37(11):2578-2589, November 2018. Google Scholar
  29. Nicolas Halbwachs, Paul Caspi, Pascal Raymond, and Daniel Pilaud. The synchronous dataflow programming language LUSTRE. Proc. of the IEEE, 79(9):1305-1320, September 1991. Google Scholar
  30. Arne Hamann, Dakshina Dasari, Simon Kramer, Michael Pressler, and Falk Wurst. Communication centric design in complex automotive embedded systems. In 29th Euromicro Conf. on Real-Time Systems (ECRTS 2017), volume 76 of Leibniz Int. Proc. in Informatics (LIPIcs), pages 10:1-10:20. Schloss Dagstuhl-Leibniz-Zentrum für Informatik, June 2017. Google Scholar
  31. Thomas A. Henzinger, Benjamin Horowitz, and Christoph M. Kirsch. Giotto: A time-triggered language for embedded programming. Proc. of the IEEE, 91(1):84-99, January 2003. Google Scholar
  32. IBM Corp. IBM ILOG CPLEX 20.1 User’s Manual, 2020. Google Scholar
  33. Guillaume Iooss, Albert Cohen, Dumitru Potop-Butucaru, Marc Pouzet, Vincent Bregeon, Jean Souyris, and Philippe Baufreton. Polyhedral scheduling and relaxation of synchronous reactive systems. In 12th Int. Workshop on Polyhedral Compilation Techniques (IMPACT 2022). HiPEAC, June 2022. Google Scholar
  34. Gilles Kahn. The semantics of a simple language for parallel programming. In Proc. of the Int. Federation for Information Processing (IFIP) Congress 1974, pages 471-475. North-Holland, August 1974. Google Scholar
  35. Richard M. Karp. Reducibility among combinatorial problems. In Complexity of Computer Computations, The IBM Research Symposia Series (IRSS), pages 85-103. Springer, 1972. Google Scholar
  36. Jad Khatib, Alix Munier-Kordon, Enagnon Cedric Klikpo, and Kods Trabelsi-Colibet. Computing latency of a real-time system modeled by Synchronous Dataflow Graph. In Proc. of the 24th Int. Conf. on Real-Time Networks and Systems (RTNS'16), pages 87-96. ACM Press, October 2016. Google Scholar
  37. Christoph M. Kirsch and Ana Sokolova. The Logical Execution Time paradigm. In Advances in Real-Time Systems, pages 103-120. Springer, 2012. Google Scholar
  38. Tobias Klaus, Florian Franzmann, Matthias Becker, and Peter Ulbrich. Data propagation delay constraints in multi-rate systems - deadlines vs. job-level dependencies. In Proc. of the 26th Int. Conf. on Real-Time Networks and Systems (RTNS'18), pages 93-103. ACM Press, October 2018. Google Scholar
  39. Tomasz Kloda, Antoine Bertout, and Yves Sorel. Latency analysis for data chains of real-time periodic tasks. In Proc. of the IEEE 23rd Int. Conf. on Emerging Technologies & Factory Automation (ETFA 2018), pages 360-367. IEEE Press, September 2018. Google Scholar
  40. Michaël Lauer, Frédéric Boniol, Claire Pagetti, and Jérôme Ermont. End-to-end latency and temporal consistency analysis in networked real-time systems. Int. Journal of Critical Computer-Based Systems, 5(3/4):172-196, 2014. Google Scholar
  41. Paul Le Guernic, Thierry Gautier, Michel Le Borgne, and Claude Le Maire. Programming real-time applications with SIGNAL. Proc. of the IEEE, 79(9):1321-1336, September 1991. Google Scholar
  42. Edward A. Lee and Alberto Sangiovanni-Vincentelli. A framework for comparing models of computation. IEEE Transactions on CAD, 17(12):1217-1229, December 1998. Google Scholar
  43. Louis Mandel, Florence Plateau, and Marc Pouzet. Lucy-n: a n-Synchronous extension of Lustre. In Proc. of the 10th Int. Conf. on Mathematics of Program Construction (MPC 2010), volume 6120 of Lecture Notes in Computer Science, pages 288-309. Springer, June 2010. Google Scholar
  44. The MathWorks. Simulinksuperscriptregistered Reference, March 2022. Release 2022a. Google Scholar
  45. The MathWorks. Simulink: User’s Guide, March 2022. Release 2022a. Google Scholar
  46. The MathWorks. Simulinksuperscriptregistered Codersuperscripttrademark User’s Guide, March 2022. Release 2022a. Google Scholar
  47. Slobodan Matic and Thomas A. Henzinger. Trading end-to-end latency for composability. In Proc. of the 26th IEEE Real-Time Systems Symposium (RTSS 2005), pages 110-119. IEEE Computer Society, December 2005. Google Scholar
  48. Swarup Mohalik, Devesh B. Chokshi, Manoj G. Dixit, A.C. Rajeev, and S. Ramesh. Scalable model-checking for precise end-to-end latency computation. In Proc. of the 2013 IEEE Conf. on Computer Aided Control System Design (CACSD), pages 19-24. IEEE, August 2013. Google Scholar
  49. Saad Mubeen, Jukka Mäki-Turja, and Mikael Sjödin. Support for end-to-end response-time and delay analysis in the industrial tool suite: Issues, experiences and a case study. Computer Science and Information Systems, 10(1):453-482, January 2013. Google Scholar
  50. Claire Pagetti, Julien Forget, Frédéric Boniol, Mikel Cordovilla, and David Lesens. Multi-task implementation of multi-periodic synchronous programs. Discrete Event Dynamic Systems, 21(3):307-338, September 2011. Google Scholar
  51. Claire Pagetti, David Saussié, Romain Gratia, Eric Noulard, and Pierre Siron. The ROSACE case study: From Simulink specification to multi/many-core execution. In 20th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2014), pages 309-318. IEEE, April 2014. Google Scholar
  52. Florence Plateau. Modèle n-synchrone pour la programmation de réseaux de Kahn à mémoire borné. PhD thesis, Université Paris XI, January 2010. Google Scholar
  53. Marc Pouzet. Lucid Synchrone, version 3. Tutorial and reference manual. Université Paris-Sud, April 2006. Google Scholar
  54. Johannes Schlatow and Rolf Ernst. Response-time analysis for task chains in communicating threads. In 22nd IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2016). IEEE, April 2016. Google Scholar
  55. Irina Mădălina Smarandache, Thierry Gautier, and Paul Le Guernic. Validation of mixed Signal-Alpha real-time systems through affine calculus on clock synchronisation constraints. In Proc. of the World Congress on Formal Methods in the Development of Computing Systems (FM'99), volume 1709 of Lecture Notes in Computer Science, pages 1364-1383. Springer, September 1999. Google Scholar
  56. Stavros Tripakis, Christos Sofronis, Paul Caspi, and Adrian Curic. Translating discrete-time Simulink to Lustre. ACM Transactions on Embedded Computing Systems, 4(4):779-818, November 2005. Google Scholar
  57. Rémy Wyss, Frédéric Boniol, Julien Forget, and Claire Pagetti. A synchronous language with partial delay specification for real-time systems programming. In Proc. of the 10th Asian Symposium on Programming Languages and Systems (APLAS 2012), volume 7705 of Lecture Notes in Computer Science, pages 223-238. Springer, December 2012. Google Scholar
  58. Rémy Wyss, Frédéric Boniol, Julien Forget, and Claire Pagetti. End-to-end latency computation in a multi-periodic design. In Proc. of the 28th ACM Symposium on Applied Computing (SAC'13), pages 1682-1687. ACM, March 2013. Google Scholar
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail