Start Unternehmen Intel Optane DC Persistent Memory NoSQL-Leistungsüberprüfung

Intel Optane DC Persistent Memory NoSQL-Leistungsüberprüfung

by Brian Beeler

Anfang des Jahres haben wir gepostet Persistenter Intel Optane DC-Speicher Daten in unserer Rezension der Supermicro SuperServer 1029U-TN10RT Plattform. Supermicro war eines der ersten Modelle mit Unterstützung für persistenten Intel-Speicher und das 2U-System mit zwei Prozessoren hat als Testumgebung für persistenten Speicher hervorragende Arbeit geleistet. Ein Blick auf die Geschwindigkeit des persistenten Optane DC-Speichers im herkömmlichen Blockspeicherverfahren ist aufschlussreich, aber der wahre Wert des persistenten Speichers zeigt sich bei Anwendungen, die dieses neue Medium nativ nutzen können, indem sie Daten intelligent im DRAM, im persistenten Speicher oder im Onboard-Speicher platzieren Anwendungsanforderungen. Um das Leistungsprofil des persistenten Optane DC-Speichers besser zu verstehen, haben wir den Supermicro-Server mithilfe einer führenden NoSQL-Plattform, Aerospike, zum Einsatz gebracht.


Anfang des Jahres haben wir gepostet Persistenter Intel Optane DC-Speicher Daten in unserer Rezension der Supermicro SuperServer 1029U-TN10RT Plattform. Supermicro war eines der ersten Modelle mit Unterstützung für persistenten Intel-Speicher und das 2U-System mit zwei Prozessoren hat als Testumgebung für persistenten Speicher hervorragende Arbeit geleistet. Ein Blick auf die Geschwindigkeit des persistenten Optane DC-Speichers im herkömmlichen Blockspeicherverfahren ist aufschlussreich, aber der wahre Wert des persistenten Speichers zeigt sich bei Anwendungen, die dieses neue Medium nativ nutzen können, indem sie Daten intelligent im DRAM, im persistenten Speicher oder im Onboard-Speicher platzieren Anwendungsanforderungen. Um das Leistungsprofil des persistenten Optane DC-Speichers besser zu verstehen, haben wir den Supermicro-Server mithilfe einer führenden NoSQL-Plattform, Aerospike, zum Einsatz gebracht.

Persistenter Intel Optane DC-Speicher
Persistente Intel Optane DC-Speichermodule im Supermicro-Server

Was ist Aerospike?

Aerospike bietet ein verteiltes, hoch skalierbares, nicht relationales Datenbankverwaltungssystem für anspruchsvolle Lese-/Schreib-Workloads mit Betriebsdaten. Es wurde entwickelt, um extrem schnelle – und vorhersehbare – Reaktionszeiten für den Zugriff auf Datensätze zu liefern, die Milliarden von Datensätzen in Datenbanken mit 10 bis 100 TB umfassen. Aerospike unterstützt eine Vielzahl strategischer Anwendungen, darunter Betrugsprävention, digitale Zahlungen, Empfehlungsmaschinen, Echtzeitgebote und mehr. Zu den Kunden von Aerospike zählen sehr große Namen wie Adobe, Airtel, FlipKart, Kayak, Nielsen, PayPal und Wayfair.

Je nach Anwendungsfall und Datensatz kann Aerospike in verschiedenen Konfigurationen eingesetzt werden, die die Systemressourcen für einen Anwendungsfall optimieren. Aerospike kann mit Daten im Speicher oder einem Index im Speicher mit Daten auf SSD oder einem Index auf SSD mit Daten auf SSD gestartet werden. Kürzlich hat Aerospike eine neue Konfiguration veröffentlicht, die den persistenten Optane DC-Speicher von Intel im AppDirect-Modus nutzt. Der Index wird in PMEM mit den Daten auf SSD gespeichert. Dieser neue Modus erweitert die Kapazität von Aerospike und sorgt gleichzeitig dafür, dass die Leistung dem Index im Speicher mit Daten auf SSD sehr nahe kommt. Dieser neue Modus bietet nicht nur Latenzen von weniger als einer Millisekunde, sondern es sind auch schnelle vollständige Neustarts von Aerospike ohne Neuerstellung des Primärindex möglich.

