Casa Impresa L'analisi dei big data incontra la grande memoria con Intel Optane PMem

L'analisi dei big data incontra la grande memoria con Intel Optane PMem

by Tom Fenton

Quando la memoria persistente Intel® Optane™ (PMem) è stata lanciata per la prima volta, sapevamo che avrebbe cambiato radicalmente il modo in cui si svolge l'attività nei data center, ma non potevamo prevedere completamente il numero di modi in cui ciò sarebbe avvenuto. Come nel caso di tutte le nuove tecnologie, conoscevamo i casi d’uso iniziali per la memoria persistente, ma sapevamo anche che sarebbero apparsi ulteriori casi d’uso una volta che fossero diventati ampiamente disponibili.

Quando la memoria persistente Intel® Optane™ (PMem) è stata lanciata per la prima volta, sapevamo che avrebbe cambiato radicalmente il modo in cui si svolge l'attività nei data center, ma non potevamo prevedere completamente il numero di modi in cui ciò sarebbe avvenuto. Come nel caso di tutte le nuove tecnologie, conoscevamo i casi d’uso iniziali per la memoria persistente, ma sapevamo anche che sarebbero apparsi ulteriori casi d’uso una volta che fossero diventati ampiamente disponibili.

Server DellEMC PowerEdge PMEM serie 200

Nelle nostre discussioni con le aziende, sapevamo che per rimanere competitive avevano bisogno dei miglioramenti prestazionali forniti dai sistemi in-memory. L'utilizzo della DRAM per questo scopo presentava limitazioni in termini di costi e dimensioni che rendevano difficile considerare la dimensione dei dati che si desiderava archiviare in memoria. In questo articolo esamineremo il modo in cui Intel Optane PMem viene sfruttato da Hazelcast e MemVerge per superare i limiti della DRAM e creare un'infrastruttura che supporti applicazioni veloci in tempo reale che utilizzano set di dati di grandi dimensioni.

Abbiamo unito le forze con MemVerge, Hazelcast, Intel e Dell Technologies per dimostrare come è possibile implementare l'infrastruttura per consentire analisi in tempo reale. Nello specifico, abbiamo configurato un ambiente dotato di un flusso di dati in tempo reale in ingresso rapido che venivano acquisiti e trasformati prima di essere archiviati in un data mart in memoria. L'obiettivo principale era mostrare come Intel Optane PMem sia fondamentale per abilitare sistemi in tempo reale su larga scala e che sia necessario software aggiuntivo per consentire a Intel Optane PMem di realizzare il suo pieno potenziale.

Prima di evidenziare i test che abbiamo effettuato, ecco un breve aggiornamento su Intel Optane PMem, Nocciola, che a MemVerge.

Intel Optane PMem

La memoria persistente, come concetto, esiste dalla metà degli anni '1980, ma è diventata un prodotto effettivamente utilizzabile per i data center commerciali solo nel 2018, quando Intel ha iniziato a rilasciare i moduli di memoria persistente Intel Optane (PMM). Intel Optane PMem rappresenta una svolta per il settore in quanto è leggermente più lento della DRAM ma notevolmente più veloce delle unità a stato solido (SSD).

Sebbene sia più lento della DRAM, Intel Optane PMem presenta alcuni vantaggi distinti in quanto è notevolmente più economico e ha capacità di memoria maggiori rispetto alla DRAM tradizionale; e, come suggerisce il nome, quando abilitata la modalità diretta in-app, è persistente, il che significa che i dati archiviati sopravvivranno a un'interruzione di corrente o al riavvio del dispositivo su cui risiede.

Piramide dei dati Intel 2022

Uno dei segreti della bassa latenza di Intel Optane PMem è che risiede sul bus di memoria, il che gli consente di avere un accesso ai dati simile a quello della DRAM.

Sebbene DDR4 abbia una capacità massima teorica per modulo di 128 GB, le capacità più comunemente utilizzate sono comprese tra 4 GB e 64 GB (ma anche i moduli da 64 GB, sebbene disponibili, non vengono comunemente utilizzati).

Intel attualmente fornisce Intel Optane PMem in moduli da 128 GB, 256 GB e 512 GB. Ciò fornisce fino a 16 volte la capacità della DRAM.

In termini di costo per GB, Intel Optane PMem è circa la metà di quello della DRAM. Grazie alla sua maggiore capacità e al prezzo inferiore, un server può avere a disposizione più dati a bassa latenza per le applicazioni a un costo inferiore rispetto a un server dotato solo di DRAM. E, come puoi vedere dai nostri test, per molte applicazioni la differenza di latenza tra DRAM e PMem nell'utilizzo reale è trascurabile.

