Response-Time Analysis of ROS 2 Processing Chains Under Reservation-Based Scheduling

Authors Daniel Casini, Tobias Blaß, Ingo Lütkebohle, Björn B. Brandenburg



PDF
Thumbnail PDF

File

LIPIcs.ECRTS.2019.6.pdf
  • Filesize: 1.85 MB
  • 23 pages

Document Identifiers

Author Details

Daniel Casini
  • Scuola Superiore Sant'Anna, Pisa, Italy
  • Max Planck Institute for Software Systems (MPI-SWS), Kaiserslautern, Germany
Tobias Blaß
  • Corporate Research, Robert Bosch GmbH, Renningen, Germany
  • Saarland Informatics Campus, Saarland University, Saarbrücken, Germany
Ingo Lütkebohle
  • Corporate Research, Robert Bosch GmbH, Renningen, Germany
Björn B. Brandenburg
  • Max Planck Institute for Software Systems (MPI-SWS), Kaiserslautern, Germany

Cite AsGet BibTex

Daniel Casini, Tobias Blaß, Ingo Lütkebohle, and Björn B. Brandenburg. Response-Time Analysis of ROS 2 Processing Chains Under Reservation-Based Scheduling. In 31st Euromicro Conference on Real-Time Systems (ECRTS 2019). Leibniz International Proceedings in Informatics (LIPIcs), Volume 133, pp. 6:1-6:23, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2019)
https://doi.org/10.4230/LIPIcs.ECRTS.2019.6

Abstract

Bounding the end-to-end latency of processing chains in distributed real-time systems is a well-studied problem, relevant in multiple industrial fields, such as automotive systems and robotics. Nonetheless, to date, only little attention has been given to the study of the impact that specific frameworks and implementation choices have on real-time performance. This paper proposes a scheduling model and a response-time analysis for ROS 2 (specifically, version "Crystal Clemmys" released in December 2018), a popular framework for the rapid prototyping, development, and deployment of robotics applications with thousands of professional users around the world. The purpose of this paper is threefold. Firstly, it is aimed at providing to robotic engineers a practical analysis to bound the worst-case response times of their applications. Secondly, it shines a light on current ROS 2 implementation choices from a real-time perspective. Finally, it presents a realistic real-time scheduling model, which provides an opportunity for future impact on the robotics industry.

Subject Classification

ACM Subject Classification
  • Software and its engineering → Real-time schedulability
Keywords
  • ROS
  • real-time systems
  • response-time analysis
  • robotics
  • resource reservation

Metrics

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

