Il kernel Linux in tempo reale (PREEMPT_RT) è notoriamente esigente: ogni componente deve garantire che le sezioni critiche non blocchino l'esecuzione per un tempo indefinito. E se c'è un componente che ha sempre dato del filo da torcere, è il driver grafico Intel i915, il pilastro software che gestisce le GPU integrate della casa di Santa Clara. Dopo anni di adattamenti parziali, una nuova serie di patch sta per colmare la distanza: il driver i915 è quasi pronto a convivere con il kernel RT, ma a una condizione precisa: niente supporto per il display. Una limitazione che, per certi scenari, potrebbe essere irrilevante o addirittura un vantaggio.
Per capire perché questa notizia meriti attenzione, bisogna partire dai fondamenti del Linux real-time. A differenza del kernel standard, dove la preemption può essere disabilitata in modo prolungato da driver o operazioni di I/O, il kernel PREEMPT_RT riduce al minimo le regioni non-preemptibili, garantendo latenze massime nell'ordine delle decine di microsecondi. Questo è essenziale in ambiti come la robotica, l'automazione industriale, le infrastrutture critiche e, sempre più, l'inference di modelli AI su edge. Qui, un ritardo di qualche millisecondo nella risposta di un acceleratore può tradursi in un movimento fuori controllo o una decisione di sicurezza mancata.
Il problema con i driver GPU è storico: le GPU hanno pipeline complesse, code di comandi e meccanismi di sincronizzazione tra CPU e motore grafico che, di fatto, introducono punti in cui il kernel non può essere interrotto per periodi potenzialmente lunghi. Il codice i915, che copre un ventaglio ampio di chipset Intel, dagli Atom ai Core di ultima generazione, è particolarmente intricato perché deve gestire anche funzionalità di visualizzazione, cambio modalità, gestione del frame buffer. Sono tutte operazioni che, nel contesto real-time, diventano nemiche della prevedibilità.
Le patch in fase di revisione sulla mailing list del kernel aggirano questa difficoltà alla radice: abilitano la piena compatibilità con PREEMPT_RT solo quando il driver è configurato per operare in modalità "headless", cioè senza alcun output video. Tecnicamente, ciò significa che le routine di gestione del display vengono escluse dalla build, rimuovendo la fonte primaria di latenze imprevedibili. Il chip grafico resta comunque accessibile come compute engine: attraverso API come OpenCL, oneAPI Level Zero, o librerie di inference come OpenVINO, è possibile sfruttarlo per calcoli paralleli. Non è un caso che la patch sia stata accolta con interesse da chi lavora su carichi di AI in ambito industriale: le GPU integrate Intel sono onnipresenti nei sistemi embedded e nei server compatti, e renderle deterministiche aprirebbe la porta a deployment on-premise dove l'hardware dedicato (come costose GPU NVIDIA) non è giustificabile per costo o consumi.
Per chi valuta soluzioni di inference auto-ospitate con LLM o modelli computer vision, il trade-off è evidente. Da un lato si perde la possibilità di collegare un monitor, il che non è un problema in un nodo edge montato in un armadio di fabbrica o in un server "headless". Dall'altro si guadagna la certezza che l'elaborazione del modello non subirà jitter introdotti dal sistema operativo. Il TCO (Total Cost of Ownership) di un parco macchine basato su processori Intel con GPU integrata potrebbe abbassarsi sensibilmente, eliminando la necessità di acceleratori esterni per carichi che non richiedono potenza di calcolo massiccia ma richiedono risposte entro finestre temporali ristrette.
Va sottolineato che la situazione è ancora in divenire: le patch devono superare l'ultimo giro di revisioni e convincere i maintainer del sottosistema grafico Direct Rendering Manager. Tuttavia, il consenso crescente lascia intendere che l'inclusione nel ramo principale del kernel sia solo questione di tempo. Intel, da parte sua, ha investito molto negli ultimi anni nel supporto a Linux, sia per le CPU che per le GPU, e questa mossa si inserisce in una strategia più ampia di abilitazione di piattaforme aperte per l'edge computing. Resta da vedere se, con l'arrivo delle schede Arc dedicate e l'evoluzione del driver Xe, la stessa filosofia RT verrà estesa anche al nuovo stack, magari con meno compromessi.
💬 Commenti (0)
🔒 Accedi o registrati per commentare gli articoli.
Nessun commento ancora. Sii il primo a commentare!