Optimal resource use improves real-time performance on multicore systems
Optimal Dynamic Resource Allocation for Multicore Real-time Systems
Operating Systems
Summary
Real-time computer systems must complete tasks by strict deadlines using multiple processor cores. The paper presents a new way to decide how to best share resources dynamically to meet these deadlines without wasting capacity. The authors prove under certain conditions that an optimal way to allocate resources exists and design an algorithm to find it. They also test their algorithm on real multicore hardware with common benchmarks to show how it works in practice.
What this means in practice
- •For embedded systems engineers: Improve scheduling and resource distribution in real-time embedded systems to reliably meet hard deadlines on multicore processors.
- •For cloud infrastructure operators: Enhance workload management for real-time applications running on multicore cloud servers to better meet timing guarantees.
Authors
Georgiy A. Bondar, Abigail Eisenklam, Ripon C. Sarker, Linh Thi Xuan Phan, Abhishek Halder
Abstract
We formulate a novel optimal control problem for data-driven dynamic resource allocation in multicore real-time systems. The proposed formulation accounts for hard deadline constraints and resource bounds. Under mild assumptions, we prove several results on the feasibility and existence of optimal solution for the proposed formulation. Building on these analyses, we design an algorithm to solve the multi-core dynamic resource allocation problem. We demonstrate the practical use of this new algorithm by experimentally evaluating it on a real multicore platform using four benchmarks from the literature.