La memoria è sempre stata l'unico tipo di hardware che ha mantenuto la promessa di velocità enormi. Ci sono alcuni inconvenienti: è costoso, ha una capacità limitata e non è persistente (per conservare i dati, la memoria deve essere accesa, il che è ulteriormente problematico poiché la memoria necessita di un aggiornamento periodico). Intel e Micron hanno annunciato la tecnologia 3DXPoint circa tre anni fa che rappresenterebbe il primo passo verso la memoria persistente. Sebbene questa tecnologia non fosse veloce quanto la memoria, era molto più veloce dell'archiviazione flash e molto più economica. Vedendo il potenziale della memoria persistente, MemVerge è stato lanciato per realizzare questo potenziale.
La memoria è sempre stata l'unico tipo di hardware che ha mantenuto la promessa di velocità enormi. Ci sono alcuni inconvenienti: è costoso, ha una capacità limitata e non è persistente (per conservare i dati, la memoria deve essere accesa, il che è ulteriormente problematico poiché la memoria necessita di un aggiornamento periodico). Intel e Micron hanno annunciato la tecnologia 3DXPoint circa tre anni fa che rappresenterebbe il primo passo verso la memoria persistente. Sebbene questa tecnologia non fosse veloce quanto la memoria, era molto più veloce dell'archiviazione flash e molto più economica. Vedendo il potenziale della memoria persistente, MemVerge è stato lanciato per realizzare questo potenziale.
I primi dispositivi 3D XPoint che abbiamo visto erano più mirati allo storage. Col passare del tempo Intel ha sfruttato la memoria persistente 3D XPoint (PMem) per creare un SSD più veloce. Successivamente Intel annunciò un modulo di memoria persistente che si trovava nello slot DIMM e fungeva da espansione della DRAM. Mentre in passato vedevamo la memoria per esigenze veloci e lo storage per esigenze grandi, PMem ha iniziato a sfumare il confine. MemVerge sta tentando di fondere il meglio di entrambi i mondi, consentendo prestazioni DRAM con grande capacità e persistenza.
MemVerge ha esaminato il panorama della memoria persistente e ha sviluppato un software per consentire a PMem di sfruttare il suo potenziale anziché sfruttarlo come cache, livello di velocità o espansore di memoria. L'azienda utilizza quello che chiama Big Memory Computing per trasformare gli ambienti solo DRAM in ambienti di memoria a costi inferiori e, soprattutto, a densità più elevata che sfruttano sia DRAM che PMem. Lo fa virtualizzando i due in un pool di memoria definita dal software che fornisce anche servizi definiti dal software. Oltre a quanto sopra, il software offre un livello di astrazione che consente a tutte le applicazioni in un data center di beneficiare di nuovi tipi di memoria, interconnessioni di memoria, processori e allocatori di memoria per affrontare applicazioni e carichi di lavoro moderni ed emergenti.
Nel settembre dello scorso anno, MemVerge ha rilasciato la disponibilità generale della sua Memory Machine. Il software è offerto in due versioni: versione standard che virtualizza la memoria DRAM indirizzabile a byte e PMem velocizzando le app e riducendo i costi ma non abilita la persistenza; e AdvancedVersion che è tutto quanto sopra con la persistenza abilitata, nonché servizi di memoria di classe enterprise basati su snapshot in memoria ZeroIO.
Gli snapshot in memoria ZeroIO, come suggerisce il nome, consentono snapshot di DRAM e PMem con zeroIO nello storage. Ciò rende la DRAM, che normalmente è volatile e a bassa disponibilità, in un livello ad alta disponibilità. Le istantanee ZeroIO consentono anche quello che viene chiamato viaggio nel tempo, consentendo il ripristino delle istantanee precedenti. Esiste una funzione di salvataggio automatico che riporta le app allo snapshot precedente in caso di arresto anomalo. Le istantanee consentono la produzione di Thin Clones senza utilizzare più risorse di memoria. Inoltre, gli snapshot possono essere migrati su altri server e utilizzati per creare una nuova istanza dell'app.
Gestione della macchina di memoria MemVerge
MemVerge Memory Machine ha una GUI dall'aspetto abbastanza elegante. La dashboard globale mostra gli elementi che ci aspettiamo dallo storage, le differenze in questo caso in cui DRAM e PMem sono gli elementi principali monitorati e l'utilizzo possono essere facilmente visualizzate qui. Nella parte superiore sono presenti schede per host, istanze dell'app, snapshot e avvisi.
Facendo clic sul pulsante Home a sinistra vengono visualizzate le informazioni di base sul sistema (indirizzo IP, sistema operativo, versione del kernel, CPU), nonché un approfondimento sull'utilizzo e sulle prestazioni della memoria e del PMem.
Gli utenti possono approfondire ulteriormente la memoria estraendo un rapporto sulla memoria per vedere l'utilizzo orario. Ciò evidenzia anche il tipo PMem rispetto a DRAM.
E gli utenti possono consultare le API RESTful di Memory Machine e configurarle.
Le istantanee sono una parte importante di Memory Machine, ma ne parleremo nella nostra sezione sulle prestazioni.
Configurazione
Nel nostro laboratorio abbiamo sfruttato MemVerge Memory Machine su un Supermicro SYS-2029U-TN24R4T con le seguenti specifiche:
Modello hardware | Supermicro SYS-2029U-TN24R4T |
CPU | 2 CPU Intel(R) Platinum(R) 8270 a 2.70 GHz, 26 core |
DRAM | DDR4 192GB |
PMem | 12x128GB |
SSD del sistema operativo | SSD SATA da 1TB |
OS | 8.2.2004 CentOS |
nocciolo | 4.18.0-193.19.1.el8_2.x86_64 |
Prestazioni della macchina con memoria MemVerge
La nostra normale serie di test non avrebbe senso in questo caso poiché MemVerge Memory Machine è destinata a carichi di lavoro e applicazioni che devono essere eseguiti in memoria. I nostri benchmark sono generalmente visti come carichi di lavoro da normali a altamente stressanti che sarebbero visti nella vita reale durante le operazioni IT. Invece, qui esamineremo alcuni test diversi e esamineremo in particolare cose come DRAM rispetto a PMem rispetto a DRAM + PMem e come ciascuno di essi si risolve. Per questa recensione, utilizzeremo KDB Performance sia per l'inserimento in blocco che per il test di lettura, nonché Redis Quick Recovery con ZeroIO Snapshot e Redis Clone con ZeroIO Snapshot.
Test delle prestazioni KDB
kdb+ di Kx è un database in memoria di serie temporali. È noto per la sua velocità ed efficienza e per questo motivo molto popolare nel settore dei servizi finanziari. Un grosso vincolo per kdb è la limitazione della capacità della DRAM. MemVerge Memory Machine si adatta perfettamente qui in modo che kdb possa sfruttare appieno PMem per uno spazio di memoria espanso con prestazioni simili a quelle della DRAM. Per il test degli inserti sfusi abbiamo esaminato un singolo inserto, 10, 100, 1000, 10000, 15000, 20000 e 25000 inserti e misurato in milioni di inserti sfusi al secondo.
Con l'inserto in blocco KDB vediamo alcuni risultati interessanti. Con un singolo inserto tutti e tre hanno avuto risultati simili. Nei lotti di dimensioni più piccole, vediamo la DRAM come la migliore prestazione. Man mano che le dimensioni dei batch superano i 10,000, vediamo Memory Machine prendere il comando sulla DRAM con PMem in coda per durare ogni batch.
Successivamente, abbiamo esaminato kdb+ con un test di lettura. Qui la configurazione del test è leggermente diversa. Il test di lettura è lo stesso ovunque, ma questa volta abbiamo esaminato solo DRAM, solo PMem e quindi PMem con cache DRAM da 20 GB o 40 GB. Solo la DRAM è stata in grado di raggiungere 4.2 GB/s, PMem ha raggiunto solo 2.9 GB/s, con una cache di DRAM da 20 GB, Memory Machine è stata in grado di raggiungere quasi la stessa velocità della DRAM solo con 3.9 GB/s e con 40 GB di cache abbiamo riscontrato le prestazioni più elevate pari a 4.8 GB/s. Ciò che è più interessante da notare è che gli ultimi due consentono ancora molta DRAM per altre attività.
Test delle istantanee Redis
Redis è un archivio dati in memoria open source utilizzato come database, cache e broker di messaggi. È molto popolare e potente, quindi è un programma ideale per confrontare MemVerge Memory Machine. Quando Redis viene eseguito su MemVerge Memory Machine, DRAM e PMem vengono allocati su Redis. Quindi gli snapshot MemVerge ZeroIO salvano le pagine di memoria dell'applicazione senza operazioni di I/O di archiviazione. Quando Redis si arresta in modo anomalo, tutti gli snapshot dei dati su PMem sono persistenti. Il ripristino in caso di arresto anomalo implica semplicemente il puntamento ai dati esistenti in PMem senza alcun sollevamento e spostamento dei dati dallo spazio di archiviazione.
In questa sezione, testeremo lo snapshot MemVerge ZeroIO per un ripristino rapido.
Innanzitutto, esamineremo Redis Quick Recovery con ZeroIO Snapshot. A differenza dei benchmark delle prestazioni, qui mostreremo funzionalità e facilità d'uso. Una volta installato Redis e avviato un database, accediamo a Memory Machine e vediamo cose come la quantità di PMem utilizzata.
Nella scheda Applicazioni, possiamo vedere che è in esecuzione un server Redis.
Mentre è in esecuzione, scattiamo alcune istantanee. Ovviamente, se non vengono scattate istantanee, non è possibile eseguire il ripristino da un'istantanea.
Non fa mai male essere sicuri, ricontrolla per assicurarti di aver scattato alcune istantanee.
Dopo aver accertato di averli, attiviamo un errore del DB Redis. Selezioniamo un'istantanea e ripristiniamo, dopo una breve pausa, siamo di nuovo attivi e funzionanti.
Clona Redis con Snapshot ZeroIO
Qui eseguiamo molti degli stessi passaggi di cui sopra. Dopo aver acquisito lo snapshot, possiamo ripristinarlo come clone con un nuovo spazio dei nomi e un nuovo indirizzo IP. Ci colleghiamo al clone da un altro host e possiamo vedere che occupa più o meno la stessa memoria.
Tutto quanto sopra può essere fatto anche con un prompt della CLI per coloro che preferiscono.
Conclusione
MemVerge Memory Machine è un SDS volto a coniugare le prestazioni della memoria con la persistenza di PMem. PMem viene in genere utilizzato come cache per accelerare l'archiviazione. Sebbene questo sia un vantaggio in molti casi per l'archiviazione, le applicazioni in memoria necessitano di prestazioni di memoria, non di cache. MemVerge virtualizza sia DRAM che PMem in pool di memoria definita dal software con servizi definiti dal software. Memory Machine trasforma la DRAM in un livello ad alta disponibilità con l'uso di snapshot in memoria zeroIO. ZeroIO consente la creazione di Thin Clones senza gravare sulle risorse di memoria.
Man mano che entriamo in nuove categorie, dovremo adottare nuovi test e benchmark delle prestazioni. Testare l'SDS in memoria con i nostri normali benchmark non sarebbe utile in quanto non è lo scopo per cui è stato creato. Abbiamo invece sfruttato KDB Performance sia per l'inserimento in blocco che per il test di lettura, nonché per Redis Quick Recovery con ZeroIO Snapshot e Redis Clone con ZeroIO Snapshot. I test sono stati eseguiti su un server Supermicro SYS-2029U-TN24R4T, sebbene dovrebbe funzionare su server convalidati che supportano i moduli Intel Optane PMem.
Con KDM bulk abbiamo testato batch di diverse dimensioni esaminando DRAM, PMem e una combinazione dei due tramite Memory Machine. Dato che i lotti erano inizialmente piccoli, non è stata una sorpresa vedere la DRAM avere le migliori prestazioni. Ciò che è stato davvero interessante vedere è che, poiché il test ha messo a dura prova le risorse, MemVerge ha fatto sempre meglio. Con la lettura KDM, abbiamo visto tendenze simili. La DRAM ha funzionato davvero bene, nessuna sorpresa in questo. PMem ha funzionato bene, ma ben sotto DRAM. Con solo 20 GB di cache per DRAM con Memory Machine, ha funzionato a 3.9 GB/s rispetto ai 4.2 GB/s della sola DRAM. Fornendo a MemVerge 40 GB di DRAM per la cache si sono ottenute le migliori prestazioni complessive con 4.8 GB/s, lasciando comunque molta DRAM per altre attività.
La seconda parte del test delle prestazioni è stata Redis Quick Recovery con ZeroIO Snapshot e Redis Clone con ZeroIO Snapshot. Qui c'era più funzionalità che prestazioni quantificabili. In sostanza, abbiamo scattato rapidamente istantanee, causato un guasto e siamo riusciti a tornare rapidamente operativi.
PMem di Intel è una tecnologia estremamente interessante che è stata un po' lenta da adottare a causa delle modalità limitate per adottare facilmente e sfruttare adeguatamente i moduli. Con MemVerge, le organizzazioni possono trarre vantaggio da ciò che PMem ha da offrire, in una soluzione creata appositamente pensando a questa tecnologia. Per coloro che hanno applicazioni che possono trarre vantaggio dall'ingombro di memoria ampio e resiliente offerto da PMem, vale sicuramente la pena valutare MemVerge.
Interagisci con StorageReview
Newsletter | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | RSS feed