Multi-Objective Memory Bandwidth Regulation and Cache Partitioning for Multicore Real-Time Systems
By: Binqi Sun , Zhihang Wei , Andrea Bastoni and more
Potential Business Impact:
Makes computers run important jobs reliably.
Memory bandwidth regulation and cache partitioning are widely used techniques for achieving predictable timing in real-time computing systems. Combined with partitioned scheduling, these methods require careful co-allocation of tasks and resources to cores, as task execution times strongly depend on available allocated resources. To address this challenge, this paper presents a 0-1 linear program for task-resource co-allocation, along with a multi-objective heuristic designed to minimize resource usage while guaranteeing schedulability under a preemptive EDF scheduling policy. Our heuristic employs a multi-layer framework, where an outer layer explores resource allocations using Pareto-pruned search, and an inner layer optimizes task allocation by solving a knapsack problem using dynamic programming. To evaluate the performance of the proposed optimization algorithm, we profile real-world benchmarks on an embedded AMD UltraScale+ ZCU102 platform, with fine-grained resource partitioning enabled by the Jailhouse hypervisor, leveraging cache set partitioning and MemGuard for memory bandwidth regulation. Experiments based on the benchmarking results show that the proposed 0-1 linear program outperforms existing mixed-integer programs by finding more optimal solutions within the same time limit. Moreover, the proposed multi-objective multi-layer heuristic performs consistently better than the state-of-the-art multi-resource-task co-allocation algorithm in terms of schedulability, resource usage, number of non-dominated solutions, and computational efficiency.
Similar Papers
Multiprocessor Scheduling with Memory Constraints: Fundamental Properties and Finding Optimal Solutions
Distributed, Parallel, and Cluster Computing
Makes computers finish jobs faster by managing data.
CORD: Co-design of Resource Allocation and Deadline Decomposition with Generative Profiling
Operating Systems
Makes computers finish jobs faster on many chips.
Optimising Virtual Resource Mapping in Multi-Level NUMA Disaggregated Systems
Distributed, Parallel, and Cluster Computing
Makes computers run big apps much faster.