Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3178442.3178444acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
research-article

Combining PREM compilation and ILP scheduling for high-performance and predictable MPSoC execution

Published: 24 February 2018 Publication History

Abstract

Many applications require both high performance and predictable timing. High-performance can be provided by COTS Multi-Core System on Chips (MPSoC), however, as cores in these systems share the memory bandwidth they are susceptible to interference from each other, which is a problem for timing predictability. We achieve predictability on multi-cores by employing the predictable execution model (PREM), which splits execution into a sequence of memory and compute phases, and schedules these such that only a single core is executing a memory phase at a time.
We present a toolchain consisting of a compiler and an Integer Linear Programming scheduling model. Our compiler uses loop analysis and tiling to transform application code into PREM compliant binaries. Furthermore, we solve the problem of scheduling execution on multiple cores while preventing interference of memory phases.
We evaluate our toolchain on Advanced-Driver-Assistance-Systems-like scenario containing matrix multiplications and FFT computations on NVIDIA TX1. The results show that our approach maintains similar average performance and improves variance of completion times by a factor of 9.

References

[1]
A. Alhammad and R. Pellizzoni. 2014. Time-predictable execution of multithreaded applications on multicore systems. In 2014 Design, Automation Test in Europe Conference Exhibition (DATE). 1--6.
[2]
A. Alhammad, S. Wasly, and R. Pellizzoni. 2015. Memory efficient global scheduling of real-time tasks. In 21st IEEE Real-Time and Embedded Technology and Applications Symposium. 285--296.
[3]
Motor Industry Software Reliability Association and Motor Industry Software Reliability Association Staff. 2013. MISRA C2012: Guidelines for the Use of the C Language in Critical Systems. Motor Industry Research Association. https://books.google.ch/books?id=3yZKmwEACAAJ
[4]
S. Bak, G. Yao, R. Pellizzoni, and M. Caccamo. 2012. 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. 300--309.
[5]
Andrea Bastoni, Bjorn B. Brandenburg, and James H. Anderson. 2010. Cache-Related Preemption and Migration Delays: Empirical Approximation and Impact on Schedulability. In Proc. 6 International Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT 2010). Brussels, Belgium.
[6]
M. Becker, D. Dasari, B. Nicolic, B. Akesson, V. Nélis, and T. Nolte. 2016. Contention-Free Execution of Automotive Applications on a Clustered Many-Core Platform. In 2016 28th Euromicro Conference on Real-Time Systems (ECRTS). 14--24.
[7]
P. Burgio, A. Marongiu, P. Valente, and M. Bertogna. 2015. A memory-centric approach to enable timing-predictability within embedded many-core accelerators. In 2015 CSI Symposium on Real-Time and Embedded Systems and Technologies (RTEST). 1--8.
[8]
Bjorn Forsberg, Andrea Marongiu, and Luca Benini. 2017. GPUguard: Towards Supporting a Predictable Execution Model for Heterogeneous SoC. In DATE'17.
[9]
Tobias Grosser, Armin Groesslinger, and Christian Lengauer. 2012. Polly - Performing Polyhedral Optimizations on a Low-Level Intermediate Representation. Parallel Processing Letters 22, 04 (2012).
[10]
Zdeněk Hanzálek and Přemysl Šůcha. 2017. Time symmetry of resource constrained project scheduling with general temporal constraints and take-give resources. Annals of Operations Research 248, 1 (01 Jan 2017), 209--237.
[11]
Konstantinos Koukos, Per Ekemark, Georgios Zacharopoulos, Vasileios Spiliopoulos, Stefanos Kaxiras, and Alexandra Jimborean. 2016. Multiversioned Decoupled Access-execute: The Key to Energy-efficient Compilation of General-purpose Programs. In Proceedings of the 25th International Conference on Compiler Construction (CC 2016). ACM, New York, NY, USA, 121--131.
[12]
C. Lattner and V. Adve. 2004. LLVM: a compilation framework for lifelong program analysis transformation. In International Symposium on Code Generation and Optimization, 2004. CGO 2004. 75--86.
[13]
J. Liedtke, H. Hartig, and M. Hohmuth. 1997. OS-controlled cache predictability for real-time systems. In Proceedings Third IEEE Real-Time Technology and Applications Symposium. 213--224.
[14]
R. Mancuso, R. Dudko, and M. Caccamo. 2014. 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. 1--10.
[15]
R. Pellizzoni, E. Betti, S. Bak, G. Yao, J. Criswell, M. Caccamo, and R. Kegley 2011. A Predictable Execution Model for COTS-Based Embedded Systems. In 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium. 269--279.
[16]
Muhammad Refaat Soliman and Rodolfo Pellizzoni. 2017. WCET-Driven Dynamic Data Scratchpad Management With Compiler-Directed Prefetching. In 29th Euromicro Conference on Real-Time Systems (ECRTS 2017) (Leibniz International Proceedings in Informatics (LIPIcs)), Marko Bertogna (Ed.), Vol. 76. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 24:1--24:23.
[17]
Gang Yao, Rodolfo Pellizzoni, Stanley Bak, Emiliano Betti, and Marco Caccamo. 2012. Memory-centric scheduling for multicore hard real-time systems. Real-Time Systems 48, 6 (01 Nov 2012), 681--715.
[18]
G. Yao, R. Pellizzoni, S. Bak, H. Yun, and M. Caccamo. 2016. Global Real-Time Memory-Centric Scheduling for Multicore Systems. IEEE Trans. Comput. 65, 9 (Sept 2016), 2739--2751.
[19]
H. Yun, R. Mancuso, Z. P. Wu, and R. Pellizzoni. 2014. PALLOC: DRAM bank-aware memory allocator for performance isolation on multicore platforms. In 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS). 155--166.
[20]
H. Yun, G. Yao, R. Pellizzoni, M. Caccamo, and L. Sha. 2013. 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). 55--64.

