Advanced Memory Tiering

Quando gli SSD NVMe diventano il secondo livello della memoria

Indice

Advanced Memory Tiering

Perché ripensare la memoria degli host ESXi 

DRAM e NVMe: ruoli diversi ma complementari 

Come funziona Advanced Memory Tiering 

Cosa cambia in VMware Cloud Foundation 9.1 

Benefici e scenari di utilizzo 

Conclusione

Perché ripensare la memoria degli host ESXi

La memoria è da sempre una delle risorse più importanti, e spesso più costose, di un host di virtualizzazione. L’aumento delle dimensioni delle macchine virtuali, la diffusione di database in-memory e la crescita di workload legati ad analytics e intelligenza artificiale hanno reso la capacità di memoria un fattore determinante nella progettazione dei data center moderni. 

La DRAM continua a offrire latenze difficilmente replicabili da altre tecnologie di memoria, ma il suo costo elevato e i limiti fisici di espansione possono impedire di sfruttare appieno la capacità di calcolo dei server. Con l’arrivo dei dispositivi SSD NVMe ad alte prestazioni, VMware ha cercato di sfruttarne le caratteristiche introducendo, con VMware Cloud Foundation 9, la funzionalità di Advanced Memory Tiering, la quale utilizza gli SSD NVMe come secondo livello della memoria dell’host, affiancando la DRAM senza sostituirla e creando una gerarchia della memoria gestita direttamente dall’hypervisor ESXi. 

L’idea alla base dell’Advanced Memory Tiering è piuttosto semplice: mantenere nella DRAM le pagine di memoria considerate hot, ovvero quelle utilizzate più frequentemente, e spostare quelle meno utilizzate (cold) sul secondo livello di memoria costituito dagli SSD NVMe. Dal punto di vista delle macchine virtuali, però, non cambia nulla: la memoria continua a essere vista come un unico spazio logico. La suddivisione tra DRAM e NVMe è infatti completamente trasparente ai sistemi operativi guest ed è gestita automaticamente dall’hypervisor ESXi. 

DRAM e NVMe: ruoli diversi ma complementari

DRAM significa Dynamic Random Access Memory ed è la tecnologia normalmente utilizzata come memoria principale nei server, è una memoria volatile e caratterizzata da latenze estremamente ridotte, molto inferiori rispetto a qualsiasi dispositivo di storage. Quando si parla genericamente della RAM installata in un host, nella maggior parte dei casi ci si riferisce proprio alla DRAM. Un SSD NVMe, invece, è un dispositivo di storage persistente che, pur presentando latenze superiori rispetto alla DRAM, offre capacità elevate e un costo per gigabyte sensibilmente inferiore. È proprio questa combinazione di prestazioni e costo a renderlo un candidato ideale per affiancare la memoria tradizionale. 

Advanced Memory Tiering non trasforma fisicamente un dispositivo NVMe in RAM, è l’hypervisor ESXi che, dal punto di vista logico, utilizza una porzione degli SSD NVMe come Tier 1 della gerarchia della memoria, mantenendo la DRAM come Tier 0 ad alte prestazioni. È importante distinguere questa tecnologia dal tradizionale meccanismo di swap, normalmente utilizzato come soluzione di emergenza quando la memoria disponibile non è più sufficiente. Il Memory Tiering, invece, rappresenta una funzionalità progettata e gestita in modo continuo, l’hypervisor monitora costantemente l’attività delle pagine di memoria e ne regola automaticamente la collocazione tra i due livelli, senza che le macchine virtuali o i sistemi operativi guest debbano effettuare alcun intervento. 

Come funziona Advanced Memory Tiering

ESXi monitora il comportamento della memoria delle VM e distingue le pagine più attive, definite comunemente hot pages, da quelle consultate con minore frequenza, le cold pages. Le pagine calde vengono mantenute in DRAM per offrire la latenza più bassa possibile; le pagine fredde possono essere collocate sul livello NVMe, liberando DRAM per i workload che ne hanno maggiore necessità. 

Questa classificazione non è definitiva. Se una pagina collocata sul Tier 1 torna a essere utilizzata frequentemente, l’hypervisor può promuoverla nuovamente in DRAM, allo stesso modo, una pagina che diventa meno attiva può essere spostata verso l’NVMe. Il risultato è una gestione dinamica, nella quale la risorsa più costosa viene riservata al working set realmente attivo. 