Vista laterale Intel Optane PMem 128 GBSebbene il nome della tecnologia includa la parola “persistenza”, la persistenza dei dati che risiedono in Intel Optane PMem viene spesso trascurata e in passato non è stata completamente sfruttata. MemVerge, tuttavia, ha ideato modi per sfruttare la persistenza dei dati per offrire servizi aggiuntivi alle imprese.

MemVerge

Dalla grande potenza offerta da Intel Optane PMem deriva la responsabilità di utilizzarla saggiamente, ed è qui che entra in gioco MemVerge. Mentre la maggior parte degli strumenti di monitoraggio e gestione dei server esamina l'hardware legacy come CPU, disco e parametri di rete, MemVerge® Memory Machine™ è focalizzato sul monitoraggio, sulla gestione e sull'utilizzo di DRAM e Intel Optane PMem.

Una delle prime sfide di Intel Optane PMem è stata determinare come consentire alle applicazioni di utilizzarlo. Senza MemVerge Memory Machine è possibile utilizzare Intel Optane PMem come alternativa alla DRAM, ma non come sostituto immediato poiché Intel Optane PMem utilizza un'API specializzata. MemVerge elimina tale API in modo che Intel Optane PMem assomigli proprio alla DRAM per tutte le applicazioni. Utilizzando Memory Machine, Intel Optane PMem viene presentato alle applicazioni nello stesso modo in cui la DRAM lo è per le applicazioni. In questo modo, le applicazioni esistenti possono utilizzare Intel Optane PMem senza dover essere riprogettate, risparmiando così a un'azienda il costo della riprogrammazione delle applicazioni e, cosa ancora più importante, il tempo necessario per farlo. Attraverso la sua tecnologia brevettata, Memory Machine crea un pool di memoria e quindi suddivide Intel Optane PMem e DRAM per massimizzare il suo impatto sulle applicazioni spostando i dati tra i due secondo necessità per ottimizzare le prestazioni delle applicazioni.

L'innovativo ZeroIO di Memory Machine consente snapshot memory-to-memory (ovvero, snapshot dei dati contenuti nella DRAM su Intel Optane PMem), che di fatto rendono la DRAM persistente.

PMem Centro di gestione della memoria della macchina

In passato, eravamo costretti a archiviare gli snapshot in-memory su dispositivi di archiviazione tradizionali, un processo che poteva richiedere fino a un'ora. Utilizzando ZeroIO, invece, la stessa operazione può avvenire, senza interruzioni, in pochi secondi.

MemVerge sfrutta ZeroIO per fornire altri servizi di dati di memoria. Time Travel consente a un'applicazione di ripristinare le istantanee scattate in precedenza e, strettamente associato a questa funzionalità, è il salvataggio automatico che acquisisce automaticamente istantanee a intervalli basati sul tempo. Nei casi in cui i dati archiviati in memoria devono essere spostati su un altro server fisico, è possibile spostare su di esso uno snapshot ZeroIO.

Il monitoraggio della memoria, così come la facilitazione dei servizi di cui sopra, viene effettuato tramite il MemVerge Memory Machine Management Center (M3C).

Sebbene abbiamo menzionato che Memory Machine viene utilizzato con i database, supporta anche un'ampia gamma di applicazioni: da Maya 3D di Autodesk per l'animazione e il rendering a TensorFlow (un framework di apprendimento automatico) così come altre applicazioni, tra cui Hazelcast, un prodotto che abbiamo metterà in evidenza in questo articolo.

Nocciola

Hazelcast è un innovatore chiave e leader nel settore in crescita delle piattaforme di elaborazione in-memory. La loro piattaforma è utilizzata da organizzazioni finanziarie, di e-commerce e di altro tipo in cui le informazioni in tempo reale sono fondamentali; ad esempio, per il rilevamento di frodi e per assistere nel prendere decisioni commerciali.

Hazelcast supporta applicazioni veloci su due livelli. Innanzitutto, offre un archivio in memoria che distribuisce i dati su più server in un cluster per abilitare un pool virtuale scalabile di memoria veloce. Il processo di aggiunta di più dati comporta semplicemente l'aggiunta di un altro server al cluster. In secondo luogo, Hazelcast include un motore di calcolo che gestisce la logica dell'applicazione suddivisa in sottoattività che vengono poi distribuite su tutte le CPU in un cluster di server. Ciò non solo sfrutta la potenza di elaborazione collettiva del cluster, ma consente anche l'elaborazione parallela dei dati in modo efficiente e ad alta velocità (questo include trasformazione, arricchimento, aggregazione e analisi). Poiché Hazelcast è in grado di elaborare i dati immediatamente dopo la loro creazione tramite le sue funzionalità di streaming dei dati, è utile per creare la prossima generazione di applicazioni in tempo reale.

