In edge computing, it is common to lack sufficient computational resources to enable a physical separation between applications, making resource sharing unavoidable. However, resource-sharing techniques must ensure that mutually untrusted applications colocated on the same nodes and core to meet timing constraints. To this end, the Linux SCHED_DEADLINE scheduler offers timing isolation and real-time guarantees through resource reservation. However, configuring its parameters is complex, especially in the case of highly variable workloads that are common in dynamic environments, e.g., as in mobility. This paper presents an adaptive monitoring mechanism to dynamically reconfigure SCHED_DEADLINE reservations based on runtime workload behavior. A kernel patch exports execution statistics, enabling realtime parameter adjustments: it increases the runtime allocated when a thread exhausts it before completing, and it reduces the runtime when the resource reservation is underutilized. Our prototype is implemented in Rust and supports the monitoring of threads, process groups, containers, and VMs. Evaluation results demonstrate the flexibility of the tool, showing how it is capable to adapt to different scenarios.

Runtime Monitoring for Edge Applications

Casini, Daniel;Abeni, Luca;Marinoni, Mauro;Biondi, Alessandro
2025-01-01

Abstract

In edge computing, it is common to lack sufficient computational resources to enable a physical separation between applications, making resource sharing unavoidable. However, resource-sharing techniques must ensure that mutually untrusted applications colocated on the same nodes and core to meet timing constraints. To this end, the Linux SCHED_DEADLINE scheduler offers timing isolation and real-time guarantees through resource reservation. However, configuring its parameters is complex, especially in the case of highly variable workloads that are common in dynamic environments, e.g., as in mobility. This paper presents an adaptive monitoring mechanism to dynamically reconfigure SCHED_DEADLINE reservations based on runtime workload behavior. A kernel patch exports execution statistics, enabling realtime parameter adjustments: it increases the runtime allocated when a thread exhausts it before completing, and it reduces the runtime when the resource reservation is underutilized. Our prototype is implemented in Rust and supports the monitoring of threads, process groups, containers, and VMs. Evaluation results demonstrate the flexibility of the tool, showing how it is capable to adapt to different scenarios.
File in questo prodotto:
File Dimensione Formato  
Casini2025_DCOSS.pdf

accesso aperto

Tipologia: Documento in Post-print/Accepted manuscript
Licenza: Copyright dell'editore
Dimensione 514.73 kB
Formato Adobe PDF
514.73 kB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11382/581797
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
social impact