Cited By

View all
  • (2024)Work in Progress: Predictable Execution of Isolated Real-Time Tasks on Multicore Systems Using the LET Paradigm2024 IEEE 30th Real-Time and Embedded Technology and Applications Symposium (RTAS)10.1109/RTAS61025.2024.00038(386-389)Online publication date: 13-May-2024
  • (2023)Methods to Realize Preemption in Phased Execution ModelsACM Transactions on Embedded Computing Systems10.1145/360913222:5s(1-25)Online publication date: 31-Oct-2023
  • (2022)Real-Time Requirements for ADAS Platforms Featuring Shared Memory HierarchiesIEEE Design & Test10.1109/MDAT.2020.301382839:1(35-41)Online publication date: Feb-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PMAM'18: Proceedings of the 9th International Workshop on Programming Models and Applications for Multicores and Manycores
February 2018
89 pages
ISBN:9781450356459
DOI:10.1145/3178442
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 February 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Integer Linear Programming
  2. LLVM
  3. NVIDIA TX1
  4. PREM
  5. predictability
  6. static scheduling

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • Horizon 2020 Framework Programme

Conference

PPoPP '18

Acceptance Rates

PMAM'18 Paper Acceptance Rate 9 of 17 submissions, 53%;
Overall Acceptance Rate 53 of 97 submissions, 55%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)0
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Work in Progress: Predictable Execution of Isolated Real-Time Tasks on Multicore Systems Using the LET Paradigm2024 IEEE 30th Real-Time and Embedded Technology and Applications Symposium (RTAS)10.1109/RTAS61025.2024.00038(386-389)Online publication date: 13-May-2024
  • (2023)Methods to Realize Preemption in Phased Execution ModelsACM Transactions on Embedded Computing Systems10.1145/360913222:5s(1-25)Online publication date: 31-Oct-2023
  • (2022)Real-Time Requirements for ADAS Platforms Featuring Shared Memory HierarchiesIEEE Design & Test10.1109/MDAT.2020.301382839:1(35-41)Online publication date: Feb-2022
  • (2022)Software-Level Memory Regulation to Reduce Execution Time Variation on Multicore Real-Time SystemsIEEE Access10.1109/ACCESS.2022.320370210(93799-93811)Online publication date: 2022
  • (2022)A Survey of Techniques for Reducing Interference in Real-Time Applications on Multicore PlatformsIEEE Access10.1109/ACCESS.2022.315189110(21853-21882)Online publication date: 2022
  • (2022)Combining PREM compilation and static scheduling for high-performance and predictable MPSoC executionParallel Computing10.1016/j.parco.2018.11.00285:C(27-44)Online publication date: 20-Apr-2022
  • (2020)WCET-aware Code Generation and Communication Optimization for Parallelizing Compilers2020 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE48585.2020.9116400(210-215)Online publication date: Mar-2020
  • (2019)Segment Streaming for the Three-Phase Execution Model: Design and Implementation2019 IEEE Real-Time Systems Symposium (RTSS)10.1109/RTSS46320.2019.00032(260-273)Online publication date: Dec-2019
  • (2019)Code generation for multi-phase tasks on a multi-core distributed memory platform2019 IEEE 25th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA)10.1109/RTCSA.2019.8864558(1-6)Online publication date: Aug-2019

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media