Google Research ha appena presentato LAVA (Lifetime-Aware VM Allocation), un algoritmo di scheduling con intelligenza artificiale che re-predice continuamente la “durata residua” delle VM in esecuzione per comprimere i server cloud come fosse un Tetris: l’obiettivo è ridurre lo spazio “sprecato” sui nodi e migliorare l’efficienza fino a qualche punto percentuale. (Scopri di più sul blog ufficiale di Google) (Vedi research.google)

L’idea suona quasi banale: se sai meglio per quanto una VM resterà attiva, puoi piazzarla in modo che “riempia” spazi residui su host senza lasciare buchi inutili. Il diavolo è nei dettagli: le durate delle VM sono imprevedibili, distribuite con code lunghe (molte VM vivono poco tempo ma poche consumano molte risorse). Google affronta questa incertezza non con una singola previsione, ma con una distribuzione probabilistica e con aggiornamenti continui durante l’esecuzione.

Nel paper “LAVA: Lifetime-Aware VM Allocation with Learned Distributions and Adaptation to Mispredictions” gli autori mostrano che, rispetto ad approcci più “statici”, LAVA riduce il fenomeno del resource stranding (risorse rimaste inutilizzabili a causa di frammentazione) e aumenta il numero di host “vuoti” disponibili per manutenzione o per carichi di grandi dimensioni. In produzione sui cluster Google, si osservano guadagni sull’efficienza che vanno oltre il 2-3 %, e in simulazioni si parla anche di 2,3-9,2 punti percentuali in più di host liberi.

Il 9 % che hai citato è più vicino al massimo teorico osservato in simulazioni (o margini potenziali per host vuoti) che al miglioramento garantito su CPU / memoria. Nel paper, ad esempio, si segnala una riduzione dello stranding (risorse perse per frammenti) di ~3 % (CPU) e ~2 % (memoria), e un aumento di host vuoti da 2,3 a 9,2 punti percentuali.

LAVA non è solo “meglio predire all’inizio”, ma decide anche, dinamicamente, di ricollocare VM (rescheduling) quando le predizioni iniziali sbagliano. Introduce tre componenti principali: NILAS (scoring con informazioni di durata), l’allocazione LAVA (che cerca di mettere VM a vita breve in spazi che “scadono” prima) e LARS, una logica di deframmentazione / migrazione controllata.

Cosa significa questo nella pratica per chi progetta infrastrutture cloud, per operatori o aziende tech che contano su VM e container? Alcuni spunti:

  • miglior disponibilità: più host vuoti significa più margine per aggiornamenti, provisioning su larga scala, manutenzione senza downtime
  • costi operativi ridotti: meno risorse “scarseggiate” o frammentate da dover lasciare inutilizzate
  • efficienza energetica: riduzione dell’overprovisioning, miglior utilizzo dei server esistenti
  • attivazione graduale: l’algoritmo può essere integrato su scheduler esistenti (come Borg di Google) con componenti non invasivi

Naturalmente non è una rivoluzione istantanea. Le sfide includono:

  • la latenza e il costo computazionale delle predizioni continue
  • la robustezza alle predizioni errate: se una VM supera la durata stimata, il sistema deve adattarsi
  • la complessità algoritmica in ambienti reali (molte VM, molte risorse, vincoli multipli)

LAVA segna un passo avanti nel problema classico del bin packing con incertezza temporale, applicato al cloud. Se il “9 %” è un po’ forte come promessa universale, il potenziale è concreto, specie in ambienti su larga scala dove ogni punto percentuale conta.