Implementation of Memory Centric Scheduling for COTS Multi-Core Real-Time Systems

Authors Juan M. Rivas, Joël Goossens, Xavier Poczekajlo, Antonio Paolillo



PDF
Thumbnail PDF

File

LIPIcs.ECRTS.2019.7.pdf
  • Filesize: 0.94 MB
  • 23 pages

Document Identifiers

Author Details

Juan M. Rivas
  • PARTS Research Centre, Université libre de Bruxelles, Brussels, Belgium
Joël Goossens
  • PARTS Research Centre, Université libre de Bruxelles, Brussels, Belgium
Xavier Poczekajlo
  • PARTS Research Centre, Université libre de Bruxelles, Brussels, Belgium
Antonio Paolillo
  • HIPPEROS S.A., Louvain-la-Neuve, Belgium

Cite AsGet BibTex

Juan M. Rivas, Joël Goossens, Xavier Poczekajlo, and Antonio Paolillo. Implementation of Memory Centric Scheduling for COTS Multi-Core Real-Time Systems. In 31st Euromicro Conference on Real-Time Systems (ECRTS 2019). Leibniz International Proceedings in Informatics (LIPIcs), Volume 133, pp. 7:1-7:23, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2019)
https://doi.org/10.4230/LIPIcs.ECRTS.2019.7

Abstract

The demands for high performance computing with a low cost and low power consumption are driving a transition towards multi-core processors in many consumer and industrial applications. However, the adoption of multi-core processors in the domain of real-time systems faces a series of challenges that has been the focus of great research intensity during the last decade. These challenges arise in great part from the non real-time nature of the hardware arbiters that schedule the access to shared resources, such as the main memory. One solution proposed in the literature is called Memory Centric Scheduling, which defines a separate software scheduler for the sections of the tasks that will access the main memory, hence circumventing the low level unpredictable hardware arbiters. Several Memory Centric schedulers and associated theoretical analyses have been proposed, but as far as we know, no actual implementation of the required OS-level underpinnings to support dynamic event-driven Memory Centric Scheduling has been presented before. In this paper we aim to fill this gap, targeting cache based COTS multi-core systems. We will confirm via measurements the main theoretical benefits of Memory Centric Scheduling (e.g. task isolation). Furthermore, we will describe an effective schedulability analysis using concepts from distributed systems.

Subject Classification

ACM Subject Classification
  • Computer systems organization → Real-time systems
Keywords
  • real-time
  • multi-core
  • memory centric
  • predictability
  • implementation
  • rtos

Metrics

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