Durch die Anwendung verschiedener Arten von Arbeitslasten auf verschiedene Aerospike-Konfigurationen ist es möglich, die Vorteile und die Leistung der Verwendung des persistenten Intel Optane DC-Speichers auf einem SuperMicro SuperServer zu bewerten. Das Ausführen und Vergleichen von Benchmarks mit einem Index in Speicher/Daten zur SSD-Konfiguration und einem Index in PMEM/Daten zur SSD liefert die Informationen, um eine fundierte Entscheidung über die Verwendung von persistentem Speicher im Vergleich zu DRAM zu treffen. Es gibt eine zusätzliche Konfiguration, die zusätzliche Einblicke in die Leistung des persistenten Speichers bieten kann. Obwohl die Funktion „Index in PMEM“ und „Daten in PMEM“ noch nicht veröffentlicht wurde, gibt es eine Möglichkeit, PMEM auf dem Server so zu konfigurieren, dass es mit Index in PMEM ausgeführt wird und einen Teil von PMEM als Blockgerät konfiguriert ausführt, um Ihnen eine Vorstellung davon zu geben Leistungsmöglichkeiten für Index in PMEM und Daten in PMEM.

Aerospike NoSQL-Konfiguration

Auf jede der drei verschiedenen Konfigurationen wurden drei unterschiedliche Arbeitslasten angewendet. Der Aerospike Java Benchmark generierte eine 50/50-Lese-/Schreib-Workload, eine Nur-Lese-Workload und eine Nur-Schreib-Workload von 4 Client-Servern. Jeder Test bestand aus mehreren Phasen:

  • Aufnahmephase – Laden von Daten in die Datenbank.
  • Aufwärmphase – Führen Sie zwei Stunden lang eine Schreiblast aus, um einen stabilen Zustand für die Datenbank zu schaffen.
  • Testphase – Führen Sie die tatsächliche Arbeitslast für den Test eine Stunde lang aus.

Vor der Durchführung von Tests wurden ein geeigneter Schlüsselsatz und eine geeignete Objektgröße für die Daten ausgewählt. Obwohl Aerospike über einen großen Bereich an Objektgrößen von einigen Bytes bis zu einer Million Bytes verfügt, wurden der Schlüsselsatz und die Objektgröße ausgewählt, um die Serverhardware zu trainieren und die Leistung von PMEM-Konfigurationen zu demonstrieren. Größere Objektgrößen können zu einem Netzwerkengpass führen und die Leistungsfähigkeit des persistenten Optane DC-Speichers nicht vollständig zur Geltung bringen. Daher wurde für alle Tests eine Objektgröße von 440 Bytes verwendet.

Die Größe des Schlüsselsatzes wurde durch die für den Index verwendete Speichermenge in der Konfiguration „Speicher/Daten auf SSD“ eingeschränkt. Der Index in der Speicherkonfiguration war auf einen Datensatz von 4 Milliarden Objekten beschränkt. Obwohl der Index in PMEM die Kapazität von 15.5 Milliarden Schlüsseln bewältigen konnte, wurden für einen besseren Vergleich mit dem Index im Speichertest nur 4 Milliarden Schlüssel verwendet. Die endgültigen Testreihen wurden mit Index in PMEM und Daten in PMEM ausgeführt. Da der Server über insgesamt 1.5 TB PMEM verfügte, wurden für diese Tests nur eine Milliarde Schlüssel verwendet.

Hardwarekonfiguration

Die Hardwarekonfiguration umfasst zwei Schlüsselkomponenten. Der einzelne Datenbankserver beherbergt den persistenten Intel Optane PC-Speicher. Die vier Client-Server erzeugen die Last für den Datenbankserver.

Datenbankserver

  • Gehäuse – SuperMicro Ultra 1U SYS-1029U-TN10RT
  • CPU
    • 2 x Intel Xeon Scalable 8268 (2.9 GHz, 24 C)
    • 2 x Intel Xeon Scalable 8280 (2.7 GHz, 28 C)
  • Speicher – 10 x Intel DC P4510 2 TB NVMe SSD, 1 DWPD
  • DRAM – 12 x 32 GB DDR4-2933
  • Persistenter Speicher – 12 x 128 GB DDR4-2666 Intel Optane DC PMMs
  • Netzwerk – 100 GbE
  • Betriebssystem – Fedora 29  

Client-Server

  • Gehäuse – Dell R740xd
  • CPU – 2 x Intel Xeon Scalable 6130
  • DRAM – 256 GB
  • Netzwerk – 2 x 25 GbE
  • Betriebssystem – Ubuntu – 18.04
  • Software – Aerospike Enterprise 4.5.1
  • Lastgenerator – Aerospike Java Benchmark (Aerospike Java Client 4.4.0)

Aerospike-Leistungsergebnisse