Analisi dei dati in tempo reale

I sistemi in tempo reale sono guidati principalmente da due caratteristiche principali: velocità e scala. Mentre la velocità ti garantisce di poter stare al passo con i dati che vengono creati, la scalabilità garantisce che tu possa gestire il volume di tali dati. A complicare ulteriormente le cose, i dati possono provenire da molte fonti diverse. Naturalmente, velocità più elevate e scalabilità più elevata equivalgono a costi più elevati, a meno che non vengano utilizzati mezzi innovativi, come la sostituzione della costosa DRAM con Intel Optane PMem più conveniente.

Le funzionalità di analisi dei dati in tempo reale forniscono informazioni immediate su una varietà di situazioni che aziende e organizzazioni potrebbero affrontare e forniscono loro le informazioni di cui hanno bisogno per rispondere. Ad esempio, il rispetto di iniziative come Basilea III, in cui le banche sono tenute a mantenere una liquidità più elevata rispetto a prima, significa che hanno meno denaro da sfruttare per generare entrate. Allo stesso tempo, devono dimostrare di comprendere i rischi quotidiani in modo da non essere penalizzati da revisori e supervisori con requisiti di liquidità ancora più elevati. Disponendo di sistemi in tempo reale per la gestione del rischio e la conformità, le banche possono avere visualizzazioni istantanee delle proprie posizioni di trading per comprendere e segnalare in modo più efficace la propria esposizione al rischio.

Per evidenziare un altro esempio, i sistemi di analisi del commercio azionario tengono traccia delle operazioni e le presentano in una forma analizzabile in tempo reale. Questi sistemi possono giustificare le loro spese elevate grazie al chiaro ritorno sull’investimento (ROI) attraverso i ricavi guadagnati dal commercio di azioni.

Scenario di prova

L'applicazione che abbiamo scelto di utilizzare per indagare su queste tecnologie si basa su un codice base di monitoraggio commerciale creato da Hazelcast per mostrare come l'"analisi su richiesta" economicamente vantaggiosa sia un'alternativa adeguata ai sistemi in tempo reale ad alto costo.

Poiché si trattava di un progetto di ricerca su piccola scala, abbiamo apportato alcuni compromessi che hanno reso il nostro ambiente di test non riflettente del tutto un tipico ambiente di produzione. Ad esempio, la potenza di elaborazione dei server Dell EMC che abbiamo utilizzato era molto più potente di quella necessaria alla nostra origine dati disponibile, quindi non abbiamo sfruttato appieno la potenza della CPU disponibile al loro interno. Inoltre, per ragioni di semplicità, non abbiamo ottimizzato il sistema di distribuzione dei dati esterni. In un sistema di produzione, tutti i componenti sarebbero stati ottimizzati e messi a punto per migliorare le prestazioni e il rapporto costo-efficacia di questa configurazione.

Obiettivi del test

L'aspetto più critico dei nostri test è stato accertare se Intel Optane PMem potesse sostenere un feed di dati in tempo reale.

Abbiamo deviato testando le velocità di accesso dei dati aggregati/indicizzati in un data mart in memoria supportato da Intel Optane PMem; nei test precedenti di MemVerge e Hazelcast, i benchmark hanno dimostrato che le velocità di accesso ai dati erano molto vicine a quelle della DRAM (in molti casi sono state dimostrate velocità identiche sia in lettura che in scrittura), e quindi molto più veloci rispetto ai dati basati su disco o SSD. accessi. Poiché sapevamo che le velocità di accesso ai dati fornivano un vantaggio rispetto ad altre configurazioni architetturali, abbiamo concentrato i nostri test solo sul lato dell'acquisizione.

Per i nostri test, abbiamo generato dati fittizi sul server dell'origine dati. Ogni elemento di dati nel feed di dati in entrata rappresentava un'operazione di borsa. Il simbolo del titolo, la quantità, il prezzo e il tempo erano i valori più critici. Ciascun simbolo azionario è stato utilizzato più volte nel set di dati generato per simulare più operazioni in un giorno per un determinato titolo. Tali operazioni separate sono state quindi aggregate per fornire un totale parziale delle operazioni per un dato simbolo azionario.

