Microchip Adaptec SmartRAID Ultra 3254-16e /e im Test – Teil 3 der maxCache

Link zur Artikelübersicht

Eine wichtige Funktion des RAID-Controllers, dem ich mich in einem separatem Artikel widmen möchte, ist die Möglichkeit, einen Cacher zur Beschleunigung des RAIDs zu verwenden. Grundlegend verfügt der Controller bereits über 4 GB Speicher, welche sich aber durch die maxCache-Funktion erweitern lassen. Hierzu können SSDs am Controller transparent den Festplatten-Arrays zugewiesen werden, um die Festplatten-basierten logischen Laufwerke zu beschleunigen.

Die Besonderheit an der maxCache-Technologie ist, dass der interne Speicher des Controllers, in meinem Fall 4 GB, mit den SSDs zu einem zweistufigen Zwischenspeicher kombiniert wird. An dieser Stelle macht sich auch der EInsatz eines Ultra-Modells, also mit PCIe-Gen4-X16-Anschluss bemerkbar, da hier die Anbindung des Controller Caches an das System mit doppelter Bandbreite erfolgen kann, verglichen mit den X8-Modellen.

Ein Zwischenspeicher ist immer nur so gut wie sein Anwendungsfall. Gibt es ausreichend sich wiederholende Prozesse, welche durch einen Cache bescheunigt werden können? Dies muss immer für den Einzelfall geprüft werden. Meine Ergebnisse stellen hierbei nicht feste Größen dar, die also in jedem anderen Anwendungsfall abweichen können. Auch müssen meine Messungen nicht das maximal mögliche Potenzial des Controllers abbilden. Dennoch möchte ich auf der Grundlage meiner Messungen zeigen, wie der Cache arbeitet und anhand welcher Datengrößen sich das Verhalten des Caches verändert.

Ein wichtiger Punkt ist auch, dass gegenüber dem Vorgänger die Kapazität der Cache-SSDs vergrößert wurde. Bei Verwendung einer 256KB-Cache-Line-Size ist nun möglich, bis zu 6,8 TB maximale Cache-Größe nutzbar zu erhalten.

Einrichtung des Cache

Zunächst müssen wir den Cache einrichten. Hierbei handelt es sich um einen nicht verschlüsselten maxCache. Sobald ein geeignetes Array ausgewählt wurde, kann im Menüband unter maxCache ein maxCache hinzugefügt werden. Als erstes wird dann die Betriebsart der Cache-Laufwerke festgelegt. Für mehr Geschwindigkeit kann ein RAID 0 verwendet werden. Steht allerdings die Ausfallsicherheit im Vordergrund, so sollte der RAID 1 als Spiegelkonfiguration gewählt werden.

Für die gewählte Betriebsart können nun Geräte als Cache-Laufwerke gewählt werden. In diesem Fall sind es die beiden Toshiba PM7-V-SAS-SSDs, welche extra für diesen Zweck angeschlossen sind.

Sollten die Laufwerke nicht vollständig genutzt werden sollen, lässt sich dies im nächsten Menü bestimmen. Auch die Richtlinie zur Bestätigung des Caches kann hier angepasst werden.

In der Zusammenfassung erhält man einen Überblick über die ausgewählten Optionen. Und mit einem Klick auf Finish erhält man seinen maxCache.

Hier wird nun das Cache-Laufwerk des maxCache als Array C mit dem logischen Cache-Laufwerk für das logische Laufwerk 0 angezeigt.

Auf dem folgenden Bild zeigt sich unter dem Reiter Ressourcen die Zuordnung, welche Laufwerke als Cache für welches logische Laufwerk dienen.

Auch das eigentliche logische Laufwerk 0 hat nun in seiner Zusammenfassung vermerkt: Beschleunigungsmethode: maxCache.

Dass wirklich alles ohne Probleme in Betrieb genommen werden konnte, lässt sich auch in der Eventliste nachsehen.

Controller – maxCache

Ist der Cache fertig erstellt, beginnt der Controller mit der Analyse der anfallenden Arbeitslast. Die Beschleunigung ist also nicht sofort messbar, sondern steigt mit der Zeit an. Gerade für den Lese-Cache ist eine ausreichende Lernphase von großer Bedeutung.

Wie auf dem Bild zu sehen, ist der maxCache nur für ein bestimmtes logisches Laufwerk zuständig.

Cache-Trefferrate

Sobald der Cache eingeschwungen ist, lässt sich die Trefferate anzeigen. Die folgenden Screenshots zeigen zwei verschiedene Zustände.

Benchmarks mit dem Cache

Ohne den Benchmark-Artikeln zu weit vorzugreifen, lässt sich an folgendem Abbild sehen, dass der Cache sehr gut und ohne Überraschungen funktioniert.