Wie bereits erwähnt, haben wir den Test in verschiedenen Workload-Konfigurationen sowie am Speicherort des Index und der Datenbank durchgeführt. Zusätzlich haben wir zwei verschiedene Sätze verwendet Skalierbare Intel Xeon-CPUs der zweiten Generation. Wir haben sowohl den 8268 als auch den 8280 im Datenbankserver ausgeführt, wobei die 8280-CPUs die Intel-CPUs mit der höchsten Klasse sind, die persistenten Optane DC-Speicher unterstützen. Bei der reinen Taktrate bietet der 8280 einen 12-GHz-Anstieg gegenüber dem 8268, was einer Leistungssteigerung von 8.6 % entspricht. Auch wenn dies nicht in den folgenden Tabellen enthalten ist, sollte beachtet werden, dass im Hinblick auf die Servicequalität alle Latenzergebnisse für die Tests auf dem Server bei oder nahe 100 % unter einer Millisekunde lagen.

Index im Speicher, Daten zu NVMe-SSDs

Aktivität Durchsatzoperationen
Intel 8268
Durchsatzoperationen
Intel 8280
Lesen/Schreiben 50/50 2,100,000 2,298,000
100 % gelesen 2,240,000 2,720,000
Schreiben Sie 100 % 1,760,000 2,020,000

Obwohl wir wissen, dass die 8280er im Vergleich zu den 8.6ern eine um 8268 % höhere Rohtaktgeschwindigkeit bieten, ist es ein Hauptziel, zu sehen, wie sich dies in Anwendungsverbesserungen umsetzt. Bei Aerospike, bei dem sich der Index im Speicher und die Daten auf NVMe-SSDs befanden, sahen wir die folgenden Einzelpostenänderungen. Die Leistung bei gemischtem Lesen/Schreiben 50/50 stieg um 9.4 %, bei 100 % Lesen um 21.4 % und bei 100 % Schreiben stieg die Leistung um 14.8 %. 

Index im Optane DC Persistent Memory, Daten zu NVMe SSDs

Aktivität Durchsatzoperationen
Intel 8268
Durchsatzoperationen
Intel 8280
Lesen/Schreiben 50/50 2,000,000 2,252,000
100 % gelesen 2,200,000 2,630,000
Schreiben Sie 100 % 1,740,000 1,980,000

Wie wir in diesen Daten sehen können, hatte das Verschieben der Indizes vom DRAM in den persistenten Speicher kaum Auswirkungen auf die Transaktionsleistung. In der Produktion bedeutet dies jedoch, dass die Wiederherstellung nach einem Neustart eines Datenbankknotens viel schneller erfolgt, da Aerospike persistenten Speicher anstelle von DRAM für Indizes verwenden kann, da ein großer DRAM-Pool nicht auf SSDs übertragen werden muss, um neu erstellt zu werden. Bei High-Density-Boxen gibt es auch Kosteneinsparungen, da die getesteten 128-GB-Optane-DC-Persistent-Speichermodule erheblich günstiger sind als 128-GB-DIMMS. 

Index und Daten zum Optane DC Persistent Memory

Aktivität Durchsatzoperationen
Intel 8268
Durchsatzoperationen
Intel 8280
Lesen/Schreiben 50/50 2,600,000 2,866,000
100 % gelesen 2,810,000 3,100,000
Schreiben Sie 100 % 2,120,000 2,210,000

Wie bereits erwähnt, hat Aerospike die Möglichkeit, sowohl die Indizes als auch die Datenbank auf dem persistenten Intel Optane DC-Speicher auszuführen, angekündigt, jedoch noch nicht allgemein verfügbar gemacht. Allerdings haben wir den aktuellen Code-Build demonstriert, der dies ermöglicht, was eine Steigerung von etwa 33 % oder 600,000 Vorgängen pro Sekunde bei der gemischten Arbeitslast zeigt. 

Fazit

Der persistente Intel Optane DC-Speicher ist ein unglaublich leistungsstarker Teil der Datenhierarchie. Zwischen RAM und Speicher angesiedelt, bringt Intels Inkarnation des persistenten Speichers endlich die Technologie in den Mainstream. Der bloße Zugriff auf eine neue Speichertechnologie reicht jedoch nicht aus. Anwendungen, die persistenten Speicher nativ nutzen können, werden einen enormen Wettbewerbsvorteil haben. Die Flexibilität, die wir bei Aerospike sehen, zeigt, dass sie von Anfang an mit der Unterstützung des App-Direktmodus (Blockspeicher) für den persistenten Optane DC-Speicher ausgestattet waren. Darüber hinaus sind sie führend in der NoSQL-Welt, wenn es darum geht, sowohl Indizes als auch Daten auf den persistenten Speichermodulen zu speichern. Während es sich bei Letzterem noch um eine aufstrebende Vision handelt, sehen die ersten Ergebnisse sehr vielversprechend aus.

Aerospike

Besprechen Sie diese Rezension

Melden Sie sich für den StorageReview-Newsletter an