Abstract 1 Introduction 2 Related Work 3 Problem Statement and Optimization Formulation 4 Challenges and Approach Overview 5 Dynamic Resource Allocation at Runtime 6 Uncertainty-Aware Dynamic Resource Allocation 7 Predictive Model Evaluation 8 Prototype and Experimental Evaluation 9 Conclusion References

Uncertainty-Aware Resource Allocation for Multi-Path Programs with In-Kernel Predictions

Abigail Eisenklam111Equal contribution. ORCID University of Pennsylvania, Philadelphia, PA, USA    Carlos A. Montenegro G.111Equal contribution. ORCID University of California, Santa Cruz, CA, USA    Xian Wang ORCID University of Pennsylvania, Philadelphia, PA, USA    Yifan Cai ORCID University of Pennsylvania, Philadelphia, PA, USA    Robert Gifford ORCID University of Pennsylvania, Philadelphia, PA, USA    Linh Thi Xuan Phan ORCID University of Pennsylvania, Philadelphia, PA, USA    Ricardo G. Sanfelice ORCID University of California, Santa Cruz, CA, USA
Abstract

Predictable timing on multicore systems requires careful management of shared resources such as the last-level cache and memory bandwidth. This paper presents MPORA, an uncertainty-aware dynamic resource allocation framework for multi-path, input-dependent real-time tasks on multicore platforms. MPORA models each job as a discrete-time dynamical system that captures execution dynamics and resource-dependent performance indicators. At runtime, MPORA monitors job execution states and predicts short-term instruction rates and remaining execution times under candidate allocations using predictive models trained offline. It then solves a receding-horizon optimization problem to compute resource allocations that maximize system-wide progress while meeting job deadlines. To address prediction uncertainty, MPORA integrates weighted conformal prediction into the optimization formulation, enabling uncertainty-aware deadline constraints. We implement MPORA as a Linux kernel module with microsecond-scale inference overhead. Experimental results on SPEC CPU benchmarks show that MPORA delivers accurate predictions under unseen inputs and distribution shifts with low overhead, while improving schedulability and response times over existing methods.

Keywords and phrases:
multicore, resource allocation, optimal control, learning, multi-path programs
Copyright and License:
[Uncaptioned image] © Abigail Eisenklam, Carlos A. Montenegro G.,
Xian Wang, Yifan Cai, Robert Gifford,
Linh Thi Xuan Phan, and Ricardo G. Sanfelice; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Computer systems organization → Real-time operating systems
Supplementary Material:
Software  (Source Code): https://github.com/phan-lab/MPORA [19]
  archived at Software Heritage Logo swh:1:dir:effbb0b80f77dea1364355a09ce8c305aebc15b2
Funding:
Partially supported by NSF Grants no. CNS-1955670, CNS-2039054, CNS-2111688, and CCF-2326606, by AFOSR Grants nos. FA9550-23-1-0145, FA9550-23-1-0313, and FA9550-23-1-0678, by AFRL Grant nos. FA8651-22-1-0017 and FA8651-23-1-0004, by ARO Grant no. W911NF-20-1-0253, by DoD Grant no. W911NF-23-1-0158, and by UC Alianza MX Grant no. SRPUCMX24-01.
Supplementary Material:
Software  (ECRTS 2026 Artifact Evaluation approved artifact): https://doi.org/10.4230/DARTS.12.2.9
Editor:
Angeliki Kritikakou

1 Introduction

Modern real-time systems increasingly run on multicore platforms to meet growing computational demands. However, sharing resources – such as last-level caches and memory bandwidth – among cores can cause timing interference: concurrently executing tasks may contend for the same resources, leading to unpredictable execution times. Careful allocation of these resources is therefore critical to ensure real-time performance.

State-of-the-art multicore resource allocation strategies, however, are constrained by static assumptions or design choices. Some methods fix resource assignments at design time [61, 60, 44, 45, 55] and assume static resource demands, often leaving resources underutilized. Others adjust allocations dynamically but still rely on predetermined execution paths or fixed inputs, overlooking the inherent variability of real-world workloads [48, 50, 26, 27, 20, 25].

In reality, the timing behaviors and resource demands of real-time tasks fluctuate across program phases and depend on inputs, code paths, and scheduling decisions [16] (c.f. Fig. 1). To adapt to these changing conditions, we propose a more responsive approach: instead of provisioning for worst-case behavior or assuming fixed paths, the system continuously monitors execution state, predicts execution progress under candidate allocations, and adjusts resources to optimize utilization and response time under deadline constraints.

Figure 1: Profiles for SPEC benchmark omnetpp with a large (left) vs. medium (right) input. The shaded region represents possible rates under dynamic allocation. Axes are normalized to [0, 1].

Contributions.

This paper presents MPORA, an uncertainty-aware dynamic resource allocation framework for multicore real-time systems targeting input-dependent multi-path programs. MPORA models each job as a discrete-time dynamical system whose state captures execution features such as current progress and resource-usage indicators. Using profiling data collected across diverse inputs and allocations, MPORA learns regression models that predict short-term execution rates and remaining execution times under candidate allocations.

At runtime, MPORA employs a receding-horizon, model predictive control (MPC)-like approach: at each allocation step, it solves a finite-horizon optimization problem that selects resource assignments to optimize predicted instructions retired and job response times. It recomputes allocations often, enabling adaptation to system state changes. To account for prediction errors, MPORA provides a novel integration with weighted conformal prediction (CP) that provides uncertainty-aware deadline constraints in our dynamic resource allocation.

Realizing MPORA in practical real-time systems requires addressing three systems challenges: low-overhead execution-state characterization, microsecond-scale model inference and uncertainty estimation, and efficient solution of the finite-horizon allocation problem within the kernel. Thus, MPORA is implemented as a Linux kernel module using fixed-point gradient boosting regression trees (GBRT) for prediction.

We evaluate MPORA on benchmarks from the SPEC 2017 Intspeed suite [52] under diverse inputs and resource configurations. Results show that the learned models accurately predict fine-grained execution dynamics (such as those shown in Fig. 1) with a median prediction time of at most 1.23 microseconds across all benchmarks. These models generalize to previously unseen inputs, while the conformal prediction framework maintains bounded prediction error with high probability. Our uncertainty-aware dynamic allocation also improves schedulability and response time over existing dynamic allocation methods.

To the best of our knowledge, MPORA is the first framework to formulate multicore resource allocation as an uncertainty-aware model predictive control problem over learned execution dynamics. By shifting from static worst-case provisioning to statistically calibrated learning-based control, MPORA enables responsive resource management that improves performance while providing robustness against prediction errors.

2 Related Work

Multicore resource allocation.

Early work on multicore resource allocation predominantly relied on static partitioning of shared resources, such as last-level cache and memory bandwidth [61, 60, 44, 45, 55]. These approaches provision resources offline using worst-case assumptions, thus providing strong isolation guarantees but often resulting in poor resource utilization under typical workloads. More recent techniques dynamically allocate resources at runtime [48, 50, 26, 27, 20, 25] to adapt to changing demand. While these approaches improve responsiveness, they often retain static assumptions, such as fixed execution paths, predetermined inputs, or input-independent demand models. MPORA addresses the more practical setting of multi-path programs with runtime inputs unknown a priori.

Learning-based workload prediction and phase modeling.

Learning techniques have been used extensively to predict execution behavior and improve workload performance. Prior work in this area broadly falls into two categories. The first predicts a job’s execution time under a static resource assignment to guide coarse-grained allocations [5, 4, 33, 30]. These methods operate at job granularity and are designed for more relaxed prediction times, making them unsuitable for millisecond-scale allocation decisions. The second category focuses on online [7, 56, 40] or offline [8] program phase detection to inform resource management. However, these models have limitations: some incur inference overheads incompatible with millisecond-scale control decisions [28, 40], others do not model execution behavior under different resource allocations [56], and some assume a fixed execution path [8].

Timing analysis for multi-path, input-dependent programs.

Timing analysis is a central topic in real-time systems. Static techniques [14, 36, 31, 10] provide strong guarantees but do not scale with the number of execution paths and resource contexts, making them unsuitable for fine-grained runtime adaptation across arbitrary inputs and resource allocations. In contrast, measurement-based techniques [18, 13, 38, 37] avoid exhaustive analysis but rely on representative input sets, which are inherently incomplete for complex, input-dependent programs [16]. Consequently, offline timing bounds may not reflect runtime behavior.

Feedback control scheduling and resource allocation.

Feedback control has long been used to improve the real-time performance by adapting to observed runtime behavior [41, 53]. However, many such solutions are designed to react to changes in the system state, targeting high-level performance metrics, such as deadline miss ratios, utilization, or response times [23, 35, 46, 54]. Instead, we take a fine-grained, intra-job approach, in which we plan resource allocations over a prediction horizon to maximize an optimization objective in upcoming allocation intervals. This introduces distinct challenges which are addressed in this work, including the learning of input/resource/phase-aware task models, uncertainty-quantification under input distribution shifts, and efficient in-kernel inference and optimization.

3 Problem Statement and Optimization Formulation

We first describe the system model and resource allocation problem, then present an offline, clairvoyant optimization formulation that serves as an optimal reference for our proposed online solution. Throughout the paper, we use the notation ℕ0≔{0,1,2,…} and ℕ+≔ℕ0∖{0}. Given n∈ℕ+, let [n]0≔{0,1,…,n} and [n]≔[n]0∖{0}.

3.1 System Model and Problem Statement

System model.

The system consists of a set of n∈ℕ+ tasks Γ≔{τ1,τ2,…,τn} executing on a multicore platform. Each task τi releases a sequence of jobs τi,j, j∈ℕ+, with arbitrary release times ri,j and arbitrary absolute deadlines di,j, where ri,j≤ri,j+1 and ri,j<di,j. Jobs are scheduled on the cores under a given deterministic scheduling policy 𝒜, such as global Earliest Deadline First (EDF) or Fixed-Priority (FP) [15]. As standard in real-time systems, each task is assumed to be a single-threaded, deterministic software program.

We consider a platform with M∈ℕ+ identical cores and B∈ℕ+ shared resources (e.g., last-level cache (LLC) and memory bandwidth). Each resource can be divided into a finite number of equal-size partitions using mechanisms such as CAT [32] or LbM [42, 2] for the LLC and MemGuard [63] for memory bandwidth. Each resource b∈[B] has at most βbmax partitions, and each core must be assigned at least βbmin partitions (e.g., βbmax=20 and βbmin=2 on some CAT-enabled platforms). A resource allocation to a core is then represented by a vector with B components, with the b-th component specifying the number of partitions of the b-th resource assigned to the core. Let βmin≔(β1min,β2min,…,βBmin) and βmax≔(β1max,β2max,…,βBmax), which denote the minimum and maximum allocation per core, respectively. Then, ℬ≔{β∈ℕ0B:βbmin≤βb≤βbmax⁢ for all ⁢b∈[B]} represents the set of all possible resource allocations to a core (or to a job running on a core).