Da die Cache-Funktion eines Hardware-Controllers mit die bedeutendste Funktion darstellt, ist hier eine saubere Arbeitsweise besonders wichtig. Die hohe Flexibilität sowie die zuverlässige Funktion des maxCache machen den Adaptec SmartRAID-Ultra 3254-16e /e von Microchip zu einem hervorragendes Controller. In weiteren Artikel werde ich mir auch die Kombination aus maxCache und der Verschlüsselungsfunktion maxCrypto anschauen, welche der hohen Leistungsfähigkeit auch eine hohe Sicherheit hinzufügt.

Demonstration mit exFIO

Wie wichtig aber auch der passende Anwendungsfall ist, zeigt die folgende Demonstration mit exFIO. Zum einen habe ich einen Lauf mit 500 GB (100 % der Partition) durchgeführt, bei welchem der maxCache auf 125 GB begrenzt ist. Bei diesem lässt sich gut ersehen, dass eine Tätigkeit über die Cache-Größe hinausgeht und gleichzeitig durch die zufälligen Zugriffe kein Lernefekt eintreten kann. Zum anderen habe ich beim zweiten Lauf 1 % des logischen Laufwerks als Arbeitsgröße gewählt. Hierbei handelt es sich um den Idealfall – es kann vollständig im Cache gerarbeitet werden. Bei beiden Läufen geht es um dasselbe System mit derselben Konfiguration, aber abweichendem Anwendungsfall.

Links 500 GB Arbeitsgröße Rechts 5 GB Arbeitsgröße

Im ersten Graphen ist die dauerhaft zu erwartende Leistung ersichtlich. Während bei der Messung mit 500 GB eine typische RAID-5/50/6/60-Leistung mehrerer Festplatten betrachtet werden kann, liege ich bei der 5-GB-Messung sogar 20000 IOPS über dem vom Hersteller erwarteten Ergebnis. Auch wenn die SSD theoretisch bis zu 180.000 IOPS geliefert hat, muss man auch den administrativen Aufwand des RAID-Controllers mit einbeziehen. Dieser Umstand lässt sich gut mit einer Ethernet-Verbindung vergleichen, welche aufgrund des Protokoll-Overheads auch eine etwas geringere Leistungsgfähigkeit bieten kann, als elektrisch möglich.

Anschaulich bei beiden Messungen ist zu sehen, dass eine Warteschlange von 1 immer den höchsten Lastfall darstellt, da weder Controller noch Festplatte hier irgendetwas zusammenfassen oder puffern können. Ab einer Warteschlange von 16 kann der Cache mit voller Effizienz arbeiten. In der direkten Betrachtung erhalte ich sogar noch hervorragendere Ergebnisse, was die IOPS angeht. Gerade das zufällige Schreiben mit 160.000 IOPS im vollen Band von 16 bis 256 Warteschlangentiefe ist ein nahezu nativer Wert der SSDs. Dies entspricht einer wirklich hervorragenden Effizienz des Controllers.

Auch bei der maximalen erreichbaren sequenziellen Transferrate liege ich mit rund 1100 MB/s bei dem ersten Test und über 5000 MB/s beim zweiten Test in sehr guten und auch so zu erwartenden Ergebnisbereichen.

Zum Schluss erfolgt die logarithmische Darstellung der Verzögerungen in der Warteschlange, die durch den starken Cache-Einsatz in der zweiten Messung erheblich reduziert werden kann.

Fazit

Auch wenn das Thema Caching sehr gehaltvoll ist, hoffe ich, dass ich mit mit meinen Ausführungen einen Mehrwert für den Leser präsentieren konnte. Je nach Anwendungssfall kann es sein, dass eine SSD im System eine erhebliche Beschleunigung des logischen Laufwerks darstellt oder auch aufgrund eines zu kleinen Speicherplatzes kaum eingreifen kann. Es muss also die perfekte Balance, aus der Abdeckung der zu erwartenden Last durch SSD-Kapazität und ausreichendem Festplattenspeicher für die eigentliche Ablage der Daten bestimmt werden. Hierzu muss man seinen jeweiligen Prozess sehr genau kennen. Wichtig ist auch der Einsatz einer hochwertigen SSD. Beim Cache geht es nicht primär um hohe Spitzentransferraten, wie sie bei heutigen NVMe-SSDs im Bereich PCIe Gen4 und Gen5 zum Einsatz kommen. Hier kann eine hochwertige SAS3/4-SSD, welche zwar eine niedrigere maximale Transferrate besitzt, diese aber kontinuierlich bereitstellen kann, deutlich besser sein. Denkt man die heutigen Möglichkeiten durch Hybrid-Speicherplatz aus SSDs und Festplatten weiter, so lassen sich auch neue Anwendungsfelder erschließen. Ein kleines Archiv mit zwei besonders großen gespiegelten Festplatten und einem Hochleistungs Cache, um auch größere Lasten zu bewältigen. So ließen sich alte Systeme mit 12 bis 24 Festplatten platz- und energiesparend ersetzen. Auch dieses spezielle Szenario steht bereits für die Zukunft auf meiner Liste 🙂 .

Es geht weiter.

Weiter geht es mit der Array-Ebene im nächsten Artikel!

Weiter zu den Benchmarks Teil 1

Zurück zur maxView-Physikal-Drive-Ebene