References

  1. Action Lib. URL: http://wiki.ros.org/actionlib.
  2. eProsima FastRTPS. URL: https://www.eprosima.com/index.php/products-all/eprosima-fast-rtps.
  3. The move_base package. URL: http://wiki.ros.org/move_base.
  4. Robots using ROS. URL: http://robots.ros.org.
  5. ROS 2 "Crystal Clemmys". URL: http://www.ros.org/news/2018/12/ros-2-crystal-clemmys-released.html.
  6. RTI Connext DDS. URL: https://www.rti.com/products/connext-dds-professional.
  7. Vortex OpenSplice. URL: http://www.prismtech.com/vortex/vortex-opensplice.
  8. L. Abeni and G. Buttazzo. Integrating multimedia applications in hard real-time systems. In Proceedings of the 19th IEEE Real-Time Systems Symposium (RTSS 1998), Madrid, Spain, december 2-4, 1998. Google Scholar
  9. A. Biondi, G. C. Buttazzo, and M. Bertogna. Schedulability Analysis of Hierarchical Real-Time Systems under Shared Resources. IEEE Transactions on Computers, 65, May 2016. Google Scholar
  10. A. Block and J. H. Anderson. Accuracy versus migration overhead in real-time multiprocessor reweighting algorithms. In 12th International Conference on Parallel and Distributed Systems - (ICPADS'06), Minneapolis, USA, july, 12-15, 2006. Google Scholar
  11. A. Block, J. H. Anderson, and G. Bishop. Fine-grained task reweighting on multiprocessors. In 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'05), Hong Kong, China, july, 17-19, 2005. Google Scholar
  12. G. C. Buttazzo. Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications, Third Edition. Springer, 2011. Google Scholar
  13. D. Casini, A. Biondi, and G. C. Buttazzo. Handling Transients of Dynamic Real-Time Workload Under EDF Scheduling. IEEE Transactions on Computers, 2018. Google Scholar
  14. D. Casini, A. Biondi, G. Nelissen, and G. Buttazzo. Partitioned Fixed-Priority Scheduling of Parallel Tasks Without Preemptions. In 2018 IEEE Real-Time Systems Symposium (RTSS), December 2018. Google Scholar
  15. Daniel Casini, Luca Abeni, Alessandro Biondi, Tommaso Cucinotta, and Giorgio Buttazzo. Constant Bandwidth Servers with Constrained Deadlines. In Proceedings of the 25th International Conference on Real-Time Networks and Systems, RTNS '17, 2017. Google Scholar
  16. Jian-Jia Chen, Geoffrey Nelissen, Wen-Hung Huang, Maolin Yang, Björn Brandenburg, Konstantinos Bletsas, Cong Liu, Pascal Richard, Frédéric Ridouard, Neil Audsley, Raj Rajkumar, Dionisio de Niz, and Georg von der Brüggen. Many suspensions, many problems: a review of self-suspending tasks in real-time systems. Real-Time Systems, September 2018. Google Scholar
  17. Robert I. Davis, Alan Burns, Reinder J. Bril, and Johan J. Lukkien. Controller Area Network (CAN) schedulability analysis: Refuted, revisited and revised. Real-Time Systems, 35(3):239-272, April 2007. Google Scholar
  18. Jonas Diemer, Philip Axer, and Rolf Ernst. Compositional performance analysis in python with pyCPA. In In Proceedings of WATERS’12, 2012. Google Scholar
  19. Jonas Diemer, Jonas Rox, and Rolf Ernst. Modeling of Ethernet AVB Networks for Worst-Case Timing Analysis. IFAC Proceedings Volumes, 2012. 7th Vienna International Conference on Mathematical Modelling. Google Scholar
  20. G. Fohler and K. Ramamritham. Static scheduling of pipelined periodic tasks in distributed real-time systems. In Proceedings 9th Euromicro Workshop on Real Time Systems, June 1997. Google Scholar
  21. J. Fonseca, G. Nelissen, V. Nelis, and L. M. Pinho. Response time analysis of sporadic DAG tasks under partitioned scheduling. In 2016 11th IEEE Symposium on Industrial Embedded Systems (SIES), May 2016. Google Scholar
  22. T. Foote. ROS community metrics report. URL: http://download.ros.org/downloads/metrics/metrics-report-2018-07.pdf.
  23. J. J. G. Garcia, J. C. P. Gutierrez, and M. G. Harbour. Schedulability analysis of distributed hard real-time systems with multiple-event synchronization. In Proceedings 12th Euromicro Conference on Real-Time Systems. Euromicro RTS 2000, 2000. Google Scholar
  24. B. Gerkey. Why ROS 2.0? URL: http://design.ros2.org/articles/why_ros2.html.
  25. C. Gutierrez, L. Juan, I. Uguarte, and V. Vilches. Towards a distributed and real-time framework for robotsç Evaluation of ROS 2.0 communications for real-time robotics applications. Techical report, Erle Robotics S.L., 2018. Google Scholar
  26. R. Henia and R. Ernst. Context-aware scheduling analysis of distributed systems with tree-shaped task-dependencies. In Design, Automation and Test in Europe, March 2005. Google Scholar
  27. R. Henia, A. Hamann, M. Jersak, R. Racu, K. Richter, and R. Ernst. System level performance analysis - the SymTA/S approach. IEEE Proceedings - Computers and Digital Techniques, March 2005. Google Scholar
  28. K. Huang, L. Thiele, T. Stefanov, and E. Deprettere. Performance Analysis of Multimedia Applications using Correlated Streams. In 2007 Design, Automation Test in Europe Conference Exhibition, 2007. Google Scholar
  29. M. Jersak. Compositional Performance Analysis for Complex Embedded Applications. Google Scholar
  30. Jean-Yves Le Boudec and Patrick Thiran. Network Calculus: A Theory of Deterministic Queuing Systems for the Internet. Springer-Verlag, Berlin, Heidelberg, 2001. Google Scholar
  31. J. Lehoczky, L. Sha, and Y. Ding. The rate monotonic scheduling algorithm: exact characterization and average case behavior. In [1989] Proceedings. Real-Time Systems Symposium, 1989. Google Scholar
  32. J. Lelli, C. Scordino, L. Abeni, and D. Faggioli. Deadline scheduling in the Linux kernel. Software: Practice and Experience, 46(6):821-839, 2016. Google Scholar
  33. G. Lipari and E. Bini. Resource partitioning among real-time applications. In 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings., pages 151-158, July 2003. Google Scholar
  34. A. Lotz, A. Hamann, R. Lange, C. Heinzemann, J. Staschulat, V. Kesel, D. Stampfer, M. Lutz, and C. Schlegel. Combining robotics component-based model-driven development with a model-based performance analysis. In 2016 IEEE International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR), December 2016. Google Scholar
  35. Alex Lotz, Arne Hamann, Ingo Lütkebohle, Dennis Stampfer, Matthias Lutz, and Christian Schlegel. Modeling Non-Functional Application Domain Constraints for Component-Based Robotics Software Systems. In 6th International Workshop on Domain-Specific Languages and Models for Robotic Systems (DSLRob’15), 2015. Google Scholar
  36. Yuya Maruyama, Shinpei Kato, and Takuya Azumi. Exploring the performance of ROS2. In Proceedings of the 13th International Conference on Embedded Software, page 5. ACM, 2016. Google Scholar
  37. L. Marzario, G. Lipari, P. Balbastre, and A. Crespo. IRIS: a new reclaiming algorithm for server-based real-time systems. In Proceedings. RTAS 2004. 10th IEEE Real-Time and Embedded Technology and Applications Symposium, 2004., May 2004. Google Scholar
  38. M. Negrean, M. Neukirchner, S. Stein, S. Schliecker, and R. Ernst. Bounding mode change transition latencies for multi-mode real-time distributed applications. In ETFA2011, 2011. Google Scholar
  39. Object Management Group. Data Distribution Service (DDS), 1.4 edition, 2015. Google Scholar
  40. OpenMP. OpenMP Application Program Interface, Version 4.0., 2013. Google Scholar
  41. J. C. Palencia and M. G. Harbour. Exploiting precedence relations in the schedulability analysis of distributed real-time systems. In Proceedings 20th IEEE Real-Time Systems Symposium, 1999. Google Scholar
  42. J. C. Palencia and M. Gonzalez Harbour. Schedulability analysis for tasks with static and dynamic offsets. In Proceedings 19th IEEE Real-Time Systems Symposium, 1998. Google Scholar
  43. Morgan Quigley, Ken Conley, Brian Gerkey, Josh Faust, Tully Foote, Jeremy Leibs, Rob Wheeler, and Andrew Y Ng. ROS: an open-source Robot Operating System. In ICRA workshop on open source software, volume 3, page 5. Kobe, Japan, 2009. Google Scholar
  44. Ahmed Rahni, Emmanuel Grolleau, Michaël Richard, and Pascal Richard. Feasibility Analysis of Real-time Transactions. Real-Time Syst., 48(3), 2012. Google Scholar
  45. J. Real and A. Crespo. Mode Change Protocols for Real-Time Systems: A Survey and a New Proposal. Real-Time Systems, 26(2):161-197, March 2004. Google Scholar
  46. K. Richter. Compositional Scheduling Analysis Using Standard Event Models: The SymTA/S Approach. Google Scholar
  47. K. Richter and R. Ernst. Event model interfaces for heterogeneous system analysis. In Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition, pages 506-513, 2002. Google Scholar
  48. K. Richter, M. Jersak, and R. Ernst. A Formal Approach to MpSoC Performance Verification. Computer, 36(4), 2003. Google Scholar
  49. K. Richter, R. Racu, and R. Ernst. Scheduling Analysis Integration for Heterogeneous Multiprocessor SoC. In Proceedings of the 24th IEEE International Real-Time Systems Symposium (RTSS), 2003. Google Scholar
  50. K. Richter, D. Ziegenbein, M. Jersak, and R. Ernst. Model composition for scheduling analysis in platform design. In Proceedings 2002 Design Automation Conference, June 2002. Google Scholar
  51. Jonas Rox and Rolf Ernst. Formal Timing Analysis of Full Duplex Switched Based Ethernet Network Architectures. In SAE Technical Paper, 2010. Google Scholar
  52. Jonas Rox and Rolf Ernst. Compositional Performance Analysis with Improved Analysis Techniques for Obtaining Viable End-to-end Latencies in Distributed Embedded Systems. Int. J. Softw. Tools Technol. Transf., 15(3), 2013. Google Scholar
  53. Yukihiro Saito, Takuya Azumi, Shinpei Kato, and Nobuhiko Nishio. Priority and synchronization support for ROS. In 2016 IEEE 4th International Conference on Cyber-Physical Systems, Networks, and Applications (CPSNA), pages 77-82. IEEE, 2016. Google Scholar
  54. J. Schlatow and R. Ernst. Response-Time Analysis for Task Chains in Communicating Threads. In 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), April 2016. Google Scholar
  55. Johannes Schlatow and Rolf Ernst. Response-Time Analysis for Task Chains with Complex Precedence and Blocking Relations. ACM Trans. Embed. Comput. Syst., 16(5s), September 2017. Google Scholar
  56. Simon Schliecker and Rolf Ernst. A Recursive Approach to End-to-end Path Latency Computation in Heterogeneous Multiprocessor Systems. In Proceedings of the 7th IEEE/ACM International Conference on Hardware/Software Codesign and System Synthesis, CODES+ISSS '09, 2009. Google Scholar
  57. M. A. Serrano, A. Melani, R. Vargas, A. Marongiu, M. Bertogna, and E. Quiñones. Timing characterization of OpenMP4 tasking model. In 2015 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES), 2015. Google Scholar
  58. Insik Shin and Insup Lee. Periodic resource model for compositional real-time guarantees. In 24th IEEE Real-Time Systems Symposium, 2003. Google Scholar
  59. Marco Spuri. Analysis of Deadline Scheduled Real-Time Systems. Technical report, RR-2772, INRIA, 1996. Google Scholar
  60. J. Sun, N. Guan, Y. Wang, Q. He, and W. Yi. Real-Time Scheduling and Analysis of OpenMP Task Systems with Tied Tasks. In 2017 IEEE Real-Time Systems Symposium (RTSS), December 2017. Google Scholar
  61. Yuhei Suzuki, Takuya Azumi, Shinpei Kato, and Nobuhiko Nishio. Real-Time ROS extension on transparent CPU/GPU coordination mechanism. In 2018 IEEE 21st International Symposium on Real-Time Distributed Computing (ISORC), pages 184-192. IEEE, 2018. Google Scholar
  62. L. Thiele, S. Chakraborty, and M. Naedele. Real-time calculus for scheduling hard real-time systems. In 2000 IEEE International Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings, May 2000. Google Scholar
  63. Ken Tindell and John Clark. Holistic Schedulability Analysis for Distributed Hard Real-time Systems. Microprocess. Microprogram., 40(2-3):117–134, 2012. Google Scholar
  64. Ernesto Wandeler and Lothar Thiele. Workload Correlations in Multi-processor Hard Real-time Systems. J. Comput. Syst. Sci., 73(2), 2007. Google Scholar
  65. D. Ziegenbein, M. Jersak, K. Richter, and R. Ernst. Breaking Down Complexity for Reliable System-Level Timing Validation. In Ninth IEEE/DATC Electronic Design Processes Workshop (EDP’02), 2002. 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