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 | 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.