Resource allocation problem.

Given a system specified by (Γ,𝒜,M,B,ℬ), our objective is to allocate the B shared resources across the M cores to optimize job response times and total number of instructions retired while meeting deadlines. To adapt to time-varying resource demands, we employ a fine-grained allocation approach that updates resource allocations periodically at fixed intervals of length Δ∈ℕ+ time units. Let t0 be the initial allocation time. At each allocation step k∈ℕ0, corresponding to time tk≔t0+k⁢Δ, the allocator selects βk≔(βk,1,βk,2,…,βk,M)∈ℬM, where βk,m specifies the allocation assigned on core m∈[M] over the interval Ik=[tk,tk+Δ). For convenience, we denote by βk(i,j) the resources allocated to τi,j during Ik (i.e., βk(i,j)=βk,m) if τi,j is scheduled on core m during Ik, and βk(i,j)=0 otherwise. The goal is to determine {βk}k∈ℕ0, i.e., the distribution of resources to cores at each allocation step, that minimizes total job response time and/or maximizes total number of retired instructions, subject to deadline constraints.

3.2 Job Execution State and Execution Dynamics

On a multicore platform, the execution rate of a job – defined as the number of instructions completed during an interval Ik – depends on its current execution state, including the input-induced execution path, its current progress along this path (i.e, the number of instructions retired at step k), and its sensitivity to allocated resources over Ik. To capture this dependence, we model each job’s execution state and its dynamics under a given allocation as follows.

Execution state.

For each job τi,j, let xi,j,k∈ℝpi denote its execution state at allocation step k∈ℕ0. To track execution progress, we let the first component xi,j,k(1) represent the cumulative number of instructions retired by τi,j up to time tk. Since we consider input-dependent programs, we also include the input value (in the form of a vector) in the execution state of each job. Thus, the dimension pi∈ℕ+ is task dependent.

Execution dynamics.

For each i∈[n], let μi:ℝpi×ℬ→ℕ0 be an execution rate function that maps a state–allocation vector (xi,j,k,βk(i,j)) to the number of instructions retired by τi,j during the interval Ik, where τi,j is assigned the resources βk(i,j)∈ℬ during this interval. We further suppose that the execution state of job τi,j satisfies, for each k∈ℕ0,

xi,j,k+1=Gi⁢(xi,j,k,βk(i,j)), (1)

where Gi:ℝpi×ℬ→ℝpi. Here, Gi is assumed to be induced by μi for each i∈[n], and captures the program-specific evolution of a job’s execution state. In particular, we have that Gi has its first component given by xi,j,k+1(1)=xi,j,k(1)+μi⁢(xi,j,k,βk(i,j)) for any job τi,j. Constructing Gi as such enables forward propagation of a job’s state across allocation steps, allowing resource allocations chosen at step k∈ℕ0 to account not only for the immediate interval Ik but also for future intervals Ik+η=[tk+η,tk+η+Δ) for each η∈ℕ+.

3.3 Clairvoyant Optimization Formulation

Given a finite set of jobs 𝒥 of taskset Γ, we now present an offline and clairvoyant optimization program to address the resource allocation problem assuming that: 1) the functions μi and Gi are known for all i∈[n], and 2) the release time ri,j, deadline di,j, and input of each job τi,j∈𝒥 are known a priori. We assume the system begins at t0. The initial execution state of each job τi,j∈𝒥 at allocation step k=0 is xi,j,0 where xi,j,0(1)=0 (i.e., no instruction has been completed). Since each task in Γ is single-threaded and deterministic, we can determine the terminal execution state x¯i,j of each job τi,j under its given input by executing τi with the same input. In particular, we define x¯i,j(1) to be the total number of instructions retired by τi when executed with the input given for job τi,j.

Then, the maximum completion time and response time of each job τi,j∈𝒥 are given by

Ci,j≔min⁡{k⁢Δ:xi,j,k(1)=x¯i,j(1)}+t0 and Ri,j≔Ci,j−ri,j,

respectively. In addition, we denote by ⊥ a job that represents idle execution, with z↦μ⊥⁢(z)=0 and x⊥,k=0 for all k∈ℕ+. Finally, let 𝒮⊥≔(⊥,…,⊥)∈{⊥}M, representing idle execution at time t<t0.

Let Qk be the ready queue containing a set of active (released, but unfinished) jobs, and 𝒮k be the vector of M jobs (potentially including idle jobs ⊥) that are scheduled on the M cores at allocation step k∈ℕ0. We assume the job scheduler 𝒜:(Qk+1,𝒮k)↦𝒮k+1 is deterministic: given identical ready queues Qk+1 at allocation step k+1 and identical job schedules 𝒮k at the previous step k, 𝒜 produces the same job schedule 𝒮k+1.

Consider a horizon of N∈ℕ+ allocation steps, where tN≔t0+N⁢Δ≥maxτi,j∈𝒥⁡di,j. Our goal is to find the allocation βk for each step k∈[N−1]0 to minimize the total job response times and maximize the total instructions retired, subject to deadline constraints.

Optimization problem.

Let λ∈ℝ0. The offline optimal resource allocation is given by:

maximize{βk}k=0N−1⊂(ℬM)N∑k=0N−1∑τi,j∈𝒮kμi⁢(xi,j,k,βk(i,j))−λ⁢∑τi,j∈𝒥Ri,j (2)

