[191976]
Title: Compiler-level DMA-aware multi-objective dynamic SPM allocation.
Written by: Shashank Jadhav and Heiko Falk
in: <em>The International Journal of Time-Critical Computing Systems (Real-Time Systems)</em>. April (2025).
Volume: Number:
on pages:
Chapter:
Editor:
Publisher: Springer:
Series:
Address:
Edition:
ISBN: 10.1007/s11241-025-09436-w
how published: 25-95 JF24 RTS
Organization:
School:
Institution:
Type:
DOI:
URL:
ARXIVID:
PMID:

Note: sjadhav, hfalk, memopt, ESD, WCC

Abstract: Real-time embedded systems need to meet timing and energy constraints to avoid potential disasters. Compiler-level ScratchPad Memory (SPM) allocation can be used to optimize a program's Worst-Case Execution Time (WCET) and energy consumption. However, static allocation is limited by SPM size constraints. Dynamic SPM allocation resolves this by allocating code to SPM during runtime, but copying code using the CPU increases WCET and energy consumption. To address this, we integrate a Direct Memory Access (DMA) model and DMA analysis at the compiler level and propose a single-objective DMA Call Placement Optimization (DCPO). In this paper, we consider functions and loops as dynamic allocation candidates. DCPO finds appropriate places within the code to place DMA transfer calls such that the DMA controller and the CPU run parallelly—minimizing the total execution time required by the DMA controller for dynamic allocation of functions and loops during runtime. Additionally, we propose a compiler-level DMA-aware multi-objective dynamic SPM allocation that uses DCPO and simultaneously minimizes WCET and energy objectives, yielding Pareto optimal solutions. Comparative evaluations demonstrate the superiority of our approach over state-of-the-art multi- and single-objective optimizations.