I dispositivi utilizzati per il Memory Tiering devono essere dedicati alla funzione e opportunamente configurati, non vanno confusi con gli NVMe impiegati da vSAN per il datastore: Memory Tiering è una funzionalità del livello compute e dell’hypervisor, non una caratteristica del data path di vSAN. Questa distinzione è essenziale sia nella progettazione hardware sia nel capacity planning. 

È importante ricordare che Advanced Memory Tiering richiede hardware espressamente supportato da Broadcom. Non è sufficiente installare uno o più SSD NVMe: anche CPU, piattaforma hardware e dispositivi devono essere presenti nella VMware Compatibility Guide (VCG) e soddisfare i requisiti previsti dalla release di VMware Cloud Foundation utilizzata. Per questo motivo, la verifica della compatibilità rappresenta uno dei primi passaggi da effettuare durante la progettazione dell’infrastruttura. 

Cosa cambia in VMware Cloud Foundation 9.1

In VMware Cloud Foundation 9.0 Advanced Memory Tiering poteva essere configurato sul singolo host o a livello di cluster tramite vCenter, comandi ESXCLI, PowerCLI oppure mediante configurazione dichiarativa. L’abilitazione prevedeva la preparazione dei dispositivi NVMe dedicati, la creazione della partizione destinata al Tier 1 e, per l’applicazione uniforme della configurazione sul cluster, il riavvio progressivo degli host. 

VCF 9.1 consolida la tecnologia introdotta nella versione 9.0 e ne semplifica l’adozione operativa, la configurazione può essere gestita tramite vSphere Configuration Profiles, permettendo di dichiarare a livello di cluster quali dispositivi NVMe devono essere utilizzati per il tier di memoria. La versione 9.1 introduce inoltre la possibilità di riservare un secondo dispositivo NVMe come mirror software del Tier 1, migliorando la resilienza senza rendere obbligatorio un controller RAID hardware. 

In VMware Cloud Foundation 9.0 Advanced Memory Anche l’osservabilità è stata migliorata, le nuove viste nel vSphere Client permettono di verificare la capacità dei due tier e il comportamento della memoria, offrendo agli amministratori informazioni più utili per dimensionamento e troubleshooting. Broadcom segnala inoltre miglioramenti prestazionali e un supporto più ampio per alcuni profili di VM, pur mantenendo casi nei quali una macchina può essere esclusa dal tiering e continuare a utilizzare esclusivamente la DRAM. 

Benefici e scenari di utilizzo

Il beneficio più immediato è economico, una parte della capacità di memoria può essere ottenuta mediante NVMe, riducendo la dipendenza da espansioni esclusivamente DRAM, il che consente di sfruttare meglio le risorse hardware dell’host, permettendo in molti casi di ospitare un numero maggiore di macchine virtuali e di utilizzare più efficacemente anche le CPU che, in ambienti limitati dalla memoria (memory-bound), rimarrebbero altrimenti sottoutilizzate. 

Questa tecnologia è particolarmente interessante per ambienti con molte VM, database con working set ampi, piattaforme di analytics e workload nei quali una parte significativa della memoria allocata rimane poco attiva per lunghi periodi. Non tutti i carichi di lavoro sono però sono consigliati, le applicazioni estremamente sensibili alla latenza o VM con profili speciali richiedono una valutazione più prudente e possono essere mantenute interamente sul Tier 0. 

Advanced Memory Tiering non elimina quindi la necessità di un corretto sizing, al contrario, rende ancora più importante conoscere il comportamento dei workload. La scelta della quantità di DRAM, della capacità NVMe e del rapporto tra i due tier deve basarsi su misurazioni reali, non soltanto sulla memoria configurata alle VM. 

Conclusione

Advanced Memory Tiering rappresenta un cambiamento significativo nel modo in cui viene progettata la memoria degli host ESXi. La DRAM continua a essere il livello più veloce e rimane indispensabile, ma non è più l’unica risorsa utilizzabile per offrire memoria indirizzabile alle VM, l’integrazione di un Tier 1 NVMe permette di creare una gerarchia più flessibile, gestita automaticamente dall’hypervisor. 

In VMware Cloud Foundation 9.1 la funzionalità diventa più semplice da configurare, più resiliente e più osservabile. Il valore non risiede soltanto nell’aumento della capacità, ma nella possibilità di allineare meglio costo e prestazioni: DRAM per il working set realmente attivo, NVMe per le pagine meno utilizzate. Per i data center in cui la memoria è il principale limite al consolidamento, questa tecnologia può diventare uno strumento concreto di ottimizzazione, purché venga introdotta sulla base di un’analisi accurata dei workload. 

A cura di Nabil Sato