This post is also available in: Inglese

Reading Time: 4 minutes

Diablo Technologies è un’azienda canadese fondata 2003 (tra l’altro uno dei co-fondatori è italiano) che già aveva rivoluzionato il mercato delle memorie flash con l’introduzione della loro soluzione Memory Channel Storage (MCS): un’approccio innovativo di flash lato host, dove la memoria flash è ospitata all’interno di DIMM e collegata direttamente ai processori, invece che essere collegata a bus PCIe o SAS che passano attraverso chipset di sistema. Idea sicuramente interessante e oramai supportata da diversi vendor nei loro server.

Ma ora Diablo cambia ancora le carte in tavola e annuncia Memory1™, il primo sistema di flash lato server che viene visto non più come memoria di massa (a blocchi), ma come memoria primaria (a celle), come fosse una normalissima RAM, ma con capacità e costi (per GB) decisamente più interessanti. Diablo-Memory1

Rispetto alla soluzione Carbon1 dove la flash viene vista come un normale disco SSD (alla pari delle soluzioni PCIe o quelle basate su dischi SSD), con Memory1 la flash si comporta come “normale” memoria RAM, in modo completamente trasparente al sistema operativo ed alle applicazioni!

Una Diablo Flash Memory DIMM è composta da chip Non-volatile memory (NVM) e da un chip proprietario di Diablo che trasforma queste flash come se fossere normale memoria RAM. Diablo-DIMM Diablo-DIMM1

Al di là delle implicazioni tecniche, c’è prima da motivare e spiegare perché mai servirebbe una soluzione di questo tipo.

Molte applicazioni (in particolare database e sistemi per i big data) si stanno muovendo verso un approccio “In-Memory, molto interessante ma molto costoso dato che i banchi di memoria hanno costi non lineari, almeno ai tagli più alti (un banco da 64 GB costa più del doppio di uno da 32!), con l’aggravante che nonostante i server abbiano molti banchi disponibili, spesso questi non bastano e si deve ricorre a più server (in molti casi lo scale out è possibile, ma più server comunque costano di più di meno server con più risorse) o a server “grossi” (tipicamente i modelli a 4 processori) con più banchi ma con un costo per server decisamente maggiore.

Le Diablo DIMM partono da una capacità di 64 GB (e possono arrivare a 128 o 256GB!). Si parla quindi una capacità 4 volte maggiore delle DIMM convenzionali ad un costo (per GB) minore (almeno sulla carta, dato che il costo di Memory1 non è stato ancora annunciato ufficialmente). E con un consumo termico ed elettrico minore (sempre per GB).

Rimangono le questioni tecniche, alcune delle quali ho cercato di chiarirle durante una conf call. Premesso che il sistema si comporta come una normale DIMM dal punto di vista elettrico (incluso il consumo) e termico (anche se leggermente più spesse non influenzano il profilo termico del server), rimane il fatto che le flash non hanno le stesse prestazioni della RAM.

E qui entra in gioco la genialata: Diablo ha sviluppato un ottimizzatore nell’allocazione di memoria che distribuisce le celle in base al tipo di utilizzo (non mi hanno saputo o voluto spiegare a che livello funzioni esattamente, dato che da un lato viene detto che questo sistema è trasparente al sistema operativo). Questo per non penalizzare il working set e fornire prestazioni sempre vicine a quella della RAM. Di fatto la memoria primaria diventa una memoria multi livello.

Dal mio punto di vista sarebbe bello che questa soluzioni diventi uno standard (o aperto o di fatto), in modo che si possano sviluppare ottimizzatori sempre migliori e più efficienti.

Ad esempio in un ambiente di virtualizzazione sarebbe bellissimo avere un concetto di “priorità” della memoria applicato anche al tier della memoria stessa…

L’idea comunque è interessante e sarebbe molto bello riuscire a vedere questi moduli in funzione e provarne le loro funzionalità.

Share

Virtualization, Cloud and Storage Architect. Tech Field delegate. VMUG IT Co-Founder and board member. VMware VMTN Moderator and vExpert 2010-24. Dell TechCenter Rockstar 2014-15. Microsoft MVP 2014-16. Veeam Vanguard 2015-23. Nutanix NTC 2014-20. Several certifications including: VCDX-DCV, VCP-DCV/DT/Cloud, VCAP-DCA/DCD/CIA/CID/DTA/DTD, MCSA, MCSE, MCITP, CCA, NPP.