Wenn Sie Hilfe benötigen, klicken Sie hier:

Warum Huawei Storage der Branche 2 Generationen voraus ist! FlashLink® kurz erklärt.

Peter Kruth rund

Peter Kruth

2021-05-31 126
Emotional male voice
  • Emotional male voice
  • Emotional female voice
  • Standard male voice
  • Standard female voice
Speed 1.0X
  • Speed 0.5X
  • Speed 1.0X
  • Speed 1.5X

Pit’s IT Architecture Talk

#10 Warum Huawei Storage der Branche 2 Generationen voraus ist! FlashLink® kurz erklärt

Hinweis: Die in diesem Artikel zum Ausdruck gebrachten Ansichten und Meinungen sind die des Autors und spiegeln nicht notwendigerweise die offizielle Politik, Position, Produkte und Technologien der Huawei Deutschland GmbH wider. Wenn Sie mehr über die Produkte und Technologien der Huawei Deutschland GmbH erfahren möchten, besuchen Sie bitte unsere Produktseiten oder kontaktieren Sie uns.


Meine ersten Tage bei Huawei haben einen bleibenden Eindruck hinterlassen. Ausgestattet mit dem Wissen aus einigen Jahren bei anderen Storage-Herstellern, war ich nicht nur gespannt auf die für mich neue Unternehmenskultur sondern auch auf tiefere Einblicke im technischen Bereich. Ganz ehrlich gesagt, hatte ich Huawei nicht so ganz auf dem Radar und selbst bei intensiver Suche, findet man nicht so viel technischen Background. Wir legen den Schwerpunkt mehr auf Technologie und nicht auf Marketing. Nun, beides ist wichtig und deshalb schreibe ich für diesen Blog. Was war nun der bleibende Eindruck? U.a. in der Storage-Technologie sind wir den Mitbewerbern Lichtjahre voraus! Auch in der jüngeren Vergangenheit habe ich Produkt-Launches bei anderen Herstellern erlebt. Das Marketing war großartig, die technischen Innovationen, selbst bei neu designten Produkten, hielten sich in Grenzen.

Abbildung 1: OceanStor Dorado 18000 V6

Das ist bei Huawei ganz anders. Ich habe die technische Dokumentation regelrecht aufgesogen und kam aus dem Staunen nicht heraus. Ich hatte nicht gedacht, dass man an Speicher-Systemen noch so viel verbessern kann. Da fallen mir sofort einige Beispiele ein, wie keine LUN-Ownership – damit kann eine LUN von allen Controllern in einem Cluster gleichzeitig bedient werden. Oder Scale-out bis zu 32 Controllern mit shared Memory und automatischem Load-balancing für alle Workloads – also nie wieder LUNs oder Filesysteme verschieben oder eine so einfache Bedienoberfläche, dass man als Storage-Admin nicht einmal die Bedienungsanleitung lesen muss, u.v.a. Da kann man nur sagen „Einfach und schnell“.

Abbildung 2: DeviceManager

Heute möchte ich Euch aber unsere FlashLink®-Technologie vorstellen. Sie ist maßgeblich daran beteiligt, wie wir die maximale Leistung aus dem SSD-Layer herausholen und gleichzeitig für ihre lange Lebensdauer sorgen.

Zuerst ist hier unsere intelligente Multi-core Technology zu nennen. Bei uns kann ein einzelner Storage-Controller auf bis zu 4 CPUs und 192 Cores zurückgreifen. Wie Ihr sicher wisst, enthalten CPUs heute i.d.R. auch ihre Memory-Controller und damit ist jeder CPU auch dedizierter RAM zugeordnet – NUMA (non uniform memory architecture). Auf diesen kann die CPU am schnellsten zugreifen. Benötigt eine CPU Daten aus einem Speicher einer anderen CPU, muss sie diesen über den CPU-Bus bei der jeweiligen CPU anfragen und das ist mit zusätzlicher Latenz verbunden. Um dies zu vermeiden, nutzen wir in unserer Software das CPU-Grouping. Damit werden die Cores jeder einzelnen CPU zusammengefasst. IO-Requests werden, wenn möglich, innerhalb von einer CPU-Group vollständig abgearbeitet. Damit bleibt der Speicher lokal und liefert die beste Performanz. Ein Storage-System hat aber nicht nur IO-Prozesse, sondern auch verschiedene Service-Prozesse zu bearbeiten. Das sind z.B. Deduplication, Compression und Caching, um nur einige zu nennen. Und diese Prozesse konkurrieren natürlich mit den IO-Prozessen. Dafür haben wir uns das Service-Grouping ausgedacht. Dabei werden jeder Service-Gruppe dynamisch CPU-Cores zugeordnet und beeinflussen damit nicht mehr die IOs. Und damit nicht genug. Jede Service-Gruppe verwendet auch eigene Speicher-Strukturen und verhindert damit Memory-Locks. Dadurch muss kein Prozess auf einen anderen warten, weil er auf dieselben Memory-Strukturen zugreifen will – Lock-free-by-design! Zusammen sorgen diese drei Technologien für das lineare Skalieren der Controller, der CPUs und der Cores.

