Designing Mixed Criticality Applications on Modern Heterogeneous MPSoC Platforms

Authors Giovani Gracioli, Rohan Tabish, Renato Mancuso, Reza Mirosanlou, Rodolfo Pellizzoni, Marco Caccamo



PDF
Thumbnail PDF

File

LIPIcs.ECRTS.2019.27.pdf
  • Filesize: 1.37 MB
  • 25 pages

Document Identifiers

Author Details

Giovani Gracioli
  • Technical University of Munich, Germany
  • Federal University of Santa Catarina, Brazil
Rohan Tabish
  • University of Illinois at Urbana-Champaign, IL, USA
Renato Mancuso
  • Boston University, MA, USA
Reza Mirosanlou
  • University of Waterloo, Canada
Rodolfo Pellizzoni
  • University of Waterloo, Canada
Marco Caccamo
  • Technical University of Munich, Germany

Acknowledgements

We would like to thank the anonymous reviewers for their valuable feedback, and our shepherd for helping to significantly improve this paper.

Cite AsGet BibTex

Giovani Gracioli, Rohan Tabish, Renato Mancuso, Reza Mirosanlou, Rodolfo Pellizzoni, and Marco Caccamo. Designing Mixed Criticality Applications on Modern Heterogeneous MPSoC Platforms. In 31st Euromicro Conference on Real-Time Systems (ECRTS 2019). Leibniz International Proceedings in Informatics (LIPIcs), Volume 133, pp. 27:1-27:25, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2019)
https://doi.org/10.4230/LIPIcs.ECRTS.2019.27

Abstract

Multiprocessor Systems-on-Chip (MPSoC) integrating hard processing cores with programmable logic (PL) are becoming increasingly common. While these platforms have been originally designed for high performance computing applications, their rich feature set can be exploited to efficiently implement mixed criticality domains serving both critical hard real-time tasks, as well as soft real-time tasks. In this paper, we take a deep look at commercially available heterogeneous MPSoCs that incorporate PL and a multicore processor. We show how one can tailor these processors to support a mixed criticality system, where cores are strictly isolated to avoid contention on shared resources such as Last-Level Cache (LLC) and main memory. In order to avoid conflicts in last-level cache, we propose the use of cache coloring, implemented in the Jailhouse hypervisor. In addition, we employ ScratchPad Memory (SPM) inside the PL to support a multi-phase execution model for real-time tasks that avoids conflicts in shared memory. We provide a full-stack, working implementation on a latest-generation MPSoC platform, and show results based on both a set of data intensive tasks, as well as a case study based on an image processing benchmark application.

Subject Classification

ACM Subject Classification
  • Computer systems organization → Real-time systems
  • Computer systems organization → Embedded systems
  • Computer systems organization → Other architectures
Keywords
  • Mixed-criticality systems
  • SoC Heterogeneous platforms
  • FPGA
  • real-time computing

Metrics

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

