Worauf beim Unternehmenseinsatz von SSDs geachtet werden muss

Teil 2: SSD ist nicht gleich SSD

Seite: 4/4

Anbieter zum Thema

Was bedeutet optimales Flash-Caching?

Durch den endlosen Strom an neuen Daten, die ständig erstellt und von strukturierten und unstrukturierten Datenbanken gesammelt werden, kann ein modernes Rechenzentrum mit einer durchschnittlichen Größe täglich problemlos Terabytes an Daten sammeln. Ein Teil dieser Daten wird angesehen, analysiert und mehrfach verwendet, aber das meiste davon wird nur ein einziges Mal nach dem Sammeln genutzt (es ist laut OCZ „ein schlecht gehütetes Geheimnis“ der DB-Administratoren, dass einige Daten nie wieder nach dem Abspeichern gelesen werden). Durch den Umfang an gesammelten Daten kann es schnell ineffizient werden, sämtliche Informationen auf Flash-Medien zu speichern. Daten, die – wenn überhaupt nur selten – wieder gelesen werden, können viel kostengünstiger auf magnetischen Medien gespeichert werden.

Andererseits bringen Daten, auf welche häufig zugegriffen wird, die IOPS-Fähigkeiten von magnetischen Laufwerken schnell an deren Leistungsgrenze, so dass Flash-Medien den besten Platz für die Speicherung dieser „Hot Data“ darstellen. Eine sofortige Leistungsverbesserung wird für Anwendungen bereits erreicht, wenn nur geringe Mengen der wichtigsten Daten auf überlegene Flash-Medien platziert werden. Wie das Sprichwort sagt „Wenn es um Performance geht, kann ein klein wenig Flash sehr viel bewegen.“ Das ist der Schlüssel zur Performance. Aber wie kann herausgefunden werden, welche Daten wichtig und es wert sind, in den Cache gespeichert zu werden?

Was soll in den Cache?

Die Abbildung zeigt die Grundbestandteile einer erfolgreichen Flash-Implementierung.
Die Abbildung zeigt die Grundbestandteile einer erfolgreichen Flash-Implementierung.
(Bild: OCZ)

Die rechten Seite der Abbildung listet einige der wichtigsten Komponenten auf, welche von fortschrittlichen Caching-Anwendungen verwendet werden, um zu bestimmen, welche Daten in den Cache wandern. Wichtig ist die Wahrnehmung von „Hot Zones“ innerhalb der Daten, um die Positionen innerhalb der Volumina bestimmen zu können, auf welche häufig zugegriffen werden. Wichtig bei der Bestimmung, was in den Cache gelangt, sind auch die kritischen Eigenschaften der aufgerufenen Daten, wie die Befehlsgröße von Anwendungen und der sequentielle Umfang des Datenzugriffs. Dies wird irgendwann zusammenfassend als „Datenzugriff-DNA“ bezeichnet. Erweiterte Verfahren können diese Datenzugriffsmuster analysieren und verwenden diese Informationen als Teil der Auswahlkriterien, die bestimmen, welche Daten auf dem Flash gespeichert werden.

Letztlich zeichnet sich ein gutes Auswahlkriterium dadurch aus, dass die im Flash-Speicher abgelegten Daten zu jedem Zeitpunkt die wichtigsten Daten für die Anwendung sind. Dies gewährleistet, dass die Daten bereits auf dem Flash-Speicher warten, wenn die Anwendung auf sie zugreifen muss, und wird üblicherweise durch die Trefferquote gemessen (der Prozentsatz der Anwendungsanfragen für Daten, die vom Flash-Speicher beantwortet werden können).

„Catch 22“ des optimalen Flash-Cachings

Wie die obige Abbildung zeigt, sind sowohl Trefferquote als auch IOPS-Rating wichtig für die erfolgreiche Flash-Einbindung, was in traditionellen Architekturen einen Konflikt auslöst. Um eine bessere Trefferquote zu erhalten, müssen Caching-Software-Module statistisch gesehen die Daten in Echtzeit verarbeiten, um so vernünftig auswählen zu können, ob ein spezifisches Datenelement es wert ist, im Cachespeicher abgelegt zu werden. Je mehr Analysen die Software jedoch in Echtzeit zu erledigen hat, desto höher ist die Beeinflussung des Datenpfads zum Flash-Speicher. Dies ist ein klassisches Datenpfad-Design-Dilemma:

  • 1. Wird zu viel Zeit damit verbracht, zu entscheiden, ob ein Datenelement zwischengespeichert werden sollte während es den Datenpfad durchläuft, verlangsamt das den Zugriff auf den Flash-Speicher.
  • 2. Wird jedoch zu wenig Zeit darauf verwendet, werden für die Anwendung unnötige Daten im Cache gespeichert oder sogar kritische Daten aus dem Cache geworfen.

Dieses Design-Dilemma beeinflusst die Architektur der derzeit verfügbaren Lösungen und ermittelt die besten Einsatzgebiete für jedes Produkt.

Die Tabelle zeigt die Produktkategorien der Beschleunigung.
Die Tabelle zeigt die Produktkategorien der Beschleunigung.
(Bild: OCZ)

