Popcorn Linux propone un nuovo sistema per la gestione dei thread
Popcorn Linux è un progetto realizzato dal gruppo di ricerca della Virginia Tech’s Software and Systems. Risale a pochi giorni fa la pubblicazione di una RFC sulla pagina ufficiale del kernel Linux. Vediamo insieme di cosa si tratta.
Popcorn Linux ed il modello di replicazione del kernel
ISA, acronimo di Instruction Set Architecture, descrive l’architettura delle istruzioni che una CPU è in grado di eseguire. Ogni tipo di CPU ha un proprio ISA, quindi set di istruzioni diverse e, spesso, non compatibili tra loro. Popcorn Linux è una piattaforma basata sul kernel Linux e sul Popcorn Compiler, derivato del LLVM. Permette alle applicazioni di avviare l’esecuzione su un nodo particolare, e migrare la fase di run-time su più nodi, in maniera continua e dinamica. La sua peculiarità è che consente di migrare qualsiasi thread, potenzialmente anche tra configurazioni hardware ed ISA differenti tra loro.
Più istanze del kernel Linux, in esecuzione su più nodi, collaborano tra loro, per fornire alle applicazioni una singola immagine del sistema operativo. Nell’esecuzione simultanea dei vari thread, questo sistema garantisce la coerenza della memoria virtuale tra i vari host.
Per quanto riguarda le modifiche del kernel proposte, per l’esecuzione di thread distribuiti, Popcorn Linux usa una memoria condivisa distribuita, software-based. Questa viene implementata estendendo il sottosistema di memoria virtuale di Linux. Ciò consente ai processi, su macchine diverse, di osservare uno spazio di indirizzi virtuale comune e coerente.
Ambiti di applicazione
Come riportato sul sito ufficiale, vediamo quindi alcuni esempi, di come potrà essere sfruttata questa tecnologia:
- future piattaforme con ISA eterogenei;
- come alternativa alla virtualizzazione. Le estensioni Popcorn al kernel Linux consentono alle sue istanze di funzionare sulla stessa macchina fisica. Il vantaggio è che non si avrà il sovraccarico della virtualizzazione. Il costo da pagare sarà in termini di sicurezza;
- isolamento delle applicazioni in esecuzione. Un kernel real-time può avviare l’applicazione in modalità isolata, mentre tutti gli altri kernel possono fornire i servizi senza interferire con l’esecuzione;
- scopi didattici e di ricerca.
Il codice è basato su Linux 5.2 e, per ora, supporta le sole architetture x86. Non sono pochi i problemi relativi alla sicurezza. Viene quindi raccomandato di non caricare Popcorn Linux su sistemi connessi a Internet. Per maggiori informazioni, vi rimando al sito web ufficiale.
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.