Ein weiterer Bestandteil der FlashLink®-Technologie ist unser Row-Full-Stripe-Write. Dabei wird für jeden Schreibzugriff auf der SSD ein neuer Flash-Chip verwendet. Bestehende Daten müssen damit nicht überschrieben werden. Das erhöht die Lebensdauer der SSDs beträchtlich, da die Anzahl der Löschbefehle minimiert wird. Die Anzahl der Löschvorgänge je Chip ist der begrenzende Faktor der SSD-Lebensdauer. Zusätzlich reduzieren wir mit Row-Full-Stripe-Write die Write-Amplification auf nahezu 1 und beim Lesen auf 0. Herkömmliche RAID-Systeme, wie z.B. RAID-6 schreiben bzw. lesen jedes Datum 3x – einmal den Datenblock, dann die erste Parität und dann die zweite Parität. Klingt schon etwas Old-School, oder?!

Eine weitere Technologie in diesem Bereich ist das Multi-streaming. Kurz gesagt, werden dabei Daten in ihrer Lebensdauer klassifiziert, zusammengefasst und geschrieben. Dadurch reduzieren wir ebenfalls die Löschvorgänge je SSD-Chip und steigern die Lebensdauer und Performanz. Mit unserer End-to-End IO-Priorisierung, erhalten wir wesentliche Vorteile bei der Latenz von IO-Prozessen. Unterschiedliche Befehle an eine SSD benötigen nämlich unterschiedliche Zeit. Ein Read dauert z.B. maximal nur 100 μs das Löschen aber bis zu 15ms. Standard-SSDs handeln diese Befehle sequenziell ab. So kann ein Löschvorgang bis zu seinem Abschluss ein Read blockieren. Wir haben aber unsere eigenen SSD-Controller und können zusammen mit der IO-Priorisierung einen Löschvorgang abbrechen, wenn dieser einen Read blockiert!

Jetzt fehlen noch unsere Smart-Disc-Enclosure. Habt Ihr Euch schon mal gefragt, warum Huawei-Storage-Systeme so viele NVMe-SSDs bedienen können? Im High-End sind das bis zu 6400 und selbst unsere kleinste OceanStor Dorado kann schon 1200. Das liegt daran, dass wir auch CPU-Power in unseren Smart-Enclosures haben. Diese werden bei uns mit 2x 100Gb RoCE angebunden und stellen die benötigten PCIe-Lanes zur Verfügung. Jede CPU und South-Bridge hat nur eine begrenzte Anzahl davon und wenn ich die Enclosure dann auch noch über PCIe anbinde, wie bei anderen Herstellern, werden es noch weniger.

Neben diesem Vorteil kann man mit den CPUs auch noch anderes anfangen und z.B. wie bei uns den Rekonstruktion-Workload auslagern. Das reduziert die benötigte Bandbreite im System und entlastet die Haupt-CPUs. Die Auswirkung davon ist, dass man den Reconstruction-Workload im System kaum noch bemerkt. Das habe ich schon ganz anders gesehen – Ihr auch?

Zu guter Letzt gehören auch noch einige Services aus dem Bereich der künstlichen Intelligenz (KI) dazu. Wir entwickeln ja nicht nur Hauptprozessoren, SSD-Controller-Chips, Netzwerk-Chips, BMC etc. sondern auch KI-Prozessoren namens Ascend. Diese setzen wir in unseren Storage-Systemen nicht nur für vorausschauende Instandhaltung ein, sondern auch für wichtige Services im Datenpfad. Da wäre zuerst unser intelligenter Read-Cache zu nennen. Festzustellen, welcher Workload als nächstes welches Datum benötigt ist gar nicht so simpel. Wenn z.B. Datenbankabfragen häufig ein Datum aus Tabelle A lesen und im Anschluss aus Tabelle B, so ist das für ein herkömmliches Storage-System mit festen Cache-Algorithmen nicht zu erkennen. Bei uns ist das aber ganz anders. Wir verwenden dazu ein Maschine-Learning-Modell und dies verbessert sich über die Lebensdauer von selbst. Man kann also wirklich sagen, dass unsre Storage-Systeme über ihre Lebensdauer immer besser werden. Auch unser Quality of Service (QoS) wird von KI unterstützt. Hier übernimmt sie die Identifikation von verschiedenen Workloads und sorgt dafür, dass wichtigere Workloads priorisiert abgearbeitet werden. Auch innerhalb des Deduplication- und Compression-Prozesses wird die KI genutzt. Hier identifiziert sie verschiedene Datenpattern und weist ihnen optimale Datenreduktions-Algorithmen zu.


Jetzt wisst Ihr, was sich hinter FlashLink® verbirgt und kennt einen Teil der Technologie, wie wir es schaffen 21-Millionen SPC-1 IOPS™ zu liefern und dabei auch noch Betriebskosten reduzieren. Das ist lange noch nicht alles, was unsere Storage-Systeme von anderen unterscheidet aber zumindest ein Anfang, um etwas neugieriger zu werden. Wenn ich Euer Interesse geweckt habe, würden wir von Huawei uns freuen, Euch beim nächsten Storage-Projekt zu unterstützen. Vielleicht können wir Euch auch unser NoF+ vorstellen, damit Ihr seht, wie die unglaubliche Performanz der OceanStor Dorado effizient beim Server ankommt.

Bis bald!

Pit

0/500

Write your comment here.
Submit

0 comments

    More comments

      You have scored successfully.

      You have submitted successfully.

      Evaluation failed.

      Submission failed.

      Please write your comment first.