Die Tabelle links ordnet die wichtigsten Arten von derzeit erhältlichen Beschleunigungsprodukten und zeigt jene Bereiche auf, für die sie jeweils am besten geeignet sind. Da Hardware-Anbieter ihre Produkte hauptsächlich für niedrige Latenz optimieren, ohne die intelligente Datenselektion zur Zwischenspeicherung, eignen sich diese Produkte am besten für einen Einsatz, wenn die Datenmenge klein genug ist, um komplett auf den Flash-Speicher zu passen. Wenn jedoch die Datenmenge über die Kapazität des Flash-Speichers wächst, wird Caching für die Beschleunigung benötigt. Dem gegenüber stehen die reinen Software-Caching-Lösungen, die ohne jeden Flash-Speicher arbeiten. Da diese Lösungen nicht mit der darunterliegenden Hardware kommunizieren können, versuchen sie möglichst häufig ihr Eingreifen zu minimieren. Sie neigen daher dazu, vereinfachte Caching-Entscheidungen zu bedienen und sind besonders für Fälle optimiert, bei denen die „Hot Data“ leicht zu identifizieren oder statisch sind.

Wenn sich jedoch die „Hot Zones“ des Datensatzes dynamisch verändern, ist eine tiefere Integration von Hardware und Software mit intelligenteren Caching-Ansätzen erforderlich. Enterprise-Anwendungen sind besonders anfällig für solche Optimierungen, da sie dynamisch große Datenmengen mit ständig wechselnder Wichtigkeit verarbeiten. Beispielsweise ein Data Warehouse, welches Echtzeit-Analysen basierend auf den neuesten Unternehmensdaten durchführt. Daten, die zu einem bestimmten Zeitpunkt kritisch sind und zwischengespeichert werden sollten, sind zu einem anderen Zeitpunkt nutzlos. Daher ist eine Selektion für die Zwischenspeicherung der besten Daten zu jedem Zeitpunkt stark von der aktuellen Zugriffsstatistik abhängig.

Das Beste beider Welten

Ein sich abzeichnender neuer Ansatz für Enterprise-Caching, „Direct Pass Caching“, ermöglicht zum ersten Mal die auf Anwendungen optimierte Caching-Auswahl, während gleichzeitig die Zugriffszeiten auf den Flash-Speicher minimiert werden. Bei dieser neuen Architektur arbeiten Caching-Software und Flash-Datenpfad zusammen, um sowohl die „Trefferquote“ als auch die Zugriffsgeschwindigkeit auf den Flash-Speicher zu optimieren. Zwei Elemente bilden das Herz dieser Technologie: Ein Cache-Direktor und ein Cache-Analyse-Motor arbeiten im Einklang, um diese Ziele gleichzeitig zu erreichen.

„Direct Pass Caching” ist die Optimierung von Flash-Hardware und Software für Enterprise Anwendungen.
„Direct Pass Caching” ist die Optimierung von Flash-Hardware und Software für Enterprise Anwendungen.
(Bild: OCZ)

Wie die Abbildung links dargestellt, ist der Direktor für den Datenpfad ein dünnes rationalisiertes Element, welches entsprechende Datenanfragen schnell an den Flash-Speicher weiterleitet, und dabei trotzdem noch in der Lage ist, hochentwickelte und statistisch optimierte Entscheidungen hinsichtlich der Daten zu treffen, welche zwischengespeichert werden. Um dies erfüllen zu können, wird für die Kommunikation mit dem Cache-Engine-Analyse-Modul außerhalb der Reihe eine API verwendet. Der Datenpfad-Cache-Direktor verwendet regelmäßige Updates, um die neuesten Informationen über Zugriffsmuster der Anwendungen dynamisch an den Caching-Motor zu senden. Der Caching-Motor ist dann in der Lage, außerhalb der Reihe tiefgreifende statistische Analysen zur Optimierung des Cachings durchzuführen. Der Caching-Motor kann dem Datenpfad-Cache-Direktor nun ein stetiges Feedback zu dynamisch optimierten Auswahlregeln zurücksenden. Auf diese Weise ist es dem Direktor möglich, ständig die richtige Wahl für die Zwischenspeicherung zu treffen, ohne aufwendige Analysen im Datenpfad durchzuführen.

Durch Kombination aus optimierter Datenpfad-Macht und erweitertem Caching-Analyse-Modul kann „Direct Pass Caching“ das Caching für Enterprise-Anwendungen optimieren. Diese Architektur liefert einerseits hohe Trefferquoten und bietet gleichzeitig den schnellsten Datenzugriff auf die On-Host-Flash-Ressourcen. Durch die geeignete Auswahl an Flash-Hardware und Software, welche bei einem erfolgreichen Flash-Einsatz hinsichtlich der wichtigsten Anforderungen zusammenarbeiten, können IT-Manager die ultimativen Ziele der Flash-Implementierung erreichen, beispielsweise eine deutliche Leistungssteigerung bei Endanwender-Anwendungen bei gleichzeitiger Reduzierung der Rechenzentrumskosten, erklärt OCZ.

(ID:40249720)