References

  1. A. Agrawal, R. Mancuso, R. Pellizzoni, and G. Fohler. Analysis of Dynamic Memory Bandwidth Regulation in Multi-core Real-Time Systems. In 2018 IEEE Real-Time Systems Symposium (RTSS), pages 230-241, December 2018. URL: http://dx.doi.org/10.1109/RTSS.2018.00040.
  2. Ali Awan, Konstantinos Bletsas, Pedro F. Souto, Benny Akesson, and Eduardo Tovar. Mixed-Criticality Scheduling with Dynamic Memory Bandwidth Regulation. In IEEE 24th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA), pages 111-117, August 2018. Google Scholar
  3. Maxim Baryshnikov. FPGA-based support for predictable execution model in multi-core CPU. Master’s thesis, Czech Technical University in Prague, Prague, Czech Republic, May 2018. Google Scholar
  4. Alessandro Biondi, Mauro Marinoni, Giorgio Buttazzo, Claudio Scordino, and Paolo Gai. Challenges in Virtualizing Safety-Critical Cyber-Physical Systems. In Proceedings of Embedded World Conference 2018, pages 1-5, February 2018. Google Scholar
  5. Alan Burns and Robert I. Davis. A Survey of Research into Mixed Criticality Systems. ACM Comput. Surv., 50(6):82:1-82:37, November 2017. URL: http://dx.doi.org/10.1145/3131347.
  6. A. Crespo, P. Balbastre, J. Simó, J. Coronel, D. Gracia Pérez, and P. Bonnot. Hypervisor-Based Multicore Feedback Control of Mixed-Criticality Systems. IEEE Access, 6:50627-50640, 2018. Google Scholar
  7. Evidence. Erika Enterprise RTOS v3, October 2018. Online; accessed 16 October 2018. URL: http://www.erika-enterprise.com/.
  8. T. Facchinetti, G. Buttazzo, M. Marinoni, and G. Guidi. Non-preemptive interrupt scheduling for safe reuse of legacy drivers in real-time systems. In 17th Euromicro Conference on Real-Time Systems (ECRTS'05), pages 98-105, July 2005. URL: http://dx.doi.org/10.1109/ECRTS.2005.21.
  9. Paolo Gai, Enrico Bini, Giuseppe Lipari, Marco Di Natale, and Luca Abeni. Architecture For A Portable Open Source Real Time Kernel Environment. In In Proceedings of the Second Real-Time Linux Workshop and Hand’s on Real-Time Linux Tutorial, 2000. Google Scholar
  10. G. Gracioli, A. Alhammad, R. Mancuso, A. A. Fröhlich, and R. Pellizzoni. A Survey on Cache Management Mechanisms for Real-Time Embedded Systems. ACM Comput. Surv., 48(2), November 2015. Google Scholar
  11. G. Gracioli and A. A. Fröhlich. Two-phase colour-aware multicore real-time scheduler. IET Computers Digital Techniques, 11(4):133-139, 2017. Google Scholar
  12. Heechul Yun. Latency and Bandwidth Utilities. https://github.com/heechul/misc, February 2019. Google Scholar
  13. C. Kenna, J. Herman, B. Ward, and J. H. Anderson. Making shared caches more predictable on multicore platforms. In ECRTS '13, pages 157-167, 2013. Google Scholar
  14. H. Kim, D. de Niz, B. Andersson, M. Klein, O. Mutlu, and R. Rajkumar. Bounding memory interference delay in COTS-based multi-core systems. In 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS), pages 145-154, April 2014. Google Scholar
  15. Hyoseung Kim, Arvind Kandhalu, and Ragunathan Rajkumar. A Coordinated Approach for Practical OS-Level Cache Management in Multi-core Real-Time Systems. In Proc. of the ECRTS 2013, pages 80-89, 2013. Google Scholar
  16. Hyoseung Kim and Ragunathan (Raj) Rajkumar. Predictable Shared Cache Management for Multi-Core Real-Time Virtualization. ACM Trans. Embed. Comput. Syst., 17(1):22:1-22:27, December 2017. Google Scholar
  17. N. Kim, B. C. Ward, M. Chisholm, C. Fu, J. H. Anderson, and F. D. Smith. Attacking the One-Out-Of-m Multicore Problem by Combining Hardware Management with Mixed-Criticality Provisioning. In 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), pages 1-12, April 2016. Google Scholar
  18. T. Kloda, M. Solieri, R. Mancuso, N. Capodieci, P. Valente, and M. Bertogna. Deterministic Memory Hierarchy and Virtualization for Modern Multi-Core Embedded Systems. In 2019 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), Montreal, Canada, April 2019. Google Scholar
  19. R. Mancuso, R. Dudko, E. Betti, M. Cesati, M. Caccamo, and R. Pellizzoni. Real-time cache management framework for multi-core architectures. In Real-Time and Embedded Technology and Applications Symposium (RTAS), 2013 IEEE 19th, pages 45-54. IEEE, 2013. Google Scholar
  20. R. Mancuso, R. Pellizzoni, M. Caccamo, Lui Sha, and Heechul Yun. WCET(m) estimation in multi-core systems using single core equivalence. In 2015 27th Euromicro Conference on Real-Time Systems (ECRTS), pages 174-183, July 2015. Google Scholar
  21. M. Mendez, J.L.G. Rivas, D.F. Garca-Valdecasas, and J. Diaz. Open platform for mixed-criticality applications. In Proc. of the Conference on Design, Automation and Test in Europe, WICERT (DATE), pages 1-7, 2013. Google Scholar
  22. P. Modica, A. Biondi, G. Buttazzo, and A. Patel. Supporting Temporal and Spatial Isolation in a Hypervisor for ARM Multicore Platforms. In Proceedings of the IEEE International Conference on Industrial Technology (ICIT 2018), pages 1-7, February 2018. Google Scholar
  23. T. Mück, A. A. Fröhlich, G. Gracioli, A. Rahmani, and N. Dutt. CHIPS-AHOy: A Predictable Holistic Cyber-Physical Hypervisor for MPSoCs. In International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS), pages 1-8, Samos Island, Greece, 2018. Google Scholar
  24. A. Patel, M. Daftedar, M. Shalan, and M. W. El-Kharashi. Embedded Hypervisor Xvisor: A Comparative Analysis. In 2015 23rd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, pages 682-691, March 2015. Google Scholar
  25. R. Ramsauer, J. Kiszka, D. Lohmann, and W. Mauerer. Look Mum, no VM Exits! (Almost). In Proc. of the 13th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT 2017), pages 13-18, 2017. Google Scholar
  26. M. R. Soliman and R. Pellizzoni. PREM-based optimal task segmentation under fixed priority scheduling. In 2019 31st Euromicro Conference on Real-Time Systems (ECRTS), pages 1-24, July 2019. Google Scholar
  27. The KITTI Vision Benchmark Suite. KITTI, October 2019. Online; accessed 20 April 2019. URL: http://www.cvlibs.net/datasets/kitti/.
  28. 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. Google Scholar
  29. R. Tabish, R. Mancuso, S. Wasly, R. Pellizzoni, and M. Caccamo. A Real-Time Scratchpad-centric OS with Predictable Inter/Intra-Core Communication for Multi-core Embedded Systems. Real Time Systems, 2019. Google Scholar
  30. P. K. Valsan, H. Yun, and F. Farshchi. Taming Non-Blocking Caches to Improve Isolation in Multicore Real-Time Systems. In 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), pages 1-12, April 2016. URL: http://dx.doi.org/10.1109/RTAS.2016.7461361.
  31. Prathap Kumar Valsan, Heechul Yun, and Farzad Farshchi. Taming non-blocking caches to improve isolation in multicore real-time systems. In Real-Time and Embedded Technology and Applications Symposium (RTAS), 2016 IEEE, pages 1-12. IEEE, 2016. Google Scholar
  32. S. K. Venkata, I. Ahn, D. Jeon, A. Gupta, C. Louie, S. Garcia, S. Belongie, and M. B. Taylor. SD-VBS: The San Diego Vision Benchmark Suite. In 2009 IEEE International Symposium on Workload Characterization (IISWC), pages 55-64, October 2009. Google Scholar
  33. S. Wasly and R. Pellizzoni. Hiding memory latency using fixed priority scheduling. In Real-Time and Embedded Technology and Applications Symposium (RTAS), 2014 IEEE 20th, pages 75-86. IEEE, 2014. Google Scholar
  34. Xilinx. Zynq UltraScale+ Device - technical reference manual. URL: https://www.xilinx.com/support/documentation/user_guides/ug1085-zynq-ultrascale-trm.pdf.
  35. Xilinx. Versal: The First Adaptive Compute Acceleration Platform (ACAP). URL: https://www.xilinx.com/support/documentation/white_papers/wp505-versal-acap.pdf, 2018. [Online; accessed 16-January-2019].
  36. M. Xu, L. Thi, X. Phan, H. Y. Choi, and I. Lee. vCAT: Dynamic cache management using CAT virtualization. In 2017 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), pages 211-222, April 2017. Google Scholar
  37. Y. Ye, R. West, J. Zhang, and Z. Cheng. MARACAS: A real-time multicore VCPU scheduling framework. In 2016 IEEE Real-Time Systems Symposium (RTSS), pages 179-190, November 2016. Google Scholar
  38. H. Yun, R. Mancuso, Z.P. Wu, and R. Pellizzoni. PALLOC: DRAM bank-aware memory allocator for performance isolation on multicore platforms. In Real-Time and Embedded Technology and Applications Symposium (RTAS), 2014 IEEE 20th, pages 155-166. IEEE, 2014. Google Scholar
  39. H. Yun, G. Yao, R. Pellizzoni, M. Caccamo, and L. Sha. Memguard: Memory bandwidth reservation system for efficient performance isolation in multi-core platforms. In 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS), pages 55-64. IEEE, 2013. Google Scholar
  40. Y. Zhou and D. Wentzlaff. MITTS: Memory Inter-arrival Time Traffic Shaping. In 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA), pages 532-544, June 2016. URL: http://dx.doi.org/10.1109/ISCA.2016.53.
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