References

  1. Ankit Agrawal, Renato Mancuso, Rodolfo Pellizzoni, and Gerhard Fohler. Analysis of Dynamic Memory Bandwidth Regulation in Multi-core Real-Time Systems. In 2018 IEEE Real-Time Systems Symposium (RTSS), pages 230-241. IEEE, December 2018. Google Scholar
  2. Ahmed Alhammad and Rodolfo Pellizzoni. Schedulability analysis of global memory-predictable scheduling. In Proceedings of the 14th International Conference on Embedded Software - EMSOFT '14, pages 1-10, 2014. Google Scholar
  3. Ahmed Alhammad and Rodolfo Pellizzoni. Time-predictable execution of multithreaded applications on multicore systems. In Design, Automation & Test in Europe Conference & Exhibition (DATE), 2014, pages 1-6, New Jersey, 2014. IEEE Conference Publications. Google Scholar
  4. Ahmed Alhammad, Saud Wasly, and Rodolfo Pellizzoni. Memory efficient global scheduling of real-time tasks. In Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), pages 285-296, 2015. Google Scholar
  5. Sebastian Altmeyer, Robert I. Davis, and Claire Maiza. Improved cache related pre-emption delay aware response time analysis for fixed priority pre-emptive systems. Real-Time Systems, 48(5):499-526, September 2012. Google Scholar
  6. Sebastian Altmeyer, Roeland Douma, Will Lunniss, and Robert I. Davis. On the effectiveness of cache partitioning in hard real-time systems. Real-Time Systems, 52(5):598-643, September 2016. Google Scholar
  7. ARM. Armregistered Architecture Reference Manual Supplement Memory System Resource Partitioning and Monitoring (MPAM). URL: https://developer.arm.com/docs/ddi0598/latest.
  8. Muhammad Ali Awan, Pedro F. Souto, Benny Akesson, Konstantinos Bletsas, and Eduardo Tovar. Uneven memory regulation for scheduling IMA applications on multi-core platforms. Real-Time Systems, 55(2):248-292, April 2019. Google Scholar
  9. Stanley Bak, Gang Yao, Rodolfo Pellizzoni, and Marco Caccamo. Memory-Aware Scheduling of Multicore Task Sets for Real-Time Systems. In 2012 IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, pages 300-309. IEEE, August 2012. Google Scholar
  10. Moris Behnam, Rafia Inam, Thomas Nolte, and Mikael Sjödin. Multi-core composability in the face of memory-bus contention. ACM SIGBED Review, 10(3):35-42, October 2013. Google Scholar
  11. Bach D. Bui, Marco Caccamo, Lui Sha, and Joseph Martinez. Impact of Cache Partitioning on Multi-tasking Real Time Embedded Systems. In 2008 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, pages 101-110. IEEE, August 2008. Google Scholar
  12. Felipe Cerqueira, Manohar Vanga, and Björn B. Brandenburg. Scaling global scheduling with message passing. In 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS), pages 263-274, April 2014. Google Scholar
  13. Robert I. Davis and Alan Burns. A survey of hard real-time scheduling for multiprocessor systems. ACM Computing Surveys, 43(4):1-44, October 2011. Google Scholar
  14. Michael González Harbour, Jose Javier Gutiérrez, José M. Drake, Patricia López Martínez, and Jose Carlos Palencia. Modeling distributed real-time systems with MAST 2. Journal of Systems Architecture, 59(6):331-340, June 2013. Google Scholar
  15. Arne Hamann, Marek Jersak, Kai Richter, and Rolf Ernst. Design space exploration and system optimization with symTA/S - Symbolic timing analysis for systems. Proceedings - Real-Time Systems Symposium, pages 469-478, 2004. Google Scholar
  16. Tobias Kalb, Lester Kalms, Diana Göhringer, Carlota Pons, Ananya Muddukrishna, Magnus Jahre, Boitumelo Ruf, Tobias Schuchert, Igor Tchouchenkov, Carl Ehrenstråhle, Magnus Peterson, Flemming Christensen, Antonio Paolillo, Ben Rodriguez, and Philippe Millet. Developing Low-Power Image Processing Applications with the TULIPP Reference Platform Instance, pages 181-197. Springer International Publishing, Cham, 2019. Google Scholar
  17. Claire Maiza, Hamza Rihani, Juan M Rivas, Joël Goossens, Sebastian Altmeyer, and Robert I Davis. A Survey of Timing Verification Techniques for Multi-Core Real-Time Systems. ACM Computing Surveys, 52(3), July 2019. Google Scholar
  18. R. Mancuso, R. Dudko, and M. Caccamo. Light-PREM: Automated software refactoring for predictable execution on COTS embedded systems. In 2014 IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications, pages 1-10, August 2014. Google Scholar
  19. Renato Mancuso, Roman Dudko, Emiliano Betti, Marco Cesati, Marco Caccamo, and Rodolfo Pellizzoni. Real-time cache management framework for multi-core architectures. In 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS), pages 45-54. IEEE, April 2013. Google Scholar
  20. Renato Mancuso, Rodolfo Pellizzoni, Marco Caccamo, Lui Sha, and Heechul Yun. WCET (m) estimation in multi-core systems using single core equivalence. In Proceedings of the Euromicro Conference on Real-Time Systems (ECRTS), pages 174-183. IEEE, 2015. Google Scholar
  21. Renato Mancuso, Rodolfo Pellizzoni, Neriman Tokcan, and Marco Caccamo. WCET Derivation Under Single Core Equivalence With Explicit Memory Budget Assignment. In LIPIcs-Leibniz International Proceedings in Informatics, volume 76. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 2017. Google Scholar
  22. Joel Matějka, Björn Forsberg, Michal Sojka, Zdeněk Hanzálek, Luca Benini, and Andrea Marongiu. Combining PREM Compilation and ILP Scheduling for High-performance and Predictable MPSoC Execution. In Proceedings of the 9th International Workshop on Programming Models and Applications for Multicores and Manycores, PMAM'18, pages 11-20, New York, NY, USA, 2018. ACM. Google Scholar
  23. Sparsh Mittal. A Survey of Techniques for Cache Partitioning in Multicore Processors. ACM Computing Surveys, 50(2):1-39, May 2017. Google Scholar
  24. Frank Mueller. Compiler Support for Software-based Cache Partitioning. In Proceedings of the ACM SIGPLAN 1995 Workshop on Languages, Compilers, &Amp; Tools for Real-time Systems, LCTES '95, pages 125-133, New York, NY, USA, 1995. ACM. Google Scholar
  25. University of Cantabria. MAST. URL: https://mast.unican.es/.
  26. Jose Carlos Palencia and Michael Gonzalez Harbour. Schedulability analysis for tasks with static and dynamic offsets. In Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279), pages 26-37. IEEE Comput. Soc, 1998. Google Scholar
  27. Jose.C. Palencia and Michael Gonzalez Harbour. Exploiting precedence relations in the schedulability analysis of distributed real-time systems. In Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054), pages 328-339. IEEE Comput. Soc, 1999. Google Scholar
  28. Antonio Paolillo, Olivier Desenfans, Vladimir Svoboda, Joël Goossens, and Ben Rodriguez. A New Configurable and Parallel Embedded Real-time Micro-Kernel for Multi-core platforms. OSPERT 2015, pages 25-27, 2015. Google Scholar
  29. Antonio Paolillo, Paul Rodriguez, Vladimir Svoboda, Olivier Desenfans, Joël Goossens, Ben Rodriguez, Sylvain Girbal, Madeleine Faugère, and Philippe Bonnot. Porting a safety-critical industrial application on a mixed-criticality enabled real-time operating system. In Proceedings of the 5th Workshop on Mixed-Criticality Systems, December 2017. Google Scholar
  30. Antonio Paolillo, Paul Rodriguez, Nikita Veshchikov, Joël Goossens, and Ben Rodriguez. Quantifying Energy Consumption for Practical Fork-Join Parallelism on an Embedded Real-Time Operating System. In Proceedings of the 24th International Conference on Real-Time Networks and Systems, RTNS '16, pages 329-338. ACM, 2016. Google Scholar
  31. Rodolfo Pellizzoni, Emiliano Betti, Stanley Bak, Gang Yao, John Criswell, Marco Caccamo, and Russell Kegley. A Predictable Execution Model for COTS-Based Embedded Systems. In 17th IEEE Real-Time and Embedded Technology and Applications Symposium, pages 269-279. IEEE, April 2011. Google Scholar
  32. Juan M. Rivas, Jose Javier Gutiérrez, Jose Carlos Palencia, and Michael González Harbour. Schedulability analysis and optimization of heterogeneous EDF and FP distributed real-time systems. Euromicro Conference on Real-Time Systems (ECRTS), pages 195-204, 2011. Google Scholar
  33. HIPPEROS SA. The real-time OS for high performance embedded systems. https://www.hipperos.com/maestro/. 2019-02-04.
  34. Ahmad Sadek, Ananya Muddukrishna, Lester Kalms, Asbjørn Djupdal, Ariel Podlubne, Antonio Paolillo, Diana Goehringer, and Magnus Jahre. Supporting Utilities for Heterogeneous Embedded Image Processing Platforms (STHEM): An Overview. In Nikolaos Voros, Michael Huebner, Georgios Keramidas, Diana Goehringer, Christos Antonopoulos, and Pedro C. Diniz, editors, Applied Reconfigurable Computing. Architectures, Tools, and Applications, pages 737-749, Cham, 2018. Springer International Publishing. Google Scholar
  35. R. Tabish, R. Mancuso, S. Wasly, A. Alhammad, S. S. Phatak, R. Pellizzoni, and M. Caccamo. A Real-Time Scratchpad-Centric OS for Multi-Core Embedded Systems. In 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), pages 1-11, April 2016. URL: http://dx.doi.org/10.1109/RTAS.2016.7461321.
  36. Ken Tindell and John Clark. Holistic schedulability analysis for distributed hard real-time systems. Microprocessing and Microprogramming, 40(2-3):117-134, April 1994. Google Scholar
  37. Saud Wasly and Rodolfo Pellizzoni. Hiding Memory Latency Using Fixed Priority Scheduling. In Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), pages 75-86, 2014. Google Scholar
  38. Gang Yao, Rodolfo Pellizzoni, Stanley Bak, Emiliano Betti, and Marco Caccamo. Memory-centric scheduling for multicore hard real-time systems. Real-Time Systems, 48(6):681-715, November 2012. Google Scholar
  39. Gang Yao, Rodolfo Pellizzoni, Stanley Bak, Heechul Yun, and Marco Caccamo. Global Real-Time Memory-Centric Scheduling for Multicore Systems. IEEE Transactions on Computers, 65(9):2739-2751, 2016. Google Scholar
  40. Gang Yao, Heechul Yun, Zheng Pei Wu, Rodolfo Pellizzoni, Marco Caccamo, and Lui Sha. Schedulability Analysis for Memory Bandwidth Regulated Multicore Real-Time Systems. IEEE Transactions on Computers, 65(2):601-614, February 2016. Google Scholar
  41. Heechul Yun, Renato Mancuso, Zheng-Pei Wu, and Rodolfo Pellizzoni. PALLOC: DRAM bank-aware memory allocator for performance isolation on multicore platforms. In IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS), pages 155-166. IEEE, April 2014. Google Scholar
  42. Heechul Yun, Gang Yao, Rodolfo Pellizzoni, Marco Caccamo, and Lui Sha. MemGuard: Memory bandwidth reservation system for efficient performance isolation in multi-core platforms. In Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), pages 55-64, 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