Flash oder DRAM zur Steigerung der Server-Performance?
Leserfrage: Viele Flash-Hersteller propagieren den Einsatz ihrer Lösungen direkt im Server, möglichst nah an der CPU. Beispielsweise PCIe-Produkte von Fusion-io, oder die Ulltradimm-SSD von Sandisk. Aber wenn ich mir die Preisentwicklung von DRAM-DIMM-Modulen so anschaue – sie sind zwar noch teurer als Flash-Lösungen, aber so teuer nun auch wieder nicht. Bei DRAM-Erweiterungen muss ich nichts am Betriebssystem ändern. Bei Flash muss ich Treiber installieren, die eventuell mein System zum Wackeln bringen. Wie ist ihre Meinung: Flash zum Beschleunigen, oder wie langjährig geübt mit DRAM aufrüsten?
Antwort Doc Storage:
Wir müssen bei diesem Thema aufpassen, nicht Äpfel mit Birnen zu vergleichen. Bei DRAM handelt es sich um einen durch das Betriebssystem direkt adressierten Hauptspeicher zur Ablage von Programm-, Meta- und Steuerdaten. Bei Flash, egal ob auf PCIe oder über einen Speicherkanal wie SAS, SATA oder Fibre-Channel angeschlossen, um ein Massenspeichermedium, welches lediglich zur Speicherung von ladbaren bzw. durch Anwendungen erzeugte Daten dient.
Es reicht beileibe nicht, den vorhandenen Hauptspeicher eines Rechners durch Zugabe neuer oder Austausch gegen andere DRAM-Riegel zu vergrößern, um diesen hinzugewonnenen Speicherplatz dann als Massenspeicher zu nutzen. Auch hierfür ist mindestens der Start eines separaten Programmes notwendig, welches nämlich einen Teil oder den gesamten zusätzlichen Adressraum eben nicht der CPU und ihrer MMU, sondern dem Betriebssystem als Massenspeicher darbietet und die Installation eines Dateisystems ermöglicht. Die hierfür benötigten Programme sind zwar größtenteils Bestandteil des Betriebssystems und im laufenden Betrieb lad- und entladbar, allerdings hat eine RAM-Disk im Vergleich zu den von Ihnen genannten Angeboten gravierende Nachteile.
Erstens handelt es sich, auch wenn das heute in der schönen »Always On«-Welt immer vergessen wird, um flüchtigen Speicher. Fällt der Rechner aus, wegen Absturz, Stromunterbrechung oder aus welchem Grund auch immer, sind die im Hauptspeicher abgelegten Daten weg. Und da es sich bei allen heute in Rechenzentren eingesetzten Servern, egal welcher »Klasse«, ob x86, Power oder mit welchem anderen Prozessor ausgestattet, um »von Neumann«-Maschinen handelt, laden diese bei jedem Systemstart, also auch nach einem Ausfall, den gesamten Adressbereich des Hauptspeichers neu – was bedeutet, dass alle dort vorher hineingeschriebenen Daten futsch sind.
Zweitens schmälert ein Einsatz von RAM-Disks, wie Sie schon bemerken, die teuerste Ressource im ganzen Rechner, auch wenn DRAM auf dem Consumer-Markt immer billiger wird. Die Hersteller ernsthaft für den 24x7x365,25-Einsatz entworfenen Rechner lassen sich den Hauptspeicher für diese Maschinen immer noch vergolden.
Meine Meinung ist eindeutig: Flash auf PCIe für Massendaten, DRAM als Hubraum für die CPU. Ich habe schon einige PCIe-Steckkarten getestet (auch für speicherguide.de). Unter Windows, Linux, Vmware und anderen Hypervisoren – noch nie ist eines dieser Systeme ernsthaft in Schwierigkeiten gekommen, weil ich den entsprechenden Treiber installiert habe. Das Risiko hier geht mit der heutigen Technik streng gegen Null. Ein Hersteller, der sich hier einen Lapsus leistet, ist raus aus dem Markt. Das wissen die Firmen, und die Qualität ihrer Produkte ist entsprechend.
Gruß
Doc Storage