James Steidl - stock.adobe.com
Software-Engpässe vermeiden und Speicherleistung steigern
Erfahren Sie, was Hersteller offerieren, um Flaschenhälse der Speichersoftware zu beheben und wie sie das volle Potential der Speichermedien im Rechenzentrum nutzen können.
Speichersysteme werden ihrem vollen Potenzial oft nicht mehr gerecht. Der Nachweis dieser Aussage erfordert ein wenig Mathematik. Wenn Sie die Rohleistung jedes Laufwerks in einem All-Flash-Array addieren und mit der angegebenen Leistung dieses Arrays vergleichen, werden Sie einen signifikanten Unterschied feststellen.
Die Mathematik legt nahe, dass das All-Flash-System in der Lage sein sollte, Millionen von IOPS zu erzeugen, doch die meisten können nicht mehr als ein paar Hunderttausend erzeugen. Um den Grund für die Leistungslücke zu verstehen, muss man die Architektur von Speichersystemen verstehen.
Die meisten Speichersysteme bestehen heute aus einem Ökosystem von CPUs, Memory, internen und externen Netzwerken, Speichermedien und Speichersoftware. Die Speichersoftware wird von Datenspeichermanagern für die Bereitstellung und den Schutz der auf den Medien gespeicherten Daten genutzt. Mit Ausnahme der Software ist jede Komponente im Speicher-Ökosystem schneller und weniger latent geworden. Zum Beispiel haben CPUs jetzt mehr Kerne, Speichermedien sind Flash- statt festplattenbasiert und Netzwerke verfügen über mehr Bandbreite.
Die steigende Zahl der Anbieter für softwaredefinierten Speicher ist der Grund für die Diskussion um die Isolierung von Software vom restlichen Speicher-Ökosystem.
Selbst Anbieter, die schlüsselfertige Speicherprodukte anbieten, dienen heute in erster Linie als Softwareentwickler, da ihre Software möglicherweise nur mit der von ihnen verkauften Hardware erhältlich ist. Fairerweise muss man sagen, dass ihre Geräte vielleicht einige einzigartige Fähigkeiten oder Konfigurationen haben, aber diese Anbieter schreiben immer noch Software-Code zur Verwaltung der Speicherumgebung.
Die Herausforderung ergibt sich daraus, dass die Speichersoftware größtenteils die gleiche geblieben ist wie vor einem Jahrzehnt. Selbst die Funktionen, die die meisten Speichersoftwareprodukte und -Tools bieten – RAID, Snapshots und Replikation – bleiben relativ gleich.
Die Überwindung des Software-Engpasses – und die Verbesserung der Speicherleistung – ist eine kritische Hürde für Speicheranbieter. Wenn sie dazu nicht in der Lage sind, wird es für Kunden keinen Sinn machen, schnellere Speichertechnologien einzusetzen. Lassen Sie uns untersuchen, was die Anbieter unternommen haben, um dieses Problem zu lösen, denn es hat sich immer deutlicher gezeigt, dass Speichersoftware die Anwender daran hindert, das volle Leistungspotenzial der Speichermedien innerhalb eines Speichersystems auszuschöpfen.
Dem Problem mit Hardware begegnen
In den meisten Fällen haben die Hersteller mehr CPU und Arbeitsspeicher für das Problem bereitgestellt. Aber leistungsfähigere CPUs bedeuten eine viel teurere Einkaufsliste, die das Problem nicht unbedingt behebt.
CPU-Hersteller verbessern die Prozesse nicht mehr durch Verbesserung der Rohleistung pro Kern. Stattdessen erhöhen sie die Anzahl der in der CPU enthaltenen Kerne. Aber die Nutzung der Vorteile eines Mehrkernprozessors mit acht oder mehr Kernen erfordert ausgeklügeltes Software-Multithreading und in den meisten Fällen das Neuschreiben von Code von Grund auf. Um diesen zeitaufwändigen Prozess zu vermeiden, versuchen die Speicherhersteller, bestimmte Funktionen auf einzelne Kerne zu isolieren, was die Leistung etwas steigert, aber die Kerne nicht effektiv parallel nutzt.
Ein anderer Ansatz fügt mehr Memory hinzu, das als Cache zwischen der CPU und dem Flash-Speicher fungiert. Das Hinzufügen von mehr Memory ist wiederum teurer. Es gibt auch eine physikalische Grenze dafür, wie viel Arbeitsspeicher ein Speichersystem unterstützen kann.
Außerdem ist der Speicher von Natur aus flüchtig, und ein Strom- oder Systemausfall führt zu Datenverlust. Die Arbeit mit flüchtigem Arbeitsspeicher erhöht die Komplexität und die Kosten.
Sollten Engpässe der Speichersoftware behoben werden?
Die Herausforderung, die maximale Leistung aus einem Speichersystem herauszuholen, hat viele Anbieter dazu veranlasst, ihren Schwerpunkt auf Faktoren wie einfache Verwaltung oder Quality-of-Service-Funktionen zu verlagern. Die Grundhaltung dabei ist, dass es keine Notwendigkeit gibt, die Leistung zu verbessern, weil die aktuellen Systeme gut genug sind.
Viele Rechenzentren benötigen nicht mehr als 500.000 IOPS. Tatsächlich benötigen die meisten nicht mehr als 100.000 IOPS. Das Problem ist, dass das Nichtausnutzen der vollen Rohleistung von Flash-Laufwerken die Medienkosten in die Höhe treibt. Wenn – technisch gesehen – vier oder fünf Flash-Laufwerke 500.000 oder mehr IOPS liefern können, warum sollte eine Organisation dann gezwungen sein, 24 oder mehr zu kaufen?
Erschwerend kommt hinzu, dass die Kapazität von Flash-Laufwerken zunimmt. Innerhalb eines Jahres werden Flash-Laufwerke mit mehr als 16 TB an der Tagesordnung sein, und bald werden Laufwerke mit höherer Kapazität folgen. Das bedeutet, dass ein Flash-Array mit 24 Laufwerken und 16 TB-Laufwerken eine Rohkapazität von 384 TB bieten wird, mehr als die meisten Rechenzentren benötigen. Aber es wird immer noch eine Menge sein, die die Anbieter Rechenzentren zum Kauf zwingen werden, damit ihre Angebote eine akzeptable Leistung liefern können.
Das Problem mit hochdichtem Flash-Speicher
High-Density-Flash-Speicher ist potenziell ein größeres Problem für leistungsschwache Speichersysteme als Hochleistungs-Flash. Mehrere Anbieter sind bereit, dieses Jahr 16-TB-Laufwerke auszuliefern, und andere haben 50-TB-Laufwerke angekündigt, die im nächsten Jahr ausgeliefert werden sollen.
Die Kosten dieser Laufwerke werden auf einer Pro-TB-Basis beträchtlich niedriger sein als die heutigen Flash-Laufwerke und nahezu die gleiche Leistung erbringen. Obwohl die Datenmenge weiter zunimmt, werden in den nächsten fünf Jahren nicht alle Rechenzentren der Petabyte-Klasse angehören. Aber ohne ein effizienteres Speichersoftware-Modell könnten die Anbieter diese Rechenzentren dazu bringen, 1,2 PB Kapazität pro System (50 TB x 24 Laufwerke) zu kaufen.
Die meisten zusammensetzbaren Speicherangebote (Composable Storage) können SSDs mit hoher Kapazität aufteilen, damit Cluster sie effizienter nutzen können. Speichersoftware, die völlig neu ist, ist sogar noch überzeugender. Wenn die Software die volle Leistung aus dem Laufwerk herausholen kann, können diese Tools ein mittelgroßes Rechenzentrum in die Lage versetzen, alle seine Speicheranforderungen mit einem System mit 12 Laufwerken, das mehr als 1 Million IOPS und 600 TB Kapazität bietet, oder einem System mit sechs Laufwerken, das 500.000 IOPS und 300 TB Kapazität bietet, zu erfüllen.
Es gibt auch die Realität, dass neue Arbeitslasten wie Analytik, KI, maschinelles Lernen und Deep Learning mehr Leistung erfordern, als ein typisches Array liefert. Ein Bedarf von einer Million oder mehr IOPS ist auf diesen Märkten nicht ungewöhnlich. Darüber hinaus werden Mainstream-Workloads weiter skalieren und mehr Leistung erfordern, so dass selbst Datenbanken oder virtuelle Umgebungen irgendwann von einer Leistungssteigerung profitieren werden.
Wie man den Software-Engpass behebt
Die Behebung des Software-Engpasses und die Verbesserung der Speicherleistung müssen für Speicheranbieter oberste Priorität haben, sonst werden neue Medien und Netzwerke mit höherer Geschwindigkeit nur geringe Akzeptanz finden. Insbesondere neugegründete Speicheranbieter haben diese Herausforderungen erkannt, und es gibt verschiedene Ansätze, um sie zu bewältigen.
Eliminieren Sie das Konzept eines Speichersystems. Die meisten Workloads arbeiten heute als Teil einer Umgebung, oft eine Ansammlung von Servern, die als Cluster fungieren – wie ein VMware-Cluster, Oracle Real Application Cluster oder Hadoop-Cluster. Die Software, die diese Cluster verwaltet, umfasst grundlegende Speicherverwaltungsfunktionen wie Volume-Management und Datensicherung. Die Leistung verbessert sich, da es kein Netzwerk und keine komplexe Speichersoftware gibt, die die Latenzzeit erhöht.
Probleme entstehen, weil jedes Cluster für sich arbeitet und die Speicherressourcen ineffizient genutzt werden. Die Speicherverwaltung wird zu einem separaten Verwaltungsprozess innerhalb jedes Clusters, und die Speichernutzung ist in der Regel gering, da die Software die Daten- und I/O-Last nicht gleichmäßig über das gesamte Cluster verteilt.
Die Datensicherung erfordert das Kopieren von Daten zwischen den Knoten im Cluster, was den Kapazitätsverbrauch erheblich erhöht.
Verwenden Sie clusterübergreifenden Composable Storage. Eine potenzielle Lösung für das Problem von Clusterspeicherinseln ist der zusammensetzbare Speicher. Composable Storage umfasst einen gemeinsamen Ressourcenpool der Komponenten im Speicher-Ökosystem. Wenn ein Cluster Speicherressourcen benötigt, weist die Composable Software diesem Cluster ein virtuelles Speichersystem zu.
Beispielsweise kann ein Speichermanager 10 von 50 verfügbaren Flash-Laufwerken und zwei CPUs einem VMware-Cluster zuweisen, und dann weitere 20 der 50 einem Analyse-Workload, der von Hadoop gesteuert wird. Der Vorteil einer zusammensetzbaren Architektur besteht darin, dass die Laufwerke nicht intern an einen bestimmten Server gebunden sind, so dass Unternehmen den Anwendungsfall für die Laufwerke und sogar die Server je nach Bedarf ändern können.
Angebote für Composable Lösungen sind weiterhin von den Fähigkeiten der Cluster-Software abhängig, Speicherfunktionen bereitzustellen, was bedeutet, dass die Speicherverwaltung innerhalb jedes Clusters weiterhin individuell ausgeführt wird.
Es deutet auch darauf hin, dass der Funktionsumfang und die Speicherleistung nach wie vor hauptsächlich davon abhängen, wie gut die Speicherfunktionen der Cluster-Software funktionieren. Schließlich erfordern die meisten Composable-Angebote eine ausgeklügelte Netzwerkarchitektur wie NVMe-oF, die zwar an Popularität gewinnt, aber in Rechenzentren noch lange nicht alltäglich ist.
Stellen Sie individualisierte Hardware bereit. Eine Alternative zum Wegfall des Speichersystems besteht darin, selbigen mehr Rechenleistung speziell für die Speicherung zur Verfügung zu stellen.
Mehrere Speicherhersteller entwickeln derzeit benutzerdefinierte FPGAs (Field Programmable Gate Arrays) und ASICs, die die Speicherleistung beschleunigen, indem diese Komponenten Speicherprozesse übernehmen. Einige Netzwerkanbieter haben Netzwerkschnittstellenkarten (NIC) mit Verarbeitungsleistung auf der Karte geliefert, mit der Absicht, die Speichersoftware auf der Karte laufen zu lassen, anstatt auf der zentralen CPU.
Es ist unklar, ob die Nutzung von FPGAs oder ASICs für die Speichersoftware die Leistung verbessert oder ob es nur die vorhandene Anwendung in die Lage versetzt, die CPU besser auszunutzen. Es gibt auch einen spürbaren Kostennachteil beim Einsatz von zusätzlicher Hardware. Darüber hinaus bedeutet der Wechsel zu einem dedizierten FPGA oder ASIC, dass ein Anbieter nicht mehr von Intels kontinuierlichem CPU-Entwicklungszyklus profitiert.
Schreiben Sie die Speichersoftware völlig neu. Die meiste Speichersoftware ist mindestens zehn Jahre alt. Selbst neuere Speichersysteme verwenden in der Regel Open-Source-Bibliotheken. Das Neuschreiben von Grund auf bietet Anbietern die Möglichkeit, Speicheralgorithmen neu zu überdenken, zum Beispiel wie die Speichersoftware Storage und Daten bereitstellen, referenzieren und schützen wird. Ein Neuanfang ermöglicht es einem Anbieter auch, sicherzustellen, dass seine Software Multithreading-fähig ist.
Dieser Prozess bedeutet jedoch keine Inkompatibilität. Die Speichersoftware kann Konnektoren verwenden, um Unterstützung für traditionelle Block-, Datei- und Objekt-Management zu bieten.
Die Herausforderung besteht in der Zeit, die es dauert, bis das Produkt auf den Markt kommt. Durch die Nutzung bestehender Softwarebibliotheken kann ein Anbieter ein neues Produkt in zwei oder drei Jahren liefern. Aber es wird sich nicht stark von bestehenden Angeboten unterscheiden. Ein Startup, das seine Lösung „von Grund auf“ entwickelt, kann fünf Jahre oder länger benötigen, bis die erste Version testbereit ist. Ein etabliertes Speicherunternehmen könnte ein neues Projekt im Geheimen durchführen müssen, während es seine anderen Produkte weiterhin verkauft.
Der Wert liegt darin, dass Speichersoftware nicht mehr der Engpass wäre, da sie die volle Leistung von jedem im System installierten Laufwerk abrufen könnte, während sie insgesamt weniger Ressourcen benötigt.
Die Verbesserung der Speicherleistung durch Überwindung des Software-Engpasses ist eine Herausforderung für das gesamte Rechenzentrum und die Anbieter. Wenn die Anbieter den Engpass nicht beheben können, besteht keine Notwendigkeit für Netzwerkanbieter, schnellere Netzwerke aufzubauen, oder für Speicherhardwareanbieter, schnellere Medien zu entwickeln.
Die hier erwähnten Alternativen – Eliminierung des Konzepts eines Speichersystems, zusammensetzbare Cluster-übergreifende Speicherung, Anpassung der Hardware und Neuschreiben der Speichersoftware – bieten praktikable Lösungen für das Problem, aber jede einzelne hat ihre Herausforderungen. IT-Fachleute werden, wie üblich, entscheiden müssen, welche Kompromisse die besten sind.