
Nell'assemblare o eseguire l'upgrade di un server, si tende sempre a concentrarsi prima su CPU e storage. Ma esistono altri componenti, come il tipo di memoria scelto, che possono avere lo stesso impatto su prestazioni, affidabilità e scalabilità. Che si tratti di un ambiente virtualizzato, di un cluster di database o di carichi di lavoro IA ad alto impatto computazionale, di fatto è spesso l'architettura della memoria a determinare l'efficienza di esecuzione dei carichi di lavoro.
La memoria per server offre diverse opzioni che vanno scelte in base ai diversi contesti. Da UDIMM e RDIMM a LRDIMM e MRDIMM, ogni tipo di modulo offre un proprio rapporto tra velocità, stabilità e capacità. Se a ciò si aggiungono poi funzionalità come il supporto ECC (Error Correction Code) e le configurazioni multi-canale, lo scenario si fa ancora più complesso e richiede quindi una corretta conoscenza delle differenze per poter compiere valide scelte.
In questo articolo analizziamo i principali tipi di memoria server, spieghiamo come funzionano e mostriamo come ciascuno influenza le prestazioni complessive del server. Come detto, la comprensione di queste differenze aiuta tanto chi gestisce un server per piccole imprese quanto chi gestisce un data center enterprise a scegliere l'hardware più adatto e a prova di futuro.
I principali tipi di memoria server
Esplorando i diversi tipi di moduli DIMM (Dual Inline Memory Module) per server, è facile sentirsi persi fra le tante specifiche. Infatti, ciascun tipo di DIMM è progettato per specifici carichi di lavoro, capacità e obiettivi di prestazioni. La scelta del modulo adatto alle proprie esigenze inizia dalla comprensione del modo in cui i tipi di memoria per server differiscono fra loro e i contesti pratici in cui ciascuno dimostra di poter offrire le prestazioni migliori. Di seguito esaminiamo tutti i diversi tipi di moduli, gli impieghi per cui si rivelano più adatti e l'effettivo impatto che ciascuno di loro può avere sulle prestazioni.
UDIMM (Unbuffered DIMM)
L'UDIMM (Unbuffered Dual Inline Memory Module) è un tipo di modulo RAM che connette i componenti di memoria (DRAM) direttamente con il controller di memoria all'interno del processore. Poiché non è richiesto buffering, il percorso del segnale è più corto e semplice, il che può ridurre latenza e consumo energetico rispetto ad altri moduli di memoria di classe server.
Gli UDIMM sono disponibili sia nella versione ECC (con ampiezza dati a 72 bit o x72) che non-ECC (con ampiezza dati a 64 bit o x64). I primi presentano chip DRAM extra per supportare l'Error Correction Code dal processore, fornendo un sistema più stabile che può correggere errori di bit e prevenire crash.
Questi moduli utilizzano anche componenti DRAM di classe server e sono testati con tolleranze più elevate per sistemi che richiedono operatività 24/7 e carichi di lavoro pesanti. Per poter sfruttare questa caratteristica di integrità dei dati è necessario che sia il processore che il BIOS supportino la funzione ECC. I moduli UDIMM non-ECC vengono invece utilizzati più spesso nei sistemi desktop, che in genere non necessitano della funzione ECC e non sono progettati per assicurare un'operatività 24/7.
Gli UDIMM si dimostrano poco adatti agli ambienti server per via del fatto che possono offrire capacità limitate presentano limitazioni relative alla capacità che possono supportare. I moduli di memoria ad alta capacità necessitano infatti di registri per gestire il gran numero di chip di memoria presenti sul modulo. Prima di scegliere UDIMM per un server o una workstation, è necessario controllare il manuale del sistema o il nostro configuratore di memoria per assicurarsi che la scheda madre e la CPU supportino memoria unbuffered, oltre alla funzione ECC. Per ottenere il massimo delle prestazioni, è importante seguire le linee guida di configurazione previste per il sistema e utilizzare moduli identici che si adattino all'architettura dei canali.
Dove gli UDIMM offrono i risultati migliori:
Server di piccole dimensioni, workstation, home lab, sistemi NAS o sistemi entry-level dove costo, semplicità e minor consumo energetico risultano essere più importanti rispetto a fattori quali l'ampia capacità e l'affidabilità di livello enterprise.
RDIMM (Registered DIMM)
L'RDIMM (Registered DIMM) è un modulo di memoria di classe server con supporto ECC che interpone un piccolo buffer costituito dal chip RCD (Registered Clock Driver) tra il controller di memoria del sistema e i chip DRAM. Tale componente riduce il carico elettrico sul controller di memoria e ritrasmette il segnale di clock, migliorandone l'integrità. Grazie ad esso i segnali di clock della memoria rimangano forti e sincronizzati tra tutti i chip DRAM, prevenendo disallineamenti temporali che potrebbero causare corruzione dei dati.
Grazie al buffering del Registro e al supporto completo della funzione ECC (Error Correction Code) negli RDIMM, i sistemi possono scalare in modo affidabile raggiungendo capacità di memoria superiori rispetto alla memoria "unbuffered". Di contro, la latenza aumenta leggermente (a causa dello stadio di registro extra) così come il costo.
Dove gli RDIMM offrono le prestazioni migliori:
Questi moduli sono progettati per server enterprise, host virtualizzati e data center in cui risultano essenziali aspetti quali l'ampia capacità di memoria, l'affidabilità e la scalabilità.
LRDIMM (Load Reduced DIMM)
Il modulo LRDIMM (Load Reduced DIMM) è un modulo di memoria di classe server DDR3 o DDR4 che interpone chip buffer tra il controller di memoria e la DRAM. Questi buffer isolano il carico DRAM dal controller di memoria, riducendo lo stress elettrico e migliorando l'integrità del segnale quando il modulo contiene molti rank o quando per ogni canale vengono configurati molti moduli.
Grazie a questo buffering e alla tecnica di "rank multiplication" (far apparire più rank fisici come meno rank logici), i moduli LRDIMM possono raggiungere capacità superiori, utilizzando più rank rispetto ai Registered DIMM. Compromessi: costo leggermente superiore, a fronte di una maggiore scalabilità della capacità e di una migliore larghezza di banda in sistemi ad alta densità.
Casi di impiego ideali per i moduli LRDIMM:
Questi moduli si rivelano più adatti agli impieghi in cui contano massima capacità e densità di memoria, come nel caso di host virtualizzati e data center e server enterprise ad alta capacità.
MRDIMM (Multiplexed-Rank DIMM)
Il modulo MRDIMM è un tipo di modulo di memoria server DDR5 di nuova generazione progettato per carichi di lavoro ad alte prestazioni. Si serve di buffer e di un registro multiplexing per permettere a due rank di memoria di operare simultaneamente su un singolo DIMM, raddoppiando i dati effettivamente trasferiti per ciascun canale di memoria.
Visto che questo sistema di multiplexing si aggiunge all'interfaccia fisica ed elettrica DDR5, i moduli MRDIMM offrono alle piattaforme da cui sono supportati larghezze di banda superiore (potendo raggiungere e superare gli 8800MT/s) e latenze potenzialmente inferiori rispetto ai moduli RDIMM DDR5 convenzionali.
I moduli MRDIMM sono però ad uno stadio ancora emergente, per cui servono piattaforme compatibili come Intel Xeon 6 per poterne sfruttare appieno i vantaggi. Compromessi: costo superiore, ecosistema di supporto emergente e adozione ancora precoce. I benefici si notano maggiormente nei contesti in cui serve una notevole larghezza di banda della memoria.
Casi di impiego ideali per i moduli MRDIMM:
Questi moduli sono più adatti ad ambienti che fanno uso intensivo della memoria, come cluster di inferenza/training IA, server HPC (High-Performance Computing), database in-memory su larga scala o data center virtualizzati multi-tenant, dove conta più la larghezza di banda rispetto al costo.