I dati generati sono stati archiviati in Apache Kafka grazie alla sua capacità di acquisire un veloce flusso di dati. Ogni record di Kafka richiedeva 210 byte, inclusi tutti i metadati nel payload. Kafka è stato configurato per eseguire tre broker separati, tutti su un unico computer con origine dati e con quattro partizioni su ciascun broker. Questa configurazione, ovviamente, non verrebbe utilizzata in un ambiente di produzione poiché non è realistico avere una macchina single-source per una tecnologia distribuita; tuttavia, era adatto agli scopi dei nostri test.

Ambiente di test

Per i nostri test abbiamo utilizzato tre server Dell EMC PowerEdge R750 e un server Dell EMC PowerEdge R74xd; tre hanno eseguito le applicazioni di analisi utilizzando MemVerge Memory Machine e Hazelcast, mentre il quarto ha creato e archiviato i dati di test.

Server di analisi

Modello Dell PowerEdge R750 EMC
CPU Doppi processori Intel® Xeon® Gold 6330 a 2 GHz (Ice Lake)

28 core ciascuno (56 in totale, 112 con tecnologia Intel® Hyper-Threading)

DRAM 16 DIMM di DRAM DDR64 da 4 GB

1TB per server

Intel Optane PMem 16 DIMM di interfaccia Intel Optane PMem DDR-T da 128 GB

2TB per server

Interfaccia di rete 10 GbE
Software Macchina della memoria MemVerge 1.2

Piattaforma Hazelcast 5.0

Server origine dati

Modello Dell'EMC PowerEdge R740xd
CPU Doppi processori Intel® Xeon® Gold 6140 a 2.3 GHz (Skylake)

18 core ciascuno (36 in totale; 72 con tecnologia Intel® Hyper-Threading)

DRAM 12 DIMM da 32 GB DRAM DDR4 (384 GB)

2 DIMM da 16 GB NVDIMM DDR4 (32 GB)

Intel Optane PMem Non necessario
Interfaccia di rete 10 GbE
Software Apache Kafka 2.8

Strumento di generazione dati fornito da Hazelcast

Durante i nostri test, abbiamo riscontrato che la quantità di DRAM nei server analitici avrebbe potuto essere significativamente inferiore; mentre la DRAM veniva utilizzata principalmente dal sistema operativo, l'applicazione utilizzava principalmente Intel Optane PMem con solo una piccola quantità di DRAM. Per ottimizzare il risparmio sui costi, una configurazione ragionevole dovrebbe avere un minimo assoluto di DRAM sul server.

Risultati del test

Abbiamo creato circa 5 miliardi di record archiviati in Kafka per creare l'origine dati. Le applicazioni di acquisizione in esecuzione sui tre server applicativi sono state quindi avviate per acquisire i dati nelle tre istanze Hazelcast (un server Hazelcast per server Dell Technologies).

Abbiamo testato l'applicazione utilizzando solo la DRAM e confrontandola con l'utilizzo di Intel Optane PMem con MemVerge. I risultati dei nostri test hanno mostrato che per i carichi di lavoro costituiti prevalentemente da scritture, abbiamo riscontrato una riduzione delle prestazioni del 32% utilizzando solo Intel Optane PMem rispetto alla DRAM pura (242 KB contro 357 KB). Ma quando si utilizza la configurazione Intel Optane PMem + DRAM, abbiamo riscontrato solo una penalità del 9%. Questo avrebbe potuto essere ulteriormente ridotto aumentando il numero di server nel cluster per distribuire ulteriormente le scritture. Il costo aggiuntivo di server aggiuntivi potrebbe essere compensato acquistando CPU meno potenti poiché il carico di lavoro dato non sfrutterebbe necessariamente l'intera potenza della CPU di questa configurazione hardware testata.

Configurazione Prestazioni (registrazioni al secondo)
Solo DRAM 357,000
Intel Optane PMem assistito con DRAM da 50 GB + Memory Machine 325,000
Solo Intel Optane PMem + Memory Machine 242,000

Abbiamo preso in considerazione la possibilità di fissare un prezzo per ciascuna delle configurazioni testate, ma abbiamo rifiutato di farlo a causa delle potenziali fluttuazioni dei costi e di altri fattori che potrebbero rendere presto obsolete queste stime. Indipendentemente dai costi stabiliti, tuttavia, il costo di Intel Optane PMem con DRAM sarà notevolmente inferiore rispetto a quello di un server basato solo su DRAM.

Interpretazione della prova

Il risultato principale dei nostri test è stato che un cluster di server abilitati per Intel Optane PMem poteva funzionare quasi alla stessa velocità di un cluster che utilizzava solo DRAM, ma a un costo significativamente inferiore.