subject to

  1. (C1)

    Ready queue update:  Q0={τi,j∈𝒥:ri,j≤t0},

    Qk+1={τi,j∈Qk:xi,j,k+1(1)<x¯i,j(1)}∪{τi,j∈𝒥:⌈ri,j−t0Δ⌉=k+1}∀k∈ℕ0
  2. (C2)

    Execution state evolution:  xi,j,0∈ℝpi:xi,j,0(1)=0,

    xi,j,k+1={xi,j,kif ⁢τi,j∉SkGi⁢(xi,j,k,βk(i,j))otherwise∀(i,j):τi,j∈𝒥,∀k∈ℕ0
  3. (C3)

    Schedule update:  𝒮0=𝒜⁢(Q0,𝒮⊥),  𝒮k+1=𝒜⁢(Qk+1,𝒮k)∀k∈ℕ0

  4. (C4)

    Deadline constraint:  di,j≥Ci,j∀(i,j):τi,j∈𝒥

  5. (C5)

    Resource constraint:  ∑τi,j∈𝒮k:τi,j≠⊥βk(i,j)≤βmax∀k∈ℕ0

Notice that valid partition assignments are encoded in the decision variables of (2). The objective consists of two terms: the first maximizes the total number of instructions retired, while the second minimizes the total job response time. The scaling parameter λ controls the tradeoff between these two objectives, with larger values placing greater emphasis on minimizing response time relative to maximizing instruction retirement.

4 Challenges and Approach Overview

The formulation in (2) assumes that each job’s input and execution dynamics are known a priori. However, in many real-time systems, job inputs originate from sensors or external environments and thus become available only at runtime, typically upon job release. Consequently, precise execution behavior, which is needed for effective resource allocation, cannot generally be determined statically. Below we outline the key challenges of resource allocation under unknown runtime inputs and present the design insights that guide our online solution.

Challenge 1.

Inputs of future jobs are unknown at decision time.

Since inputs of jobs are only available at their releases, an optimal resource allocation computed at time t∈ℕ0 cannot accurately account for the execution behavior of jobs released after t. As a result, computing a globally optimal allocation is generally infeasible. One way to address this uncertainty is to ignore future allocation steps, i.e., consider only the local allocation at t, or to assume worst-case future demand; however, such approaches are overly conservative and can lead to poor resource utilization.

Insight.

Since future job inputs are unavailable at decision time, we must be able to frequently update resource allocation decisions in response to changing resource demand. At the same time, effective resource allocation depends on near-term resource demand and deadline proximity. Therefore, we introduce an online variant of (2) using a finite allocation horizon of N∈ℕ0 allocation steps. At each allocation step, we compute the optimal resource allocation over the full horizon but apply only the solution for the current step. We then repeat this strategy at each subsequent step. This receding-horizon strategy ensures that decisions are based on currently available information and predicted near-term demand, with regular updates enabling adaptation to phase changes and newly released jobs.

This approach is inspired by model predictive control (MPC), an optimal control technique in which the current state of the system is observed, its trajectory is predicted over a finite window of N steps (the prediction horizon), and a control strategy is computed to minimize some cost functional over that window. Rather than applying all N optimal control actions, MPC commits only to the first p≤N steps (the control horizon), after which the system state is re-observed and the optimal control problem is solved again. In our setting, the system corresponds to the set of scheduled jobs, and the control action is the distribution of resources to the cores. Our challenge comes from job execution dynamics that depend on runtime inputs, which are unobservable prior to job release, making it infeasible to allocate resources optimally as in (2). Instead, we use predicted execution dynamics to compute the optimal resource allocations over the prediction horizon. Then, since the system state evolved with these predictions cannot reflect jobs or inputs that are not yet observed, we re-solve the optimal control problem at each timestep, applying only the first control action.

Challenge 2.

Obtaining an input set that covers all execution paths is often impractical [16].

The execution path taken by a program – and thus its execution behavior under some resource allocation and at some position in the program – depends on its input. Effective resource allocation with predictions therefore requires input-dependent models.

Insight.

We exploit general patterns in execution behavior that persist across inputs, or across certain features of the input, since input vectors can be large in practice. In this case we identify input features that (i) are inexpensive to extract at runtime and (ii) strongly predict remaining execution times and fine-grained execution rates (called “prediction targets” in our online optimization). We then include these features in each job’s execution state in lieu of the input vector, allowing predicted execution dynamics to be conditioned on features of the input received at runtime. This enables our models to generalize to unseen inputs.

Prior work has used input features to estimate execution times [33] or parameterize WCETs [29] to improve online performance. However, these approaches mainly target coarse-grained execution metrics for tasks in isolation and assume fixed resource allocation, limiting their applicability. To make holistic resource allocation decisions, we must predict the instruction retirement rate and remaining execution time at any time t under varying resource allocations. To this end, we learn a program’s execution pattern, defined as the temporal evolution of its instruction retirement rate and remaining execution time under different inputs and resource allocations. Like prior work, we treat this prediction problem as a time-series forecasting problem [40]. However, unlike prior work, we require a predictive model that explicitly accounts for program input, phase structure, and resource allocation while delivering microsecond-scale prediction time.

Challenge 3.

Predictions are inherently imperfect.

Our online resource allocation formulation relies on predictive models for each τi to evolve the state of each job τi,j over the resource allocation horizon and to compare predicted remaining execution time against deadlines. In practice, these models face two sources of error. First, offline training data may not cover all runtime execution paths. Second, even when a path is represented, the models may lack sufficient expressivity to capture the true relationship between execution state, resource allocation, and the prediction targets. These errors can directly affect the safety of the deadline constraint.

Insight.

We employ conformal prediction (CP), a distribution-free technique for uncertainty quantification (Sec. 6). Given a predictive model for each τi and a held-out calibration set of profiling data, it provides error bounds with high probability, provided the calibration and test data are exchangeable. This guarantee is marginal, it holds on average over the joint draw of calibration and test points, rather than conditionally on any particular state-allocation pair. Using these bounds, we can construct uncertainty-aware deadline constraints, tightened to reflect empirical prediction error observed from calibration data.

Challenge 4.

Input distributions shift at runtime.

Standard conformal prediction (CP) provides finite-sample coverage guarantees under the assumption that runtime inputs follow the same distribution as the offline calibration data. In practice, this assumption may not hold, as the distribution of task inputs may evolve over time and change across operating scenarios (e.g., modes) [16].

Insight.

Real-time systems often experience input distribution shifts across operating scenarios. Because we assume that software programs are deterministic, the conditional distribution of execution dynamics given the state-allocation vector (which encodes the input vector) is fixed by the software itself. What changes at runtime is the marginal distribution of state-allocation vectors encountered, driven by changes in the input distribution. Therefore, we treat this as covariate shift. This structure motivates the use of weighted conformal prediction: for each operating scenario, we learn per-scenario importance weights that reweight the calibration set to reflect the runtime distribution, yielding scenario-specific weighted error bounds. Thus, we can adapt uncertainty-aware resource allocation to different input distributions by storing just a single bound per scenario, rather than an entire (separately trained) predictive model.

5 Dynamic Resource Allocation at Runtime

The MPC-based receding-horizon approach allows us to relax the assumption that job inputs, release times, and deadlines are known a priori. However, because the horizon is finite – and typically small in practice to enable efficient online solution111Notice that (2) is a nonlinear integer program with search space 𝒪⁢((M⁢|ℬ|)N). – it may not include the completion times and terminal states of all scheduled jobs. As a result, we cannot directly encode the deadline constraint in (C4) or the total response time in the objective (2). Moreover, unlike in the clairvoyance setting, we do not have the ground-truth function μi that precisely captures a job’s instruction retirement rate under a given resource allocation and, by extension, the execution dynamics Gi of each job τi,j.

Approach.

To address these challenges, using learning-based methods, we approximate the remaining execution time and instruction retirement functions, where for i∈[n]:

  • ■

    ei:ℝpi×ℬ→ℕ0 maps a job’s state-allocation vector to its remaining execution time. Let xi,j,k be the execution state of a job τi,j at step k∈ℕ0. Then ei⁢(xi,j,k,βk(i,j)) gives the remaining execution time of τi,j assuming it is assigned the resource allocation βk(i,j) from step k until completion (i.e., from time tk≔t0+k⁢Δ onwards).

  • ■

    μi:ℝpi×ℬ→ℕ0 maps a state-allocation vector (xi,j,k,βk(i,j)) of a job τi,j to the number of instructions retired during the interval Ik≔[tk,tk+Δ), assuming that τi,j is assigned the resource allocation βk(i,j) during this interval.

For each i∈[n], we denote by e^i and μ^i the approximations of ei and μi, respectively. We can then obtain an approximation G^i of the true execution dynamics Gi, by replacing the unknown ground-truth μi with its approximation μ^i. From these predictions, we estimate job completion and response times, which serve as surrogates for the deadline constraint in (C4) and the objective in (2), respectively.

We next present our online formulation, followed by the construction of e^i and μ^i.

5.1 Online Resource Allocation as an Optimal Control Formulation

Let t0∈ℕ0 denote the current resource allocation time (step 0 of the allocation horizon), N∈ℕ0 the horizon length (in steps), and k∈ℕ0 the number of allocation steps since t0. Recall that Qk and 𝒮k denote the sets of active jobs and scheduled jobs, respectively. The variable xi,j,k represents the execution state of each job τi,j at step k (i.e., time tk), and we write x^i,j,k for the predicted execution state under G^i, with x^i,j,0≔xi,j,0.

For each k∈[N−1]0, let 𝒥k≔{τi,j∈Q0:tk≤di,j<tk+1} be the set of jobs in Q0 with deadlines in the interval Ik. Let 𝒥N≔Q0∖⋃k∈[N−1]0𝒥k be the set of jobs in Q0 with deadlines at or beyond the allocation horizon (i.e., di,j≥tN).

Online optimization formulation.

At the current allocation time t0, the active job set Q0, scheduled job set 𝒮0, and execution states xi,j,0 are sampled from the running system. We set x^i,j,0=xi,j,0. The online version of (2) is

maximize{βk}k=0N−1⊂(ℬM)N∑k=0N−1∑τi,j∈𝒮kμ^i⁢(x^i,j,k,βk(i,j))−λ⁢∑τi,j∈Q0R^i,j. (3)

subject to

  1. (D1)

    Ready queue update: Qk+1={τi,j∈Qk:e^i⁢(x^i,j,k,βmin)>0}∀k∈[N−1]0

  2. (D2)

    Execution state:

    x^i,j,k+1={x^i,j,kif ⁢τi,j∉𝒮kG^i⁢(x^i,j,k,βk(i,j))otherwise∀(i,j):τi,j∈Q0,∀k∈[N−1]0
  3. (D3)

    Schedule update:  𝒮k+1=𝒜⁢(Qk+1,𝒮k)∀k∈[N−1]0

  4. (D4)

    Deadline constraint:

    e^i⁢(x^i,j,k,βmin) +t0+k⁢Δ≤di,j∀k∈[N−1]0,∀(i,j):τi,j∈𝒥k
    e^i⁢(x^i,j,N,βN−1(i,j)) +t0+N⁢Δ≤di,j∀(i,j):τi,j∈𝒥N
  5. (D5)

    Resource constraint:     ∑τi,j∈𝒮k:τi,j≠⊥βk(i,j)≤βmax∀k∈[N−1]0

  6. (D6)

    Response time:

    ki,j =max⁡{k∈[N−1]0:e^i⁢(x^i,j,k,βk(i,j))>0} ∀(i,j):τi,j∈Q0
    R^i,j =e^i⁢(x^i,j,ki,j,βki,j(i,j))+t0+ki,j⁢Δ−ri,j ∀(i,j):τi,j∈Q0

Configuration of 𝚫 and 𝑵.

The step size Δ and horizon length N introduce a tradeoff. The complexity of (3) grows exponentially with N. To keep overhead low (e.g., below ϵ(%)), solving (3) must take less than ϵ(%) of the allocation interval Δ multiplied by the number of cores M, which effectively requires Δ to grow exponentially with N. Since small Δ is essential for responsiveness in dynamic execution environments, N must remain small in practice. Larger horizons, however, allow less conservative decisions: allocations within the horizon are optimized at each step, while execution beyond the horizon is aggregated under a single static allocation to estimate remaining execution time (D4). Finally, the choice of Δ affects the accuracy of e^i and μ^i independently of N.

5.2 Learning Multi-Path Program Behavior

Our online formulation relies on functions μ^i and e^i, i∈[n], to estimate the instructions retired and remaining execution time of each job within the allocation horizon. Deriving such functions from first principles is generally intractable due to the complex interactions among a program’s input, phase structure, and allocated resources [16]. Therefore, we construct μ^i and e^i via learning-based methods.

Importantly, the model class must be sufficiently expressive to capture these complex interactions while maintaining microsecond-scale prediction speeds. Towards this, we employ Gradient Boosting Regression Trees (GBRT) as our predictive models. GBRTs provide established generalization guarantees [22] and enable highly efficient inference, since each prediction consists of evaluating a fixed number of shallow decision trees using only simple comparison operations and additions. This makes them particularly well-suited for kernel-level deployment. In fact, the GBRT model – specifically the XGBoost implementation [12] that we use – has been shown to outperform even sophisticated deep learning models at time-series forecasting [21] on structured data such as ours (recall our data consists of discrete measurements of retired instructions conditioned on input vectors and resource allocation).

For each i∈[n], let ℋi be the set of admissible regression trees mapping from ℝpi×ℬ to ℝ. Then, for each task τi∈Γ, our objective is to learn the ensembles of regression trees μ^i and e^i that best represent the relationship between execution state, resource allocation, and the corresponding prediction target. To accomplish this, we first collect offline execution profiles for each task τi. This process involves repeatedly executing τi over many runs under a diverse set of inputs and resource allocations and, in each run, measuring its state every Δ time units. Thus, for each i∈[n], we define the dataset

𝒟i≔{(zi,j,μi⁢(zi,j))+εj}j=1γi⊂ℝpi×ℬ×ℕ0 (4)

where γi∈ℕ+ denotes the total number of measurements collected for task τi, zi,j≔(xi,j,βi,j)∈ℝpi×ℬ is the state-allocation vector associated with the j-th measurement, and εj∈ℕ models measurement noise. Using standard tools from supervised regression, such as empirical risk minimization (see [57, Sec. 8.4.3] for more details), we select a μ^i∈ℋi based on the dataset 𝒟i for each τi. We repeat the same procedure for e^i∈ℋi by replacing μi with ei for each i∈[n] in (4).

In the next section, we discuss how we quantify the inherent prediction error of these learned models, to formulate robust deadline constraints.

6 Uncertainty-Aware Dynamic Resource Allocation

This section describes how we incorporate data-driven uncertain estimates into dynamic resource allocation to provide probabilistic guarantees even when runtime behavior shifts. We begin by introducing conformal prediction, a lightweight, distribution-free method for quantifying prediction uncertainty. We then show how to enhance its robustness to unknown distribution shift through sample reweighting. Finally, we demonstrate how these uncertainty bounds can be integrated into our online optimization formulation.

6.1 Distribution-Free Uncertainty Quantification Background

We build on conformal prediction (CP) [58], a state-of-the-art, lightweight, general framework for distribution-free uncertainty quantification. First introduced in [58], advances in CP trace back to the development of inductive conformal prediction [43], later reformulated as split conformal prediction (SCP) in [34]. At a high level, CP quantifies how wrong a predictive model tends to be by calibrating to the empirical distribution of past prediction errors, independent of their underlying source, thus, providing finite-sample guarantees without requiring any assumptions on the underlying data distribution. Without loss of generality, we focus on uncertainty quantification for the predictions of μ^i for each task τi, i∈[n], as the results extend straightforwardly to e^i.

Objective.

For each task τi, consider a dataset 𝒟i as defined in (4), consisting of γi∈ℝ>0 measurements. The dataset comprises measured state-allocation vectors {zi,j}j=1γi and corresponding prediction targets (e.g., number of instructions retired) {yi,j}j=1γi, where each zi,j consists of an execution state of a job of τi and a corresponding resource allocation. Given a desired miscoverage rate δi∈(0,1), our goal is to construct a set-valued map ℰδi:ℝpi×ℬ⇉ℝ that assigns a subset of ℝ to each z∈ℝpi×ℬ such that, for a new observed state-allocation vector zi,γi+1 of some execution of τi, its prediction target yi,γi+1 lies within ℰδi⁢(zi,γi+1) with probability at least 1−δi.

Weighted split conformal prediction.

To achieve the above goal, we split 𝒟i into two disjoint sets: a training set 𝒟itrain of size γitrain and a calibration set 𝒟ical of size γical, with γitrain+γical=γi. The predictive model μ^i is obtained as discussed in Section 5.2 using 𝒟itrain. We then evaluate its conformity – a quantitative measure of how well its predictions match the observed values in the calibration set – on the calibration samples in 𝒟ical via the nonconformity scores defined, for each j∈[γical+1], as Si,j≔|μ^i⁢(zi,j)−yi,j|, where smaller scores correspond to higher predictive accuracy. If the joint distribution of the nonconformity scores {Si,j}j=1γical+1 has the same distribution as {Si,σ⁢(j)}j=1γical+1, under any permutation σ of the indices 1,2,…,γical+1 (this is known as exchangeability), then results in the literature, in particular [34, Thm. 2.2], provide tools to construct ℰδi given a miscoverage rate δi∈(0,1). In practice, however, this assumption does not generally hold. For real-time systems, in particular, the distribution of runtime task inputs may drift over time and is unknown a priori. Further, since resource allocations are temporally coupled – insufficient resources at one timestep can increase future demand – permuting samples across time can break causal dependencies, invalidating exchangeability.

To relax this assumption, the authors in [9] propose robust conformal prediction, which provides valid guarantees without being too conservative when the distribution shift is known and small; however, large distribution shifts can result in conservative prediction regions222The reader is referred to [1, 24, 62] for further related and recent work on robust conformal prediction.. Since the magnitude and structure of distribution shifts are unknown in our setting, we instead adopt weighted conformal thresholds [6] to improve robustness to distribution drift. Precisely, for each i∈[n] and each j∈[γical], let wi,j∈[0,1] and define

w~i,j≔wi,jwi,1+wi,2+⋯+wi,γical+1,w~i,γical+1≔1wi,1+wi,2+⋯+wi,γical+1. (5)

For each δi∈(0,1), the weighted conformal threshold is given by

q^δiμ≔inf{q∈ℝ:∑j=1γicalw~i,j⁢ 1{Si,j≤q}≥1−δi} (6)

with the usual convention that inf∅=+∞, which happens if δi<w~i,γical+1. Then, by [6, Thm. 2], we have that

ℙ⁢{yγical+1∈^⁢ℰδi⁢(zγical+1)}≥1−δi−∑j=1γicalw~i,j⁢dTV⁢(Si,jcal,S¯i,j) (7)

where the metric dTV denotes the total variation distance between two probability distributions, Si,jcal is the set of nonconformity scores for {(zi,j,yi,j)}j=1γical+1, S¯i,j is the set of nonconformity scores when (zi,γical+1,yi,γical+1) is swapped with the j-th sample in Si,jcal, and

^⁢ℰδi⁢(z)≔{y∈ℝ:|μ^i⁢(z)−y|≤q^δiμ}∀z∈ℝpi×ℬ. (8)

Notice that the coverage guarantee decreases with distribution shift since the probability is bounded by 1−δi minus a term that quantifies the dissimilarity between the weighted calibration samples and runtime behavior, measured via a total variation distance dTV. Also note that the set-valued map ^⁢ℰδi is independent of the unknown distribution shift, enabling it to be computed in closed form.

6.2 Calibrating the Predictor

Our objective in this section is to learn a weighting rule that emphasizes calibration samples most representative of runtime behavior. Intuitively, if the weights concentrate on calibration points most resembling runtime state-allocation vectors, the weighted empirical quantile better reflects the effective test-time distribution of the nonconformity scores. Consequently, the achieved coverage is closer to the target 1−δi, which is the best-case scenario under exchangeability, while avoiding overly conservative prediction sets.

One way to construct a calibration set representative of runtime behavior is exploiting the fact that many real-time systems operate in a finite set of operating scenarios, or modes, corresponding to changes in the internal or external state. For each scenario, we can collect a representative set of inputs for each task and form a per-scenario calibration set by profiling the task with these inputs. We then learn a separate weighting rule for each calibration set to maximize the coverage guarantee, enabling the uncertainty quantification to adapt to distribution changes at runtime.

A natural strategy for learning the weights for τi is to treat the weights {wi⁢j}j=1γical as decision variables and directly optimize them (e.g., via Bayesian optimization or genetic algorithms) to maximize empirical coverage over a held-out dataset that resembles runtime behavior. However, this strategy has two main drawbacks. First, optimizing a high-dimensional weight vector in this way is computationally expensive and scales poorly with the number of calibration samples, making gradient-free methods expensive past moderate γical. Second, empirical coverage is not a smooth function, which encourages degenerate solutions that concentrate weight on a small subset of calibration points; such solutions overfit the held-out set, produce unstable thresholds that depend on a few samples, and may either over- or under-cover at runtime depending on which samples receive weight. These challenges motivate parameterizing the weights as a function of the state-allocation vector and learning a model that can generalize over the operating scenario.

More precisely, for each i∈[n], let the calibration dataset 𝒟ical be fixed offline for each scenario of operation, and let the weights be computed once from this dataset. To obtain a stable, scalable, and structured weighting scheme, we parameterize the weights with a low-dimensional model (e.g., a neural network), parametrized by a vector θ∈ℝnθi that defines a map z↦w^i,jθ⁢(z)∈[0,1] over calibration features. After learning θ offline, we evaluate this map only on {zi,j}j=1γical to obtain a fixed set of weights, which is then used to compute q^δi. At runtime, only q^δi must be stored for each operating scenario, resulting in a negligible memory footprint.

To formalize how θ is computed, suppose a miscoverage rate δi∈(0,1) and a dataset 𝒟iwt≔{Si,j}j=1γiwt are given for each scenario (as discussed above), and let qi∗ be the (1−δi)th-quantile of 𝒟iwt. Next, for each δ∈(0,1), we define the quantile loss ρ1−δ:ℝ→ℝ≥0 as

ρ1−δ⁢(α)≔{(1−δ)⁢α if ⁢α≥0−δ⁢α if ⁢α<0∀α∈ℝ. (9)

Thus, for each i∈[n], we propose to solve

θi∗∈arg⁢infθ∈ℝnθi⁡1γical⁢∑j=1γicalw~i,jθ⁢(zi,j)⁢(ρ1−δi⁢(Si⁢j−qi∗)+ψ1⁢log⁡w~i,jθ⁢(zi,j))+ψ2⁢|θ|2, (10)

where ψ1,ψ2>0, and w~i,jθ is computed as in (5) using w^i,jθ. Following [47, Thm. 1.9], it can be shown that the right-hand side of (10) is nonempty and compact333This follows from the fact that the objective in (10) is (1) proper since rge⁡ρ1−δ⊂[0,∞) and p⁢log⁡p≥−1/e for all p∈(0,1] together imply that the domain of the objective is a nonempty set on which it is finite, (2) continuous in θ, and (3) radially unbounded., and thus (10) has at least one solution.

The objective in (10) can be interpreted as follows: For each i∈[n], the threshold qi∗ is fixed offline as the empirical (1−δi)th-quantile of the nonconformity scores in 𝒟iwt. The quantile loss encourages the learned weights to concentrate on calibration samples whose scores resemble qi∗, so that the threshold computed via (6) reflects the distribution of the scenario of operation represented by 𝒟iwt. The entropy term, w~i,jθ⁢(zi,j)⁢log⁡w~i,jθ⁢(zi,j), acts as a maximum-entropy regularizer, penalizing solutions that place weight on a small subset of calibration samples and thereby preventing degenerate minimizers. Finally, the regularization term ψ2⁢|θ|2 ensures existence of a minimizer.

6.3 Conformal Online Resource Allocation

We now show how the weighted conformal prediction bounds derived in the previous sections can be integrated into the online optimization formulation developed in Section 5.1 to provide deadline constraints that account for prediction error. To develop this argument, we will suppose that, for each i∈[n], the map z↦(e^i⁢(z),μ^i⁢(z)) is Lipschitz continuous; that is, there exists L∈[0,∞) such that, for all z,z′∈ℝpi×ℬ, it holds that |(e^i⁢(z),μ^i⁢(z))−(e^i⁢(z′),μ^i⁢(z′))|≤L⁢|z−z′|.

▶ Remark 1 (Lipschitz continuous approximations of GBRTs).

Since a GBRT is an ensemble of regression trees (hRTs), it can be shown that each hRT admits a smooth approximation that converges pointwise almost everywhere. Thus, we can exploit this fact to estimate Lipschitz constants of sRTs on compact sets and, therefore, for any finite ensemble of them.

Notice that, for each i∈[n], given a miscoverage rate δi∈(0,1), by (7) and (8), there exist δ^ie≥δi, δ^iμ≥δi, and q^δie,q^δiμ∈(0,∞) such that

ℙ{⋆i(z)≤⋆^i(z)+q^δi⋆}≥1−δ^i⋆∀⋆∈{e,μ} (11)

where the probability is taken jointly over the calibration set and a test pair (z,⋆i(z)).

Error propagation of the state over the allocation horizon.

From (D2), notice that, for each i∈[n], the predicted execution state x^i,j,k is computed by rolling out G^i over k steps from the initial condition xi,j,0. In practice, the map z↦μ^i⁢(z) is obtained via empirical risk minimization over the dataset 𝒟i (as discussed in Section 5.2), and as such it carries irreducible prediction error. Namely, the learned model may not have seen all state-allocation vectors and their corresponding prediction target, and even for paths that are represented in 𝒟i, the regression tree ensemble has finite expressivity. Since G^i is defined through μ^i, the uncertainty thus propagates along allocation steps, and quantifying it explicitly is essential to ensure the validity of the optimization constraints.

To address this issue, we present the following result.

Lemma 2.

For each i∈[n], consider G¯i:ℝpi×ℕ0×ℬ→ℝpi, μi:ℝpi×ℬ→ℕ0, and μ^i:ℝpi×ℬ→ℕ0. Suppose that, for each β∈ℬ, the map (x,y)↦G¯i⁢(x,y,β) is Lipschitz with constant LG¯i∈[0,∞), and that μ^i is also Lipschitz with constant Lμi∈[0,∞). Given δi∈(0,1), suppose that (11) holds with miscoverage rate δ^iμ≥δi. Let xi,j,k and x^i,j,k be the true and predicted execution states of each job τi,j at allocation step k∈ℕ0, obtained by rolling out Gi=G¯i∘(id,μi,id) and G^i=G¯i∘(id,μ^i,id), respectively, from a given xi,j,0. Then, for each k∈ℕ0, it follows that

ℙ⁢{|xi,j,k−x^i,j,k|≤ρk}≥1−k⁢δ^iμ, (12)

where

ρk≔{LG¯i⁢q^δiμ⁢(LG¯i⁢(1+Lμi))k−1LG¯i⁢(1+Lμi)−1 if ⁢LG¯i⁢(1+Lμi)≠1k⁢LG¯i⁢q^δiμ if ⁢LG¯i⁢(1+Lμi)=1∀k∈ℕ0. (13)

Proof.

For ease of notation, let zi,j,k denote the state-allocation vector of job τi,j at allocation step k∈ℕ0. By the union bound, together with (11), it follows that

ℙ⁢{⋂ℓ=0k−1|μi⁢(zi,j,ℓ)−μ^i⁢(zi,j,ℓ)|≤q^δiμ}≥1−∑ℓ=0k−1ℙ⁢{|μi⁢(zi,j,ℓ)−μ^i⁢(zi,j,ℓ)|>q^δiμ}≥1−k⁢δ^iμ.

We now show by induction that if, for all ℓ∈[k−1]0, we have that |μi⁢(zi,j,ℓ)−μ^i⁢(zi,j,ℓ)|≤q^δiμ, then |xi,j,k−x^i,j,k|≤ρk. For the base case, take k=0. By assumption xi,j,0=x^i,j,0, thus |xi,j,0−x^i,j,0|=0=ρ0. Next, pick any k∈ℕ+ and suppose that |xi,j,k−x^i,j,k|≤ρk holds. Then,

|xi,j,k−x^i,j,k|=|G¯i⁢(xi,j,k,μi⁢(zi,j,k),βk(i,j))−G¯i⁢(x^i,j,k,μ^i⁢(z^i,j,k),βk(i,j))|≤LG¯i⁢(|xi,j,k−x^i,j,k|+|μi⁢(zi,j,k)−μ^i⁢(z^i,j,k)|)≤LG¯i⁢(|xi,j,k−x^i,j,k|+|μi⁢(zi,j,k)−μ^i⁢(zi,j,k)|+|μ^i⁢(zi,j,k)−μ^i⁢(z^i,j,k)|)≤LG¯i⁢(q^δiμ+ρk⁢(1+Lμi))=ρk+1.

The proof is completed by noticing that, with ρ0=0, (13) is the solution to the recursion ρk+1=LG¯i⁢(q^δiμ+ρk⁢(1+Lμi)) for all k∈ℕ0. ◀

Uncertainty-aware deadline constraint.

Recall that the deadline constraint (D4) requires the predicted remaining execution time to satisfy the deadline of each job τi,j. For each i∈[n], like μ^i, the map z↦e^i⁢(z) is obtained via empirical risk minimization with finite amount of data and, therefore, carries irreducible sources of prediction error. To address this, we formulate an uncertainty-aware deadline constraint using the following result, which gives a probabilistic upper bound on the predictions of z↦e^i⁢(z).

Lemma 3.

For each i∈[n], consider the functions G¯i:ℝpi×ℕ0×ℬ, ei:ℝpi×ℬ→ℕ0 and e^i:ℝpi×ℬ→ℕ0. Suppose that e^i is Lipschitz with constant Lei∈[0,∞) and that the assumptions in Lemma 2 hold. Then, for each k∈ℕ0, each β∈ℬ, and each δi∈(0,1), it follows that

ℙ⁢{ei⁢(xi,j,k,β)≤e^i⁢(x^i,j,k,β)+q^δie+Lei⁢ρk}≥1−δ^ie−k⁢δ^iμ, (14)

where q^δie∈(0,∞), δ^ie≥δi, and δ^iμ≥δi come from (11), and ρk is defined in (13).

Proof.

Pick any k∈ℕ0 and any β∈ℬ. Using the triangle inequality, notice that

ei⁢(xi,j,k,β)−e^i⁢(x^i,j,k,β)≤|ei⁢(xi,j,k,β)−e^i⁢(xi,j,k,β)|+|e^i⁢(xi,j,k,β)−e^i⁢(x^i,j,k,β)|≤q^δie+Lei⁢|xi,j,k−x^i,j,k|≤qδie+Lei⁢ρk.

Since the first term in the previous inequality holds with probability at least 1−δ^ie and the second one with probability at least 1−k⁢δ^iμ, the proof is readily completed using a union bound argument. ◀ By a straightforward application of Lemma 3, we can replace the constraint (D4) with

  1. (Dp4)

    Uncertainty-aware deadline constraint

    e^i⁢(x^i,j,k,β¯)+q^δie+Lei⁢ρk+t0+k⁢Δ≤di,j∀k∈[N]0,∀(i,j):τi,j∈𝒥k,

    where β¯=βmin if k<N and β¯=βN−1(i,j) if k=N.

It is important to mention that the constraint in (Dp4) is not probabilistic itself, it is a deterministic constraint on the predicted remaining execution time. However, its implication for (D4) holds with probability at least 1−δ^ie−k⁢δ^iμ. In addition, notice that the deadline constraint is now tightened by q^δie+ρk, which accounts for two distinct sources of error: the prediction error of z↦e^i⁢(z) at the allocation step k, quantified by the conformal threshold q^δie, and the error introduced by evaluating z↦e^i⁢(z) at the predicted state x^i,j,k rather than the true state xi,j,k.

▶ Remark 4.

The weighted conformal bounds in (11) are marginally valid: the probability is taken over the joint distribution of the calibration set and a test state-allocation pair from the runtime distribution. However, following [11], we apply these bounds in Lemma 2 and in Lemma 3 heuristically as per-step uncertainty estimates along the trajectory, even though this is generated deterministically by G^i. Achieving formally per-trajectory coverage would require additional machinery, see [39], which we leave to future work.

7 Predictive Model Evaluation

To empirically evaluate the accuracy of models μi and ei for each τi∈Γ, we used programs from the SPEC benchmark suite [52], as it has been widely adopted in multicore resource-allocation and phase detection research [40, 56]. We begin with our experimental methodology.

7.1 Input Generation

For each SPEC benchmark, we constructed an input set containing 200 distinct inputs that capture a broad range of execution behaviors. Each input set was designed to be both diverse, covering typical and worst-case behaviors, and representative, reflecting realistic workloads for the target application domain. When benchmark-specific datasets are available, we used them directly; otherwise, we generated inputs randomly according to each benchmark’s input specification. All inputs were subject to only a single global constraint: a maximum input size. Such bounds are standard in real-time systems to enable analyzability, e.g., worst-case execution-time (WCET) analysis. We describe the input-generation procedure for each benchmark below. Unless otherwise noted, all benchmarks are implemented in C/C++. The resulting inputs yield execution times ranging from approximately 20 ms to over 4 s.

  • ■

    mcf (route planning) solves a minimum-cost flow formulation for vehicle scheduling using a network simplex algorithm. Each input specifies N timetabled trips (nodes) and M feasible links (edges) between them. Each trip u∈[N] is characterized by a start time tu,s∈ℕ and a finish time tu,f∈ℕ. A directed link (u,v) represents a feasible vehicle transition from trip u to trip v (i.e., tu,f≤tv,s), with an associated cost c(u,v)∈ℕ. We generated inputs by sampling the number of trips N∼Uniform⁢(10,500) and assigning each trip random start and finish times within a one-day horizon. We generated feasible links with probability p∼Uniform⁢(0.01,0.5), each with link cost c(u,v)∼Uniform⁢(1,100).

  • ■

    omnetpp (discrete event simulation) simulates a 10 Gb Ethernet network using discrete-event simulation and takes network configuration files as inputs. We generated inputs by varying network parameters uniformly within realistic ranges, including the number of hosts connected to a switch, hub, and bus in each LAN from Uniform⁢(1,10), request and response sizes (50–1400 bytes), and inter-request delays (0–1000 ms). The simulation time was capped at 0.001 s, yielding execution times of up to 2 s.

  • ■

    xalancbmk (data conversion) performs XML-to-HTML transformation using an XSL stylesheet. Its execution behavior is primarily determined by the size and structural complexity of the input XML document. We generated inputs using the open-source xmlgen tool from the XMark project [49], with target sizes uniformly sampled between 1 and 50 MB and with distinct random seeds to ensure content diversity.

  • ■

    x264 (video processing) is a video encoder that takes a raw YUV video file as input, along with parameters specifying frame resolution and frame count. To construct inputs representative of real-time workloads, we used videos from the YouTube User Generated Content (UGC) dataset [59], which captures realistic distortions and motion patterns. We selected videos from the 360p subset and split each video into chunks of at most five frames, yielding short encoding tasks suitable for real-time execution.

  • ■

    exchange2 (recursive solution generator) is a Fortran program that takes as input a Sudoku puzzle and generates new puzzles through structured transformations. Each input is a partially filled 9×9 Sudoku grid. We synthesized 200 input puzzles with guaranteed unique solutions, with the number of empty cells sampled uniformly from [50,57] to control puzzle difficulty. Puzzles are encoded as a flattened 81-character string.

  • ■

    xz (compression) performs lossless data compression and decompression. Each input consists of a file to be compressed, along with metadata such as file size, SHA-512 hash, expected compressed-size bounds, and a compression level between 0 and 9. We drew inputs from standard compression benchmarks, including the Silesia [17], Canterbury, Calgary, Artificial, Miscellaneous, and Large corpora [3], covering both typical and worst-case compression behaviors. To enforce a global size constraint, files larger than 1 MB were split into 1 MB chunks, and the compression level was fixed to 4.

7.2 Data Collection and Data Augmentation

Platform.

We conducted all experiments on a CAT-enabled platform equipped with an Intel Xeon E5-2618L v3 processor featuring 8 cores, 20 MB 20-way set-associative L3 cache, and single-channel 8 GB DDR4-2133 DRAM. We considered B=2 shared resources: the shared L3 cache and memory bandwidth. We used Cache Allocation Technology (CAT) [32] to partition the cache and MemGuard [63] to regulate memory bandwidth. CAT divides the L3 cache into 20 partitions, with a minimum allocation of 2 partitions per core on our platform. We similarly divided the platform’s guaranteed memory bandwidth of 1.4 GB/s into 20 partitions of 70 MB/s each. We disabled hardware cache prefetching and hyperthreading.

Empirical profiling and data collection.

To obtain execution profiles for each benchmark, we pinned it to a dedicated core using chrt. For every input in its generated input set, we executed the benchmark 10 times under each static allocation β of cache and memory bandwidth. During each execution run, we sampled CPU performance counters at a fixed interval of Δ=10 ms and recorded the number of retired instructions in each interval. To feasibly profile all benchmarks, we enforced equal allocations across resource types, restricting β to the set ℬ={(2,2),(3,3),…,(20,20)}. With 200 inputs per benchmark, this procedure yields 10⋅200⋅19=38,000 static execution profiles per benchmark.

Data augmentation.

Static profiles assume fixed resource allocations, whereas at runtime resource allocations may change dynamically. To obtain sufficient training data without explicitly profiling all possible allocation sequences (which is impractical), we synthesize dynamic profiles for a policy that reallocates resources at every sampling point as follows.

Let xkP denote the cumulative retired-instruction count at the k-th sampling (and reallocation) point, at time t=k⁢Δ, for a static profile P. Starting from an initial static profile P0 – collected for some input I under allocation β0 – we randomly select a new allocation β1∈ℬ for the first reallocation point k=1. Among static profiles for the same input under allocation β1, we select the profile P1 whose xkP1 is closest to xkP0. We then switch to P1, randomly select a new allocation β2∈ℬ for the next reallocation point k=2. We continue performing this random walk over static profiles until no further sampling point exists (i.e., the program terminates). This procedure produces one synthesized dynamic profile per static profile, yielding an additional 38,000 dynamic profiles per benchmark.

Our approach leverages two properties to generate valid profiles under dynamic allocation. First, as our programs deterministically follow the same execution path for a given input, profiles from separate runs with identical input can be aligned via cumulative instruction counts. Second, prior work [26, 20] shows that reallocating LLC partitions via CAT and memory bandwidth via MemGuard incurs negligible overhead relative to the 10 ms sampling interval. Thus, profiles can be composed across allocations without modeling reconfiguration costs. For smaller windows, or to account for transient cache reconfiguration effects, overheads can be incorporated by scaling retired-instruction counts based on working-set size, memory behavior, and the magnitude of allocation changes [51].

7.3 Feature Selection

For practical implementation, we define the state vector xi,j,k∈ℝpi of each job τi,j at allocation step k∈ℕ0, i.e., at time tk≔t0+k⁢Δ, as (i) the total number of retired instructions by time tk, (ii) fi∈ℕ+ features descriptive of the input to τi,j, where fi is task-dependent, and (iii) a lag of resource allocations and cumulative number of retired instructions for τi,j in the previous wi∈ℕ0 allocation steps, where wi is also task-dependent. Together, these pi=1+fi+wi⁢(B+1) features capture the current execution state of a job.

Table 1 summarizes the numbers of lag windows wi and input features fi used for each SPEC benchmark τi. For each benchmark, wi was selected via grid search over 1≤wi≤5 to maximize the prediction accuracy of μi and ei. To limit runtime overhead, input features were chosen based on benchmark semantics and were restricted to quantities that can be extracted efficiently at runtime, without requiring expensive static or dynamic analysis.444We refer the reader to [33] for a principled approach to determine these features offline.

For x264, spatial complexity and temporal motion are defined as the standard deviation and the mean absolute difference of pixel values across frames, respectively. These features can be computed with negligible overhead, as file I/O dominates the job startup time. For exchange2, we define the initial constraint tightness of each empty cell of the puzzle as the number of distinct non-empty cells in its row, column and box union. The feature value is then computed as the average constraint tightness across all empty cells.

Table 1: Selected lag wi and input features fi for each benchmark.
Benchmark wi fi Input Features
mcf 4 2 Number of nodes, number of edges
omnetpp 5 1 Total number of hosts
xalancbmk 4 1 File size
x264 5 4 Number of frames, frame area, spatial complexity, temporal motion
exchange2 3 2 Number of blanks, average constraint tightness
xz 4 1 File size

7.4 Model Evaluation

We leveraged XGBoost (eXtreme Gradient Boosting) [12], a learning framework that builds an additive ensemble of regression trees via gradient boosting. We trained a separate XGBoost regressor for each prediction target using the squared-error objective. Trees were kept deliberately shallow (maximum depth = 3) and the ensemble was limited to at most 64 boosting rounds, with early stopping after 20 rounds of no improvement on a validation set. We used a relatively high learning rate (eta = 0.30) to compensate for the reduced capacity. These choices deliberately prioritize a compact, low-latency model over maximal accuracy.

To evaluate generalization across unseen program inputs, we employed an input-based train/test split. Following [33], we used only 10% of our input set for training. Specifically, we clustered the cumulative instruction count of each input and selected the median of each cluster to include in the training set. We used an additional 10% for validation, resulting in a held-out test set consisting of 80% of our generated inputs. Across all six benchmarks, the resulting datasets contain approximately 2.3-7.6 million data points in total.

For each benchmark, we trained 5 different models: one for each value of Δ, where Δ∈{10,20,30,40,50} milliseconds. Fig. 3 shows the model accuracy, reported using the Normalized Mean Absolute Error (NMAE), vs. Δ, where the NMAE was computed on the set of held-out test inputs for each benchmark. Notice that the prediction error in μi generally increases as Δ increases.555We observed that the prediction error in ei remains approximately the same across all evaluated Δ, for each benchmark τi. Therefore, we set Δ=10 to report additional results, including the coefficient of determination (R2), the model size, and the median per-prediction latency of our fixed-point C implementation (for in-kernel deployment). We observed negligible accuracy loss (at most 0.003% across all benchmarks) when moving to fixed-point inference.

Figure 2: NMAE (μi) vs. Δ per benchmark.
Figure 3: Error distribution for omnetpp.
Table 2: Performance of GBRT models on SPEC benchmarks for Δ=10 ms. R2 and the normalized mean absolute error (MAE) were computed across all test inputs and resource allocations.
Task R2 NMAE Model Size (KB) Pred. Time (μ⁢s)
ei μi ei μi ei μi ei μi
mcf 0.7485 0.7838 0.0545 0.0385 6.31 7.69 1.18 1.20
omnetpp 0.8216 0.7135 0.0514 0.0648 5.60 7.82 1.05 1.19
xalancbmk 0.9746 0.9038 0.0212 0.0480 5.95 7.76 1.16 1.23
x264 0.1688 −0.5331 0.0903 0.0643 4.39 3.06 0.86 0.75
exchange2 −0.0277 −0.1160 0.1088 0.1191 3.80 2.99 0.79 0.73
xz 0.4769 0.8783 0.0708 0.0346 6.08 7.76 1.09 1.11

Table 2 summarizes accuracy, size, and speed results, while Fig. 3 provides a more detailed picture of the error distribution for omnetpp. The models perform best on benchmarks exhibiting distinct execution phases and/or strong resource dependencies, including xalancbmk, omnetpp and mcf. In contrast, exchange2 and x264 exhibit weak R2 results. These benchmarks are highly CPU-intensive and show limited phase structure or discernible resource dependency in their execution profiles, leaving less execution state signal for the model to exploit. The resulting model sizes range from 2.99 to 7.82 KB while the per-sample inference latency in the C implementation ranges from 0.73 to 1.23 μs, allowing us to achieve low-overhead fine-grained allocation while leveraging predictions.

7.5 Weighted CP Evaluation

To evaluate the effectiveness of our weighted conformal prediction, for each SPEC benchmark τi, we clustered its test inputs into groups based on their execution behavior, where each cluster represents a distinct operating scenario of the system. Specifically, we used the total number of retired instructions under each input as the clustering feature. For each scenario, we evenly partition the data into three disjoint sets: 𝒟iwt, 𝒟ical, and 𝒟itest. To solve (10) – that is, to learn the weights that maximize the empirical coverage guarantee for 𝒟ical given qi∗ (the empirical (1−δi)th-quantile of the nonconformity scores in 𝒟iwt) – we trained a small neural network. For each τi, we set the miscoverage rate δi=0.1 and clustered the test input set (consisting of 180 inputs) into four operating scenarios.

To give a concrete example, each scenario for benchmark x264 corresponds to a distinct frame-processing rate. Figure 4 shows how the distribution of x(1) depends on this operational state. The goal of weighted conformal prediction is to adapt to such distribution shift. Table 3 reports the empirical coverage of the weighted CP bounds across all six benchmarks, both prediction targets, and four operating scenarios, with a miscoverage rate of δi=0.1. Notice that across all tasks and scenarios, the empirical coverage of e^i and μ^i remains generally close to the nominal target 1−δi=0.9, which experimentally validates that the learned importance weights successfully concentrates mass on calibration samples representative of the runtime distribution of each scenario, thereby minimizing the dTV penalty term in (7).

For some tasks and scenarios, e.g. omnetpp and xalancbmk in Scenario 3, we observe a coverage below the nominal target for ei. Since Scenario 3 corresponds to inputs that induce the largest execution times, we conjecture that long tails (e.g., see Figure 4) in the state distributions lead to a large dTV distance for which the weights cannot fully compensate. Introducing another scenario in these cases, collecting a more representative calibration set for the tail region, or increasing the miscoverage rate for these benchmarks, would be sufficient to recover nominal coverage. Finally, notice that coverage remains generally consistent across scenarios without retraining the predictive models, indicating that the scenario-specific weights are sufficient to adapt the uncertainty quantification to distribution shift.

Figure 4: Distribution of x(1) for each scenario (x264).
Table 3: Empirical coverage for weighted CP across different operating scenarios (S0 - S3).
Task S0 S1 S2 S3
ei μi ei μi ei μi ei μi
mcf 0.93 0.89 0.94 0.85 0.99 0.88 0.84 0.92
omnetpp 0.81 0.88 0.94 0.91 0.80 0.90 0.68 0.89
xalancbmk 0.87 0.88 0.82 0.86 0.95 0.92 0.70 0.88
x264 1.00 0.89 1.00 0.89 1.00 0.98 0.95 0.99
exchange2 0.98 0.83 0.79 0.92 0.84 0.91 0.90 0.90
xz 0.68 0.92 0.79 0.86 0.99 0.90 0.93 0.85

8 Prototype and Experimental Evaluation

8.1 Linux Kernel Integration and Experiment Setup

Prototype.

To evaluate our method end-to-end, we implemented a prototype of MPORA in Linux 6.12 with the real-time patch PREEMPT_RT enabled. At each allocation step k, the kernel module measures the current execution state of each scheduled job τi,j, predicts the number of retired instructions and remaining execution time using the learned models μ^i and e^i under each possible allocation, solves (3) to determine the optimal allocation, then applies the allocation for that step. MPORA runs on a single core to minimize interference. For small N, we solve (3) by enumerating all feasible resource assignments; if no feasible solution exists, we select the allocation that minimizes total job tardiness.

In addition to the kernel module, we added approximately 150 lines of Linux in-tree code to track each task’s metadata, including the current instruction count, the lag of instructions retired and resource allocations, and per-job input features (passed from user space via prctl once per job). We used Intel CAT [32] and MemGuard [63] for cache and memory bandwidth assignments, respectively. We additionally modified MemGuard’s implementation to support SCHED_DEADLINE policy in Linux, enabling tasksets to run under global EDF scheduling.

Experiment setup.

We evaluated our solution on our prototype, using the same platform setup as in Sec. 7.2. We used M=4 cores and the allocation set ℬ={(2,2),(3,3),…,(20,20)}. Thus, for a horizon length of N=1, computing the optimal allocation at each step requires (M⁢|ℬ|)N=4×19=76 predictions per target (i.e., 152 predictions total).

Our workloads consist of randomly generated tasksets executing programs from the SPEC benchmark suite. We generated 20 tasksets at each utilization step of 0.5 up to 8.0. Given a target taskset utilization, we uniformly sampled per-task utilizations from [0.1, 0.5], rounding down the final task’s utilization if needed to meet the target. Each task was assigned a random benchmark from the set of SPEC benchmarks evaluated in Sec. 7. A task’s reference execution time is defined as the median execution time observed across all its profiling runs and all inputs. Its period (deadline) was set to its reference WCET divided by its utilization. At runtime, job inputs were selected from the input sets described in Sec. 7.1.

Baseline.

We compared MPORA against DNA [26], a dynamic resource allocation technique for real-time systems. DNA computes lookup tables offline by clustering profile data into phases, demarcates these phases by cumulative instruction count, and assigns an average instruction rate to each phase. It then leverages heuristics to iteratively allocate resources online. Since DNA assumes a fixed execution path, we constructed its phase-based lookup tables using the worst-case execution path induced by our set of possible inputs.

8.2 Prototype Evaluation Results

(a) MPORA-DNA schedulability.
(b) Effect of Δ on MPORA.
(c) Effect of N on MPORA.
Figure 5: MPORA prototype evaluation.

Schedulability vs. baseline.

Fig. 5(a) shows the percent of tasksets that were empirically schedulable for MPORA (Δ=10 ms, N=1) vs. DNA (Δ=10 ms). MPORA schedules much larger workloads than DNA, due to its ability to adapt resource allocations to input-dependent execution. Across all utilizations, MPORA scheduled 3× more tasksets.

Runtime overhead.

To evaluate MPORA’s runtime overhead with these parameters (Δ=10, N=1), we measured end-to-end resource allocation costs (including predictions, allocation computation, and resource reconfiguration). Across 20,000 observations, the minimum, maximum, and mean costs per allocation were 22 μs, 367 μs and 117 μs, respectively. Thus, invoking MPORA every Δ=10 ms on one of four cores corresponds to maximum and average overheads of 0.92% and 0.29%, respectively.

Effect of 𝚫.

Fig. 5(b) shows the mean response time at each utilization step when running MPORA with Δ={10,30,50} ms and N=1. Notice that the response time for Δ=10 grows the fastest as load increases, demonstrating the negative effect of frequent resource re-allocation at heavy loads. However, Δ=30 performs better than Δ=50 across all utilizations, reaffirming the importance of fine-grained, reactive resource allocation.

Effect of 𝑵.

Fig. 5(c) shows taskset schedulability vs. utilization for both N=1 and N=2 (keeping Δ=30 ms fixed). Even if we prune the search space, we found that increasing the prediction horizon results in worse schedulability, as the number of predictions grows exponentially in N. Solving (3) efficiently for larger N is an important future direction.

9 Conclusion

We presented the design, kernel-level implementation, and evaluation of MPORA, an uncertainty-aware dynamic resource allocation framework for multi-path, input-dependent real-time tasks on multicore platforms. By integrating learned predictive models with a receding-horizon MPC-like controller and weighted conformal prediction, MPORA adapts resource allocations online while enforcing deadline constraints robust to unseen execution paths and distribution shifts. Evaluations show MPORA achieves high prediction accuracy with low runtime overhead, while improving schedulability and response times over existing techniques. More broadly, MPORA demonstrates that uncertainty-aware learning and resource control can operate within the OS kernel, enabling self-adaptive real-time systems.

References

  • [1] Liviu Aolaritei, Zheyu Oliver Wang, Julie Zhu, Michael I. Jordan, and Youssef M. Marzouk. Conformal Prediction under Lévy-Prokhorov Distribution Shifts: Robustness to Local and Global Perturbations. arXiv preprint, 2025. doi:10.48550/arXiv.2502.14105.
  • [2] ARM. PrimeCell Level 2 Cache Controller (PL310) – Technical Reference Manual. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0246c/index.html.
  • [3] Ross Arnold and Tim Bell. The Canterbury Corpus. https://corpus.canterbury.ac.nz/, 1997.
  • [4] Jonathan Bader, Fabian Lehmann, Lauritz Thamsen, Ulf Leser, and Odej Kao. Lotaru: Locally Predicting Workflow Task Runtimes for Resource Management on Heterogeneous Infrastructures. Future Generation Computer Systems, 150:171–185, 2024. doi:10.1016/J.FUTURE.2023.08.022.
  • [5] Jonathan Bader, Kathleen West, Soeren Becker, Svetlana Kulagina, Fabian Lehmann, Lauritz Thamsen, Henning Meyerhenke, and Odej Kao. Predicting the Performance of Scientific Workflow Tasks for Cluster Resource Management: An Overview of the State of the Art, 2025. doi:10.48550/arXiv.2504.20867.
  • [6] Rina Foygel Barber, Emmanuel J. Candès, Aaditya Ramdas, and Ryan J. Tibshirani. Conformal Prediction beyond Exchangeability. Annals of Statistics, 51(2):816–845, 2023.
  • [7] Arnamoy Bhattacharyya, Stelios Sotiriadis, and Cristiana Amza. Online Phase Detection and Characterization of Cloud Applications. In Proceedings of the IEEE International Conference on Cloud Computing Technology and Science, pages 98–105. IEEE, 2017. doi:10.1109/CLOUDCOM.2017.21.
  • [8] G. A. Bondar, A. Eisenklam, Y. Cai, R. Gifford, T. Sial, L. T. X. Phan, and A. Halder. Generative Profiling for Soft Real-Time Systems and Its Applications to Resource Allocation. In Proceedings of the Real-Time and Embedded Technology and Applications Symposium, 2026.
  • [9] Maxime Cauchois, Suyash Gupta, Alnur Ali, and John C. Duchi. Robust Validation: Confident Predictions Even When Distributions Shift. Journal of the American Statistical Association, 119(548):3033–3044, 2024.
  • [10] Francisco J. Cazorla, Eduardo Quiñones, Tullio Vardanega, Liliana Cucu, Benoit Triquet, Guillem Bernat, Emery D. Berger, Jaume Abella, Franck Wartel, Michael Houston, Luca Santinelli, Leonidas Kosmidis, Code Lo, and Dorin Maxim. PROARTIS: Probabilistically Analyzable Real-Time Systems. ACM Trans. Embed. Comput. Syst., 12(2s):94:1–94:26, 2013. doi:10.1145/2465787.2465796.
  • [11] Kong Yao Chee, M. Ani Hsieh, and George J. Pappas. Uncertainty Quantification for Learning-Based MPC Using Weighted Conformal Prediction. In Proceedings of the IEEE Conference on Decision and Control, pages 342–349, 2023. doi:10.1109/CDC49753.2023.10383587.
  • [12] Tianqi Chen and Carlos Guestrin. XGBoost: A Scalable Tree Boosting System. In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pages 785–794, 2016. doi:10.1145/2939672.2939785.
  • [13] Liliana Cucu-Grosjean, Luca Santinelli, Michael Houston, Code Lo, Tullio Vardanega, Leonidas Kosmidis, Jaume Abella, Enrico Mezzetti, Eduardo Quiñones, and Francisco J. Cazorla. Measurement-Based Probabilistic Timing Analysis for Multi-Path Programs. In Robert Davis, editor, Proceedings of the Euromicro Conference on Real-Time Systems, 2012.
  • [14] Laurent David and Isabelle Puaut. Static Determination of Probabilistic Execution Times. In Proceedings of the Euromicro Conference on Real-Time Systems, pages 223–230, 2004. doi:10.1109/ECRTS.2004.34.
  • [15] Robert I. Davis and Alan Burns. A Survey of Hard Real-Time Scheduling for Multiprocessor Systems. ACM Comput. Surv., 43(4), 2011. doi:10.1145/1978802.1978814.
  • [16] Robert I. Davis and Liliana Cucu-Grosjean. A Survey of Probabilistic Timing Analysis Techniques for Real-Time Systems. Leibniz Transactions on Embedded Systems, 6(1):03:1–03:60, 2019. doi:10.4230/LITES-V006-I001-A003.
  • [17] Sebastian Deorowicz. Silesia Compression Corpus. https://sun.aei.polsl.pl/˜sdeor/index.php?page=silesia, 2003.
  • [18] Stewart Edgar and Alan Burns. Statistical Analysis of WCET for Scheduling. In Proceedings of the Real-Time Systems Symposium, pages 215–224, 2001. doi:10.1109/REAL.2001.990614.
  • [19] Abigail Eisenklam. MPORA. Software, swhId: swh:1:dir:effbb0b80f77dea1364355a09ce8c305aebc15b2 (visited on 2026-06-22). URL: https://github.com/phan-lab/MPORA, doi:10.4230/artifacts.26769.
  • [20] Abigail Eisenklam, Robert Gifford, Georgiy A Bondar, Yifan Cai, Tushar Sial, Linh Thi Xuan Phan, and Abhishek Halder. Rasco: Resource Allocation and Scheduling Co-Design for DAG Applications on Multicore. ACM Trans. Embed. Comput. Syst., 24(5s), 2025. doi:10.1145/3761814.
  • [21] Shereen Elsayed, Daniela Thyssens, Ahmed Rashed, Hadi Samer Jomaa, and Lars Schmidt-Thieme. Do We Really Need Deep Learning Models for Time Series Forecasting?, 2021. arXiv:2101.02118.
  • [22] Jerome H. Friedman. Greedy Function Approximation: A Gradient Boosting Machine. The Annals of Statistics, 29(5):1189–1232, 2001.
  • [23] Xing Fu, Khairul Kabir, and Xiaorui Wang. Cache-Aware Utilization Control for Energy Efficiency in Multi-Core Real-Time Systems. In Proceedings of the Euromicro Conference on Real-Time Systems, pages 102–111, 2011. doi:10.1109/ECRTS.2011.18.
  • [24] Asaf Gendler, Tsui-Wei Weng, Luca Daniel, and Yaniv Romano. Adversarially Robust Conformal Prediction. In International Conference on Learning Representations, 2022.
  • [25] Robert Gifford, Felipe Galarza-Jimenez, Linh Thi Xuan_Phan, and Majid Zamani. Decntr: Optimizing Safety and Schedulability with Multi-Mode Control and Resource Allocation Co-Design. In Proceedings of the Real-Time and Embedded Technology and Applications Symposium, pages 306–319, 2024. doi:10.1109/RTAS61025.2024.00032.
  • [26] Robert Gifford, Neeraj Gandhi, Linh Thi Xuan Phan, and Andreas Haeberlen. DNA: Dynamic Resource Allocation for Soft Real-Time Multicore Systems. In Proceedings of the Real-Time and Embedded Technology and Applications Symposium, pages 196–209, 2021. doi:10.1109/RTAS52030.2021.00024.
  • [27] Robert Gifford and Linh Thi Xuan Phan. Multi-Mode on Multi-Core: Making the Best of Both Worlds with Omni. In Proceedings of the Real-Time Systems Symposium, pages 118–131, 2022. doi:10.1109/RTSS55097.2022.00020.
  • [28] Jingzhi Gong and Tao Chen. Predicting Software Performance with Divide-and-Learn. In Proceedings of the ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pages 858–870, 2023. doi:10.1145/3611643.3616334.
  • [29] Sandro Grebant, Clément Ballabriga, Julien Forget, and Giuseppe Lipari. WCET Analysis with Procedure Arguments as Parameters. In Proceedings of the International Conference on Real-Time Networks and Systems, pages 11–22, 2023. doi:10.1145/3575757.3593655.
  • [30] Huong Ha and Hongyu Zhang. DeepPerf: Performance Prediction for Configurable Software with Deep Sparse Neural Network. In Proceedings of the International Conference on Software Engineering, pages 1095–1106, 2019. doi:10.1109/ICSE.2019.00113.
  • [31] Damien Hardy and Isabelle Puaut. Static Probabilistic Worst Case Execution Time Estimation for Architectures with Faulty Instruction Caches. Proceedings of the International Conference on Real-Time Networks and Systems, 51(2):128–152, 2015. doi:10.1007/S11241-014-9212-X.
  • [32] Intel. Improving Real-Time Performance by Utilizing Cache Allocation Technology, April 2015. White Paper.
  • [33] Yongin Kwon, Sangmin Lee, Hayoon Yi, Donghyun Kwon, Seungjun Yang, Byung-gon Chun, Ling Huang, Petros Maniatis, Mayur Naik, and Yunheung Paek. Mantis: Efficient Predictions of Execution Time, Energy Usage, Memory Usage and Network Usage on Smart Mobile Devices. IEEE Transactions on Mobile Computing, 14(10):2059–2072, 2015. doi:10.1109/TMC.2014.2374153.
  • [34] Jing Lei, Max G’Sell, Alessandro Rinaldo, Ryan J. Tibshirani, and Larry Wasserman. Distribution-Free Predictive Inference for Regression. Journal of the American Statistical Association, 113(523):1094–1111, 2018.
  • [35] Alberto Leva, Alessandro Vittorio Papadopoulos, and Martina Maggio. A General Control-Theoretical Methodology for Runtime Resource Allocation in Computing Systems. In Proceedings of the IEEE Conference on Decision and Control, pages 3487–3492, 2013. doi:10.1109/CDC.2013.6760418.
  • [36] Yun Liang and Tulika Mitra. Cache Modeling in Probabilistic Execution Time Analysis. In Limor Fix, editor, Proceedings of the ACM/IEEE Design Automation Conference, pages 319–324, 2008. doi:10.1145/1391469.1391551.
  • [37] George Lima and Iain Bate. Valid Application of EVT in Timing Analysis by Randomising Execution Time Measurements. In Gabriel Parmer, editor, Proceedings of the Real-Time and Embedded Technology and Applications Symposium, pages 187–198, 2017. doi:10.1109/RTAS.2017.17.
  • [38] George Lima, Dario Dias, and Edna Barros. Extreme Value Theory for Estimating Task Execution Time Bounds: A Careful Look. In Proceedings of the Euromicro Conference on Real-Time Systems, pages 200–211, 2016. doi:10.1109/ECRTS.2016.20.
  • [39] Lars Lindemann, Yiqi Zhao, Xinyi Yu, George J. Pappas, and Jyotirmoy V. Deshmukh. Formal Verification and Control with Conformal Prediction: Practical Safety Guarantees for Autonomous Systems. IEEE Control Systems, 45:72–122, 2025.
  • [40] Erika Susana Alcorta Lozano and Andreas Gerstlauer. Learning-Based Phase-Aware Multi-Core CPU Workload Forecasting. ACM Trans. Des. Autom. Electron. Syst., 28(2):1–27, 2022. doi:10.1145/3564929.
  • [41] Chenyang Lu, John A. Stankovic, Sang H. Son, and Gang Tao. Feedback Control Real-Time Scheduling: Framework, Modeling, and Algorithms. Real-Time Systems, 23(1):85–126, 2002. doi:10.1023/A:1015398403337.
  • [42] Renato Mancuso, Roman Dudko, Emiliano Betti, Marco Cesati, Marco Caccamo, and Rodolfo Pellizzoni. Real-Time Cache Management Framework for Multi-Core Architectures. In Proceedings of the Real-Time and Embedded Technology and Applications Symposium, pages 45–54, 2013. doi:10.1109/RTAS.2013.6531078.
  • [43] Harris Papadopoulos, Kostas Proedrou, Volodya Vovk, and Alex Gammerman. Inductive Confidence Machines for Regression. In Machine Learning: ECML 2002, volume 2430 of Lecture Notes in Computer Science, pages 345–356, 2002. doi:10.1007/3-540-36755-1_29.
  • [44] Jinsu Park, Seongbeom Park, and Woongki Baek. CoPart: Coordinated Partitioning of Last-Level Cache and Memory Bandwidth for Fairness-Aware Workload Consolidation on Commodity Servers. In EuroSys, 2019.
  • [45] Tirthak Patel and Devesh Tiwari. CLITE: Efficient and QoS-Aware Co-Location of Multiple Latency-Critical Jobs for Warehouse Scale Computers. In Proceedings of the International Symposium on High Performance Computer Architecture, pages 193–206, 2020. doi:10.1109/HPCA47549.2020.00025.
  • [46] Raghavendra Pradyumna Pothukuchi, Amin Ansari, Petros Voulgaris, and Josep Torrellas. Using Multiple Input, Multiple Output Formal Control to Maximize Resource Efficiency in Architectures. In Proceedings of the ACM/IEEE Annual International Symposium on Computer Architecture, pages 658–670, 2016. doi:10.1109/ISCA.2016.63.
  • [47] R. Tyrrell Rockafellar and Roger J-B Wets. Variational Analysis. Springer, Berlin, Heidelberg, 1998. doi:10.1007/978-3-642-02431-3.
  • [48] Ahsan Saeed, Dakshina Dasari, Dirk Ziegenbein, Varun Rajasekaran, Falk Rehm, Michael Pressler, Arne Hamann, Daniel Mueller-Gritschneder, Andreas Gerstlauer, and Ulf Schlichtmann. Memory Utilization-Based Dynamic Bandwidth Regulation for Temporal Isolation in Multi-Cores. In Proceedings of the Real-Time and Embedded Technology and Applications Symposium, pages 133–145, 2022. doi:10.1109/RTAS54340.2022.00019.
  • [49] Albrecht Schmidt, Florian Waas, Martin Kersten, Michael J. Carey, Ioana Manolescu, and Ralph Busse. XMark: A Benchmark for XML Data Management. In Proceedings of the International Conference on Very Large Data Bases, pages 974–985, 2002. doi:10.1016/B978-155860869-6/50096-2.
  • [50] Parul Sohal, Rohan Tabish, Ulrich Drepper, and Renato Mancuso. E-WarP: A System-Wide Framework for Memory Bandwidth Profiling and Management. In Proceedings of the Real-Time Systems Symposium, pages 345–357, 2020. doi:10.1109/RTSS49844.2020.00039.
  • [51] Parul Sohal, Rohan Tabish, Ulrich Drepper, and Renato Mancuso. Profile-Driven Memory Bandwidth Management for Accelerators and CPUs in QoS-Enabled Platforms. In Real-Time Systems, volume 58, pages 235–274, 2022. doi:10.1007/S11241-022-09382-X.
  • [52] Standard Performance Evaluation Corporation. SPEC CPU® 2017 Benchmark. https://www.spec.org/cpu2017/.
  • [53] J.A. Stankovic, Chenyang Lu, S.H. Son, and Gang Tao. The Case for Feedback Control Real-Time Scheduling. In Proceedings of the Euromicro Conference on Real-Time Systems, pages 11–20, 1999.
  • [54] Srinivasan Subramaniyan and Xiaorui Wang. FC-GPU: Feedback Control GPU Scheduling for Real-Time Embedded Systems. ACM Trans. Embed. Comput. Syst., 24(5s), 2025. doi:10.1145/3761812.
  • [55] Binqi Sun, Zhihang Wei, Andrea Bastoni, Debayan Roy, Mirco Theile, Tomasz Kloda, Rodolfo Pellizzoni, and Marco Caccamo. Multi-Objective Memory Bandwidth Regulation and Cache Partitioning for Multicore Real-Time Systems. In Renato Mancuso, editor, Proceedings of the Euromicro Conference on Real-Time Systems, 2025.
  • [56] Karl Taht, James Greensky, and Rajeev Balasubramonian. The POP Detector: A Lightweight Online Program Phase Detection Framework. In Proceedings of the International Symposium on Performance Analysis of Systems and Software, pages 48–57, 2019. doi:10.1109/ISPASS.2019.00013.
  • [57] Roman Vershynin. High-Dimensional Probability: An Introduction with Applications in Data Science. Cambridge Series in Statistical and Probabilistic Mathematics. Cambridge University Press, 2018.
  • [58] Vladimir Vovk, Alexander Gammerman, and Glenn Shafer. Algorithmic Learning in a Random World. Springer International Publishing, 2nd edition, 2022.
  • [59] Yilin Wang, Sasi Inguva, and Balu Adsumilli. YouTube UGC Dataset for Video Compression Research. In Proceedings of the International Workshop on Multimedia Signal Processing, pages 1–5, 2019. doi:10.1109/MMSP.2019.8901772.
  • [60] Meng Xu, Robert Gifford, and Linh Thi Xuan Phan. Holistic Multi-Resource Allocation for Multicore Real-Time Virtualization. In Proceedings of the Design Automation Conference, pages 1–6, 2019.
  • [61] Meng Xu, Linh Thi Xuan Phan, H. Choi, Y. Lin, H. Li, C. Lu, and Insup Lee. Holistic Resource Allocation for Multicore Real-Time Systems. In Proceedings of the Real-Time and Embedded Technology and Applications Symposium, pages 345–356, 2019.
  • [62] Rui Xu, Chao Chen, Yue Sun, Parvathinathan Venkitasubramaniam, and Sihong Xie. Wasserstein-Regularized Conformal Prediction under General Distribution Shift. In The Thirteenth International Conference on Learning Representations, 2025.
  • [63] Heechul Yun, Gang Yao, Rodolfo Pellizzoni, Marco Caccamo, and Lui Sha. Memory Bandwidth Management for Efficient Performance Isolation in Multi-Core Platforms. IEEE Transactions on Computers, 65(2):562–576, 2016. doi:10.1109/TC.2015.2425889.