All'inizio di quest'anno abbiamo pubblicato Memoria persistente Intel Optane DC dati nella nostra revisione del Supermicro SuperServer 1029U-TN10RT piattaforma. Supermicro è stato uno dei primi a offrire il supporto della memoria persistente Intel e il sistema 2U a doppio processore ha svolto un ottimo lavoro come banco di prova della memoria persistente. Osservare la velocità della memoria persistente Optane DC nel modo tradizionale di storage a blocchi è istruttivo, ma il valore reale della memoria persistente viene rivelato dalle applicazioni che possono sfruttare nativamente questo nuovo mezzo, inserendo in modo intelligente i dati nella DRAM, nella memoria persistente o nello storage integrato come esigenze applicative. Per comprendere meglio il profilo prestazionale della memoria persistente Optane DC, abbiamo messo in funzione il server Supermicro utilizzando una piattaforma NoSQL leader, Aerospike.
All'inizio di quest'anno abbiamo pubblicato Memoria persistente Intel Optane DC dati nella nostra revisione del Supermicro SuperServer 1029U-TN10RT piattaforma. Supermicro è stato uno dei primi a offrire il supporto della memoria persistente Intel e il sistema 2U a doppio processore ha svolto un ottimo lavoro come banco di prova della memoria persistente. Osservare la velocità della memoria persistente Optane DC nel modo tradizionale di storage a blocchi è istruttivo, ma il valore reale della memoria persistente viene rivelato dalle applicazioni che possono sfruttare nativamente questo nuovo mezzo, inserendo in modo intelligente i dati nella DRAM, nella memoria persistente o nello storage integrato come esigenze applicative. Per comprendere meglio il profilo prestazionale della memoria persistente Optane DC, abbiamo messo in funzione il server Supermicro utilizzando una piattaforma NoSQL leader, Aerospike.
Moduli di memoria persistente Intel Optane DC nel server Supermicro
Cos'è l'Aerospike?
Aerospike fornisce un sistema di gestione di database distribuito, altamente scalabile e non relazionale per carichi di lavoro di lettura/scrittura impegnativi che coinvolgono dati operativi. È stato progettato per garantire tempi di risposta estremamente rapidi e prevedibili per l'accesso a set di dati che comprendono miliardi di record in database da 10 a 100 TB. Aerospike alimenta un'ampia varietà di applicazioni strategiche, tra cui prevenzione delle frodi, pagamenti digitali, motori di raccomandazione, offerte in tempo reale e altro ancora. I clienti di Aerospike includono nomi molto grandi come Adobe, Airtel, FlipKart, Kayak, Nielsen, PayPal e Wayfair.
A seconda del caso d'uso e del set di dati, Aerospike può essere distribuito in varie configurazioni che ottimizzano le risorse di sistema per un caso d'uso. Aerospike può essere lanciato con i dati in memoria, oppure indicizzato in memoria con dati su SSD, oppure indicizzato su SSD con dati su SSD. Recentemente Aerospike ha rilasciato una nuova configurazione che sfrutta la memoria persistente Optane DC di Intel in modalità AppDirect. L'indice viene archiviato in PMEM con i dati su SSD. Questa nuova modalità espande la capacità di Aerospike mantenendo le prestazioni molto vicine all'indice in memoria con i dati su SSD. Non solo questa nuova modalità fornisce latenze inferiori al millisecondo, ma sono possibili anche rapidi riavvii completi di Aerospike senza ricostruzioni dell'indice primario.
Applicando diversi tipi di carichi di lavoro su diverse configurazioni Aerospike, è possibile valutare i vantaggi e le prestazioni derivanti dall'utilizzo della memoria persistente Intel Optane DC su un SuperMicro SuperServer. L'esecuzione e il confronto di benchmark con un indice nella configurazione di memoria/dati su SSD e un indice in PMEM/dati su SSD fornisce le informazioni per fare una scelta informata sull'uso della memoria persistente rispetto alla DRAM. Esiste una configurazione aggiuntiva che può fornire ulteriori informazioni sulle prestazioni per la memoria persistente. Sebbene la funzionalità indice in PMEM e dati in PMEM non sia stata rilasciata, esiste un modo per configurare PMEM sul server per l'esecuzione con l'indice in PMEM ed eseguire una parte di PMEM configurata come dispositivo a blocchi per darti un'idea del possibilità di performance per l'indice in PMEM e i dati in PMEM.
Configurazione NoSQL di Aerospike
Sono stati applicati tre diversi carichi di lavoro a ciascuna delle tre diverse configurazioni. Il benchmark Java Aerospike ha generato un carico di lavoro di lettura/scrittura 50/50, un carico di lavoro di sola lettura e un carico di lavoro di sola scrittura da 4 server client. Ogni prova era composta da più fasi:
- Fase di acquisizione: caricamento dei dati nel database.
- Fase di riscaldamento: esegui un carico di scrittura per due ore per creare uno stato stabile per il database.
- Fase di test: esegui il carico di lavoro effettivo per il test per un'ora.
Prima di eseguire qualsiasi test, sono stati selezionati un set di chiavi e una dimensione dell'oggetto appropriati per i dati. Sebbene Aerospike abbia una vasta gamma di dimensioni degli oggetti, da un paio di byte a un milione di byte, il set di chiavi e la dimensione dell'oggetto sono stati selezionati per esercitare l'hardware del server e dimostrare le prestazioni delle configurazioni PMEM. Oggetti di dimensioni maggiori potrebbero creare un collo di bottiglia nella rete e non dimostrare pienamente la potenza della memoria persistente Optane DC. Pertanto per tutti i test è stata utilizzata una dimensione oggetto di 440 byte.
La dimensione del set di chiavi era limitata dalla quantità di memoria utilizzata per l'indice nella memoria/dati nella configurazione SSD. L'indice nella configurazione della memoria era limitato a un set di dati di 4 miliardi di oggetti. Anche se l'indice in PMEM poteva gestire la capacità di 15.5 miliardi di chiavi, ne sono state utilizzate solo 4 miliardi per un migliore confronto con l'indice nel test di memoria. Le serie finali di test sono state eseguite con indice in PMEM e dati in PMEM. Poiché il server disponeva di un totale di 1.5 TB di PMEM, per questi test sono state utilizzate solo un miliardo di chiavi.
Configurazione hardware
La configurazione hardware include due componenti chiave. Il server database singolo ospita la memoria persistente del PC Intel Optane. I quattro server client generano il carico rispetto al server database.
Server di database
- Telaio – SuperMicro Ultra 1U SYS-1029U-TN10RT
- CPU
- 2 Intel Xeon scalabili 8268 (2.9 GHz, 24 C)
- 2 Intel Xeon scalabili 8280 (2.7 GHz, 28 C)
- Archiviazione: 10 SSD Intel DC P4510 NVMe da 2 TB, 1DWPD
- DRAM: 12 DDR32-4 da 2933 GB
- Memoria persistente: 12 PMM DC Intel Optane DDR128-4 da 2666 GB
- Rete: 100 GbE
- Sistema operativo – Fedora29
Server clienti
- Telaio: Dell R740xd
- CPU: 2 Intel Xeon scalabili 6130
- DRAM – 256 GB
- Rete: 2 x 25 GbE
- Sistema operativo – Ubuntu – 18.04
- Software – Aerospike Enterprise 4.5.1
- Generatore di carico – Benchmark Java Aerospike (client Java Aerospike 4.4.0)
Risultati delle prestazioni Aerospike
Come notato, abbiamo eseguito il test in una varietà di configurazioni del carico di lavoro, nonché nella posizione dell'indice e del database. Inoltre, abbiamo utilizzato due diversi set di CPU scalabili Intel Xeon di seconda generazione. Abbiamo eseguito sia gli 8268 che gli 8280 nel server del database, le CPU 8280 sono le CPU Intel con il bin più alto che supporta la memoria persistente Optane DC. In termini di velocità di clock, gli 8280 offrono un aumento di 12 Ghz rispetto agli 8268, ovvero un aumento delle prestazioni dell'8.6%. Sebbene non sia presente nelle tabelle seguenti, va notato che in termini di qualità del servizio, tutti i risultati di latenza per i test erano pari o vicini al 100% al di sotto del millisecondo sul server.
Indice in memoria, dati su SSD NVMe
Attività | Operazioni di throughput Intel 8268 |
Operazioni di throughput Intel 8280 |
---|---|---|
Leggi/Scrivi 50/50 | 2,100,000 | 2,298,000 |
Leggi al 100% | 2,240,000 | 2,720,000 |
Scrivi al 100% | 1,760,000 | 2,020,000 |
Anche se sappiamo che gli 8280 offrono un miglioramento dell'8.6% nella velocità di clock grezza rispetto agli 8268, vedere come ciò si converte in un miglioramento dell'applicazione è un obiettivo fondamentale. Con Aerospike, con l'indice in memoria e i dati sugli SSD NVMe, abbiamo riscontrato le seguenti modifiche alle voci. Le prestazioni miste di lettura/scrittura 50/50 sono aumentate del 9.4%, quelle di lettura al 100% sono aumentate del 21.4% e quelle di scrittura al 100% sono aumentate del 14.8%.
Indice nella memoria persistente Optane DC, dati sugli SSD NVMe
Attività | Operazioni di throughput Intel 8268 |
Operazioni di throughput Intel 8280 |
---|---|---|
Leggi/Scrivi 50/50 | 2,000,000 | 2,252,000 |
Leggi al 100% | 2,200,000 | 2,630,000 |
Scrivi al 100% | 1,740,000 | 1,980,000 |
Come possiamo vedere da questi dati, lo spostamento degli indici dalla DRAM alla memoria persistente ha avuto un impatto minimo sulle prestazioni transazionali. In produzione, tuttavia, ciò significa che, poiché Aerospike può utilizzare la memoria persistente invece della DRAM per gli indici, il ripristino dopo il riavvio di un nodo del database è molto più veloce, poiché un grande pool di DRAM non ha bisogno di essere trasferito sugli SSD per essere ricostruito. C'è anche un risparmio sui costi nei box ad alta densità, poiché i moduli di memoria persistente Optane DC da 128 GB in prova sono notevolmente meno costosi dei DIMM da 128 GB.
Indice e dati sulla memoria persistente Optane DC
Attività | Operazioni di throughput Intel 8268 |
Operazioni di throughput Intel 8280 |
---|---|---|
Leggi/Scrivi 50/50 | 2,600,000 | 2,866,000 |
Leggi al 100% | 2,810,000 | 3,100,000 |
Scrivi al 100% | 2,120,000 | 2,210,000 |
Come notato, Aerospike ha annunciato, ma non ha ancora fornito la disponibilità generale, per la possibilità di eseguire sia gli indici che il database sulla memoria persistente Intel Optane DC. Detto questo, abbiamo fatto una demo dell'attuale build di codice che lo consente, che mostra un incremento di circa il 33% o 600,000 operazioni al secondo nel carico di lavoro misto.
Conclusione
La memoria persistente Intel Optane DC è una parte incredibilmente potente della gerarchia dei dati. Inserendosi tra RAM e storage, l'incarnazione della memoria persistente di Intel porta finalmente la tecnologia mainstream. Ma avere semplicemente accesso a una nuova tecnologia di storage non è sufficiente: le applicazioni che possono sfruttare la memoria persistente in modo nativo avranno un enorme vantaggio competitivo. La flessibilità che vediamo con Aerospike dimostra che erano pronti fin dall'inizio con il supporto della modalità diretta delle app (archiviazione a blocchi) per la memoria persistente Optane DC. Inoltre, sono leader nel mondo NoSQL quando si tratta di conservare sia gli indici che i dati sui moduli di memoria persistente. Sebbene quest’ultima sia ancora una visione emergente, i primi risultati sembrano molto promettenti.
Iscriviti alla newsletter di StorageReview