Un altro aspetto importante per noi è stato che settimane o mesi di dati potevano essere acquisiti e archiviati utilizzando Intel Optane PMem, che offre alle aziende la possibilità non solo di analizzare i dati in tempo reale ma anche di avere dati disponibili per l'analisi ad alta velocità di dati storici. dati. Ciò apre opportunità per analizzare tendenze e modelli che potrebbero rivelare ulteriori approfondimenti utilizzando strumenti di analisi avanzati come il machine learning (ML).

In altre parole, le aziende possono implementare un ambiente di analisi in tempo reale che copra un ampio intervallo di tempo ed esplorare nuove forme di analisi, senza i compromessi in termini di costi o velocità legati all’implementazione di data warehouse o data lake.

Altri test

Mentre configuravamo l’ambiente, volevamo anche testare alcune delle altre funzionalità di MemVerge Memory Machine, in particolare le funzionalità di snapshot e ripristino. Fortunatamente, Memory Machine è integrato con il cluster Hazelcast in modo che gli snapshot e il ripristino degli snapshot possano essere gestiti direttamente in M3C.

Gli snapshot possono essere acquisiti in qualsiasi momento su richiesta o secondo una pianificazione prestabilita e abbiamo testato entrambi i metodi durante le operazioni di punta del nostro cluster. Le istantanee sono state completate in pochi secondi senza problemi o influenzando le prestazioni dell'analisi. Se fosse successo qualcosa al cluster Hazelcast, come un'interruzione di corrente, i dati avrebbero potuto essere recuperati utilizzando uno dei nostri snapshot.

La funzione snapshot non è solo utile per la protezione ma può anche essere utilizzata per aumentare il tasso di utilizzo dei server. Negli istituti finanziari, i server sono fortemente utilizzati durante gli orari di negoziazione tipici, ma sono relativamente inattivi durante gli orari non lavorativi. Utilizzando uno schema di avvio a caldo, il tasso di utilizzo dei server può essere notevolmente migliorato. Ad esempio, alla fine della giornata di negoziazione, è possibile scattare un'istantanea del database di negoziazione. Quindi, quando il database di trading viene chiuso, i server possono essere impostati su altre attività di elaborazione dei dati come il data mining. All'inizio di una giornata di negoziazione, il database di negoziazione può essere rapidamente ripristinato e le operazioni di negoziazione possono essere riprese.

Conclusione

Intel Optane PMem è una tecnologia entusiasmante e trasformativa che sta iniziando a rimodellare i data center ma, come tutte le altre tecnologie, fortunatamente non esiste nel vuoto. Aziende leader e lungimiranti come Dell Technologies, Intel, MemVerge e Hazelcast stanno trovando sinergie e iniziando a sfruttare questa nuova tecnologia per trovare il suo vero potenziale nel data center: i moduli Intel Optane PMem sono offerti a circa la metà del costo della DRAM; Dell Technologies dispone di server che supportano le enormi quantità di capacità di memoria a bassa latenza fornite da Intel Optane PMem; Hazelcast consente alle applicazioni di sfruttare queste tecnologie su larga scala; e MemVerge fornisce servizi di monitoraggio, gestione e dati per Intel Optane PMem e, estraendo l'API DRAM, fa apparire Intel Optane PMem come DRAM alle applicazioni esistenti, consentendone così l'esecuzione senza essere modificate o riprogettate.

Se tutto il resto fosse uguale, le aziende opterebbero per attività in tempo reale rispetto ad attività in batch. Ma poiché non tutto è uguale, l’elaborazione batch è spesso il modello scelto per evitare i costi associati all’elaborazione in tempo reale. Tuttavia, poiché le aspettative dei clienti continuano a crescere in un mondo sempre più orientato al tempo reale, le aziende devono trovare nuovi modi per creare un vantaggio competitivo. Sfruttando le velocità in tempo reale senza subire i costi tradizionali dell'in-memory computing, le aziende leader possono fare il salto con tecnologie come Intel Optane PMem, MemVerge e Hazelcast per creare soluzioni che le aiutino a rispondere alle loro richieste e a quelle dei loro clienti , più veloce che mai.

Nocciola

MemVerge

Questo rapporto è sponsorizzato da MemVerge. Tutti i pareri e le opinioni espressi in questo rapporto si basano sulla nostra visione imparziale dei prodotti in esame. Intel, il logo Intel e Intel Optane sono marchi di Intel Corporation o delle sue filiali.

Interagisci con StorageReview

Newsletter | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | TikTok | RSS feed