<figure><img src="image_1.png" /></figure>

HAL
open science

# Task hybridization in heterogeneous computing: a combination of control and scheduling theories

Kouds Halitim

► To cite this version:

Kouds Halitim. Task hybridization in heterogeneous computing: a combination of control and scheduling theories. 2025 - concours de la journée "PhD Madness" du LIG, May 2025, GRENOBLE (38000), France. hal-05108245

HAL Id: hal-05108245

https://hal.science/hal-05108245v1

Submitted on 11 Jun 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

Public Domain
Kouds Halitim¹, Raphaël Bleuse¹, Eric Rutten¹, Bogdan Robu²

colab: Sophie Cerf³, Alexandre Van Kempen⁴

1. Univ. Grenoble Alpes, Inria, CNRS, Grenoble INP, LIG, 2. GiPSA-Lab, 3. CRISTAL-Lille, 4. Qarnot Computing.

**Context:** Resource Management in Cloud/HPC

<figure><img src="image_2.png" /></figure>

**Trade-offs:**

i. Energy Efficiency

ii. Performance maximization

iii. Shared Resources Congestion

**Approach:** Feedback regulation at runtime (using Control theory)

* We follow the following approach to design controller/s that balance the earlier trade-offs:

<figure><img src="image_3.png" /><figcaption>**Figure 1** – (a) Six-step, iterative workflow for feedback-controller design; (b) the corresponding closed-loop architecture in which the controller acts on the target system so the output tracks the desired reference while rejecting disturbances</figcaption></figure>

**Systems under study**

1 System 1: Computing Resources
Harvesting through CiGri

<figure><img src="image_4.png" /><figcaption>**Figure 2** - Graphical representation of the CiGri feedback loop</figcaption></figure>

**Objective:** Regulate the Best-Effort (BE) jobs $u_k$ submission size to fit the number of **idle resources** while accounting for the High Priority (HP) jobs arrival.

**Challenges:** Handling the Stochastic varying parameters of the jobs (e.g, Execution times), and their unpredictable arrival/departure times.

2 System 2: Coarse-grain Congestion
Regulation

<figure><img src="image_5.png" /><figcaption>**Figure 3**- Overview of the control on the I/O path on a single node</figcaption></figure>

**Objective:** Dynamically regulate client-side I/O rates using real-time cgroups wiops action $u_k$ and server dispatch queue size $y_k$ metrics to avoid congestion.

**Challenges:** Scale to multi-node HPC clusters, ensure stability to highly variable workloads, guarantee predictable performance without sacrificing essential bandwidth.

**Controller Design**

For **1** to handle the previous challenges we use a Stochastic Model Predictive (SMPC) Scheme plus a Feedforward (FF) compensating Action:

$$ \min_{\{v_k\}_{k=0}^{N-1}} \sum_{k=0}^{N-1} (e_k^T Q e_k + (v_k - Ky_k)^T R (v_k - Ky_k)) $$

s.t.

$$ y_{k+1} = A y_k + Bu_k, $$

$$ c_1(y_k, v_k) \le 0, c_2(y_k, v_k) \le 0, \gamma_k = h(\Sigma, \beta). $$

$$ u_k = v_k - Ky_k + u_k^{ff} $$

For **2** we use a Proportional Integral Controller:

$$ u_k = K_P e_k + K_I \cdot T_s \sum_{i=0}^{k} e_i, \quad T_s = 100 \text{ms} $$

Here $e_k$ is the tracking error, $K_P$ the proportional gain and $K_I$ is the integral gain.

**Results 1**

<figure><img src="image_6.png" /><figcaption>**Figure 4** - Plot (a) shows that the number of jobs running and waiting is around the cluster capacity (blue signal) and the controller changes the submission size (orange signal in (b)) in response to the arrival of HP jobs</figcaption></figure>

**Results 2**

<figure><img src="image_7.png" /><figcaption>**Figure 5** - The figure shows that the dispatch queue size (orange signal) tracks well the target value (dashed green) following the PI wiops command (blue signal) for $(kp,ki)=(105,3922)$</figcaption></figure>

**Future Works**

* For the 1st system: Testing on real world BE compaigns.

* For the 2nd system: Add the network and adding shared filesystem layers to the experiments on a multi-node setup, e.g. Grid5000 cluster.

Contact: Kouds.halitim@inria.fr

<figure><img src="image_8.png" /></figure>