Ricerca
QFabric: recupero interdominio con salvaguardie e limiti su una scheda Linux-RTOS
Le schede embedded eterogenee abbinano un processore applicativo Linux a un microcontrollore in tempo reale (MCU), suggerendo di spostare un task tra i due domini quando le sue prestazioni temporali p
- arXiv
- 2611.01598
- Pubblicato
- 2026-11-01
- Autori
- Ayushman Bhattacharya, Anwesha Chakraborty
Abstract degli autori
Le schede embedded eterogenee abbinano un processore applicativo Linux a un microcontrollore in tempo reale (MCU), suggerendo di spostare un task tra i due domini quando le sue prestazioni temporali peggiorano. Presentiamo QFabric, un prototipo che tratta il posizionamento interdominio come un recupero con salvaguardie da una violazione di un contratto empirico di tempo reale non rigido: un task con limiti definiti viene compilato per entrambi i domini, monitorato su finestre con isteresi, spostato solo dopo aver superato le verifiche di ammissibilità semantica e di capacità al confine di un’epoca quiescente, quindi confermato o ripristinato dopo un periodo di prova. Su un Arduino UNO Q (Linux su Cortex-A53 e Zephyr in esecuzione su un Cortex-M33), caratterizziamo l’interconnessione RPC Bridge di serie e misuriamo cinque carichi di lavoro in entrambi i domini in condizioni di inattività, carico della CPU e contesa da parte di task SCHED_FIFO con priorità più alta, con chiamanti ordinari e in tempo reale. Ogni invocazione dell’MCU comporta un costo di dispatch di circa 19 ms, indipendentemente dal calcolo; l’MCU esegue il kernel più pesante 34 volte più lentamente e, poiché ogni chiamata attraversa lo spazio utente di Linux, la contesa su Linux aumenta i tempi del percorso MCU molto più di quelli del percorso Linux (p99 fino a 400 ms contro 17,0 ms). Nelle 30 celle di una catena a quattro nodi, Linux rispetta tutti i contratti con una percentuale di mancate scadenze non superiore allo 0,8% e QFabric, correttamente, non migra mai; un controller senza isteresi migra in 7 celle, facendo aumentare p95 fino a 177 volte, e il periodo di prova annulla 5 di questi spostamenti. Sulle schede eterogenee in cui il dispatch è gestito da Linux, la migrazione non può quindi isolare un task dalle interferenze di Linux e le salvaguardie del meccanismo di recupero sono importanti soprattutto perché impediscono spostamenti dannosi. Questo articolo sostituisce una precedente release dell’artefatto, il cui miglioramento dichiarato era dovuto a difetti di misurazione che identifichiamo. Tutto il codice sorgente, le tracce grezze e i generatori sono pubblici.
Il riassunto di questo paper è disponibile solo in inglese: leggilo nella pagina inglese.
Leggi il paper originale su arXiv