Seite 10: Benchmarks: Optane Persistent Memory 200

Mitte des vergangenen Jahres stellte Intel die zweite Generation des Arbeitsspeichers auf Basis des Optane-Speichers vor. Der Optane Persistent Memory 200 ist das letzte fehlende Bindeglied in der von Intel viel zitierten Speicherpyramide. In Abhängigkeit von der Wichtigkeit der Daten und wie schnell auf diese zugegriffen werden soll, liegen sie auf unterschiedlichen Speichermedien. 

Während wir für das Speicher-Subsystem von Nano- und Picosekunden für Cache-Zugriffe sprechen, können inzwischen mehrere hundert Gigabyte oder gar Terabyte an Daten im Arbeitsspeicher abgelegt werden. Die Zugriffszeiten liegen hier bei knapp unter 100 ns. Die schnellen Optane DC SSDs bieten mehrere Terabyte an Kapazität, sind mit 10 ms aber vergleichsweise langsam. Dies setzt sich für Standard-SSDs, 3D NAND SSDs und HDDs entsprechend fort.

Am besten wäre es natürlich, alles auf einer Art Ramdisk abzulegen, doch DRAM-Speicher ist teuer und in Servern knapp bemessen. Der Optane Persistent Memory schließt die Lücke zwischen DRAM und den Optane DC SSDs. Im Grunde sprechen wir hier also wirklich von einer Art Ramdisk.

Maximal die Hälfte der DIMM-Steckplätze eines Xeon-Prozessors kann mit Optane Persistent Memory bestückt werden (pro Kanal jeweils ein DRAM und ein Persistent Memory Modul). Der Speicher ist in DIMMs mit einer Kapazität von 128, 256 und 512 GB verfügbar. Der maximale Speicherausbau beläuft sich somit auf 8x 512 GB DDR4-3200 + 8x 512 GB Optane Persistent Memory also insgesamt 8 TB pro Sockel. In der Bestückung der Steckplätze ist darauf zu achten, dass der Optane Persistent Memory näher am Speichercontroller sitzt, als dies für den DRAM des gleichen Speicherkanals der Fall ist. In den Handbüchern und Installationshinweisen der Server und Mainboards wird allerdings auch darauf hingewiesen.

Die Persistent Memory Module (PMM) der Optane Persistent Memory 200 Series werden in den gleichen Kapazitäten von 128, 256 und 512 GB verfügbar sein. Pro Modul beträgt die Leistungsaufnahme 12 oder 15 W.

Wichtigstes Merkmal ist die höhere Speicherbandbreite (+25 %) im Vergleich zur ersten Generation, denn die Optane-DIMMs können mit gleichem Takt wie der Arbeitsspeicher (DDR4-3200) angesprochen werden.

Wie der Optane DC Persistent Memory in den Anwendungen verwendet wird, ist wie bislang von der konkreten Umsetzung abhängig. Im App Direct Mode erfolgt eine dedizierte Auslegung der Zugriffe auf den Speicher. Intel hat dazu ein Standard Programming Model entwickelt, über das alle Applikationen im App Direct Mode mit dem Optane DC Persistent Memory sprechen.

Im zweiten Modus, dem Storage over App Direkt, wird der Optane DC Persistent Memory wie eine SSD oder HDD behandelt. Es gibt Blockgrößen und Dateisysteme, mit denen die Daten auf den Speicher geschrieben und davon gelesen werden können. Zudem gibt es einen Mixed Mode, in dem bestimmte Speicherkanäle jeweils unterschiedlich angesprochen werden können.

Für den Test haben wir bisher an Arbeitsspeicher 16x 32 GB an Hynix HMA84GR7CJR4N-XN verwendet. Nun haben wir pro Speicherkanal und Prozessor noch jeweils einmal 128 GB Optane Persistent Memory 200 hinzugesteckt, sodass aus 256 GB an Arbeitsspeicher pro Sockel nun 1.280 GB wurden.

Datenbank-Anwendungen

Aerospike

Zugriffe/s
Mehr ist besser

Für den Datenbank-Benchmark mit PMem haben wir Aerospike verwendet. Im Dual-Socket-Server läuft auf einem Prozessor der Datenbankserver und auf dem zweiten der Client. Wir testen hier also nicht das Dual-Socket-System. Der Optane Persistent Memory wurde im App Direct Mode betrieben. Die erstellte Datenbank hatte eine Größe von 1 TB und rund 10 Milliarden Einträge mit jeweils 64 Bytes. Wir haben diese Größe gewählt, um den DDR4-Arbeitsspeicher vollständig füllen bzw. eine Auslagerung auf die SSDs gewährleisten zu können und um den Optane Persistent Memory in Verwendung zu haben. Im Verhältnis von 70/30 % für das Lesen und Schreiben in der Datenbank haben wir den beständigen Durchsatz aufgenommen.

Im Falle des Xeon Platinum 8380 befanden sich die Daten und der Index auf dem Optane Persistent Memory, was im Falle des nur 256 GB großen DDR4-Speichers nicht möglich ist. Hier lag nur der Index im DRAM, die Daten befanden sich aber auf einer Optane SSD DC P5510. Die schon nicht langsamen SSDs sind dann hier dennoch der Flaschenhals.

Aerospike kann allerdings derart flexibel konfiguriert werden, dass sich die Daten zwar immer auf der oder den SSDs befinden, der Index der Datenbank aber wahlweise ebenfalls auf der SSD, dem DRAM oder im PMem abgelegt werden kann. Die höchste Leistung wird natürlich erreicht, wenn sich Daten und Index im RAM befinden. Allerdings kann dessen Kapazität hier zum Engpass werden. Im Falle eines Stromausfalls oder eines unerwarteten Neustarts liegen die Daten auch sicherer auf der SSD. Befinden sich die Daten und dem Index im RAM, müssen diese neu erstellt werden, im PMem und auf der SSD blieben sie hingegen erhalten.

Aber auch wenn der Optane Persistent Memory mit den gleichen Taktraten wie der DDR4-3200 arbeitet, so hat dessen Einsatz dennoch einen gewissen Einfluss auf den Datendurchsatz. Der Unterschied ist allerdings nur für den Maximaldurchsatz relevant, sollte aber im Hinterkopf behalten werden, wenn Anwendungen auf den maximal verfügbaren Datendurchsatz angewiesen sind.