In recent years, the real-time community has produced a variety of approaches targeted at managing on-chip memory (scratchpads and caches) in a predictable way. However, to obtain safe WCET bounds, such techniques generally assume that the processor is stalled while waiting to reload the content of the on-chip memory; hence, they are less effective at hiding main memory latency compared to speculation-based techniques, such as hardware prefetching, that are largely used in general-purpose systems. In this work, we introduce a novel compiler-directed prefetching scheme for scratchpad memory that effectively hides the latency of main memory accesses by overlapping data transfers with the program execution. We implement and test an automated program compilation and optimization flow within the LLVM framework, and we show how to obtain improved WCET bounds through static analysis.
@InProceedings{soliman_et_al:LIPIcs.ECRTS.2017.24, author = {Soliman, Muhammad Refaat and Pellizzoni, Rodolfo}, title = {{WCET-Driven Dynamic Data Scratchpad Management With Compiler-Directed Prefetching}}, booktitle = {29th Euromicro Conference on Real-Time Systems (ECRTS 2017)}, pages = {24:1--24:23}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-037-8}, ISSN = {1868-8969}, year = {2017}, volume = {76}, editor = {Bertogna, Marko}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECRTS.2017.24}, URN = {urn:nbn:de:0030-drops-71756}, doi = {10.4230/LIPIcs.ECRTS.2017.24}, annote = {Keywords: scratchpad, LLVM, prefetching, real-time, genetic algorithm} }
Feedback for Dagstuhl Publishing