Phased execution models tame the increased complexity and unpredictability of commercial off-the-shelf (COTS) multi-core platforms by separating execution from access to shared resources, e.g., Acquisition-Execution-Restitution (AER) model, PRedictable Execution Model (PREM). Memory phases are used to preload all instructions and data into the local memory so that task computations can be performed only using the local memory without shared memory access. While preemption can improve the schedulability ratio, managing the local memory during preemption becomes nontrivial due to its limited size. In this work, we focus on the 3-phase model under partitioned fixed-priority scheduling. Existing works that allow preemption in this model make the conservative assumption that local memory is sufficiently large to hold the memory partitions for all tasks simultaneously. In contrast, we propose a novel preemption chain analysis that takes the characteristics of the phased execution model into account to compute tight bounds on the memory requirements of a task set under preemption. In addition, we propose a memory-aware mapping (MAM) algorithm that utilizes the preemption chain analysis to assign tasks to cores such that the resulting system meets both timing and memory constraints. Evaluations show that the preemption-chain analysis reduces the memory requirements by up to 50% compared to the state-of-the-art. We further show that the MAM algorithm provides 20% more task sets that satisfy both timing and memory constraints than mapping heuristics that don't take memory into account.
Part of ISBN 9798400717246
QC 20260610