Optimierte Cache-Speicher ermöglichen nahtloses Arbeiten
0Das Abspeichern von Daten oder Dateien ist im Arbeitsalltag der meisten Menschen in etwa so selbstverständlich wie Atmen oder Gehen. Ebenso selbstverständlich: Für den Endanwender macht es in aller Regel keinen Unterschied, wo und wie die Daten abspeichert werden. Entscheidend ist aus seiner Sicht, dass insbesondere die wichtigen oder meistgenutzten Daten und Anwendungen schnell verfügbar sind und jederzeit abgerufen werden können.
An diesem Punkt wird es für IT-Verantwortliche kompliziert. Denn sie müssen ihre Speichersysteme so konzipieren, dass sie schnellen Zugriff ermöglichen, aber gleichzeitig riesige Datenmengen vorhalten können – bei überschaubaren Kosten. Erster Schritt dabei: Je nach Anforderung an die Anwendung, an die zu speichernde Datenmenge, die geforderte Zugriffszeit und die Verfügbarkeit der Daten, können die Speicher als Primärspeicher, Sekundärspeicher oder Tertiärspeicher arbeiten. Massenspeicher wie Arbeitsspeicher, Caches oder Flash-Speicher gehören zu den primären Speichersystemen, Festplatten oder Festplatten-Arrays, Datenträger wie DVDs zu den sekundären. Zu den tertiären Speichern zählen unter anderem Bandlaufwerke und Bandbibliotheken. Sie werden häufig für Back-Ups und vergleichbare große Datenmengen eingesetzt, auf die kaum zugegriffen wird. Sie werden heute oft durch Cloud-Storage-Systeme oder „Storage as a Service“-Lösungen (SaaS) ergänzt.
Schneller Zwischenspeicher reduziert die Anzahl von Zugriffen auf langsame Speichermedien
Primärspeicher sind extrem schnell und zeichnen sich durch eine kurze Zugriffszeit aus. Sekundärspeicher bieten Speicherkapazitäten von mehreren Terabyte und sind relativ kostengünstig. Die Zugriffszeiten sind allerdings wesentlich länger als die der primären Speicher. Noch länger sind die Zugriffszeiten von Tertiärspeichern wie Bandlaufwerken und RAID-Systemen – teils mehrere Minuten, für Endanwender meist eine enorme Geduldsprobe.
Um den Endanwendern den Zugriff auf ihre wichtigen Daten mit möglichst wenig Wartezeit zu gewährleisten, ist meist der Cache-Speicher das Mittel der Wahl. Dieser schnelle Zwischenspeicher reduziert die Anzahl notwendiger Zugriffe auf ein langsameres Speichermedium. Die Zwischenspeicher können als Hardware oder als Software-Funktion realisiert sein.
Ziele eines Cache-Speichers:
- Reduzierung der Zugriffszeiten auf häufig benötigte Daten
- Verringerung der Anzahl von Zugriffen auf das Primärmedium
- Entlastung von Schnittstellen und Bussystemen
- Reduzierung der Netzwerklast
- Minimierung von Übertragungsfehlern
- Steigerung der Ausführungszeit von Anwendungen
Die Effizienz eines Caches hängt davon ab, wie gut es gelingt, die benötigten Daten tatsächlich vorzuhalten. Seine Größe ist begrenzt, weshalb intelligente Speicherverwaltungs- und Speicherverdrängungsverfahren wie Least Frequently Used (LFU), Least Recently Used (LRU) oder Most Recently Used (MRU) notwendig sind.
Tiering und Layering im Vergleich
Diese Logik lässt sich auf zwei Wegen umsetzen: Tiered Storage oder auch Storage Tiering steht für die Speicherung von Daten auf den unter Performance-, Kapazitäts-, Funktionalitäts- und Kostenaspekten jeweils am besten geeigneten Medientypen. In Grundzügen wurde dieses Konzept bereits in den 1970er Jahren entwickelt. Es basiert darauf, Daten gemäß festgelegter Kriterien zwischen verschiedenen Storage-Systemen, Laufwerkstypen oder RAID-Gruppen zu verschieben und schließlich auf den jeweils im Hinblick auf Leistung, Kapazität und Kosten passenden Medien abzulegen. Es basiert auf dem Pareto-Prinzip, auch als 80-20-Regel bekannt: Nur 20 Prozent der Daten werden regelmäßig benötigt, die restlichen 80 Prozent sind nur innerhalb der ersten 30 Tage relevant. Diesen überwiegenden Teil der Daten auf einem leistungsfähigen Speicher der ersten Ebene zu belassen, wird auf Dauer zu teuer.
Der Vollständigkeit halber angemerkt: Die Nutzungshäufigkeit ist dabei nur ein Indikator, wenn auch ein wichtiger, der noch dazu leicht nachzuvollziehen ist. In der Realität spielen noch weitere Faktoren wie anwendungsspezifische Anforderungen oder die Datenverfügbarkeit für Dokumentationszwecke eine wichtige Rolle für die Klassifizierung der Daten, bevor sie von Tier 1-Speicherinstanzen zu nachgelagerten Storage-Einheiten weitergereicht werden. Heute gängig sind Architekturen mit vier bis fünf Abstufungen, wenngleich in komplexeren Infrastrukturen durchaus bis zu zehn Schichten möglich sind.
Cache-Optimierung stellt heiße Daten für die schnelle Nutzung bereit
Layering bezeichnet die Organisation der Programmierung in separate funktionale Komponenten, die in einer sequenziellen und hierarchischen Weise interagieren, wobei jede Schicht normalerweise nur eine Schnittstelle zur darüber liegenden und zur darunterliegenden Schicht hat. Oft werden die Begriffe Caching und Tiering als gleichbedeutend betrachtet. In Wirklichkeit handelt es sich aber um unterschiedliche Storage-Technologien. Beide Technologien platzieren oft benutzte („heiße“) Daten auf Hochleistungsmedien wie Flash, aber dort enden die Ähnlichkeiten bereits.
Beim Tiering werden die Daten mit hohen Zugriffsraten auf das schnellste Medium geschrieben, die mit mittleren Zugriffsraten auf Standard-Storage und die mit geringen auf langsames Storage. Caching nutzt das Schreiben auf ein Hochgeschwindigkeitsmedium, während Tiering die Daten zwischen verschiedenen Storage-Geräten verschiebt. Wenn Daten mit hohen Zugriffsraten per Tiering angesprochen werden, werden heiße Daten identifiziert und nicht nur kopiert, sondern auf das schnellste Medium verschoben.
Beim Caching kommt die Leistungssteigerung durch den beschleunigten Datenzugang, der sich dadurch ergibt, dass Daten mit hohen Zugriffsraten auf Solid State Disks (SSDs) mit hoher Geschwindigkeit zwischengespeichert werden, bevor sie auf Primär-Storage geschrieben (Schreibzugriff) oder in die System-Memory übertragen werden (Lesezugriff). Meist unterscheidet man vier Arten des Cachings:
- In seiner einfachsten Form ist Caching gewissermaßen klassisches copy + paste: Daten mit hohen Zugriffsraten oder neu generierte Daten werden von einem Standard-Speicher auf ein Hochgeschwindigkeitsmedium transferiert.
- Beim write-around SSD Caching werden Daten direkt auf Primär-Storage geschrieben und laufen anfänglich am Cache vorbei. Sie werden erst in den Cache geschrieben, wenn sie als „heiß“ identifiziert sind – also wenn feststeht, dass sie häufig genutzt werden.
- Das write-through SSD Caching schreibt die Daten auf die SSD und sofort danach auf die Primär-Storage. Aber das System kann dabei durch hohe Latenzen für Schreiboperationen auf zwei verschiedene Speicherorte ausgebremst werden.
- Write-back Cache funktioniert ähnlich, doch werden die Daten dabei sofort zur Verfügung gestellt, bevor sie auf dem Primär-Storage gespeichert werden. Das reduziert Latenz, birgt aber das Risiko eines Datenverlustes, wenn der Cache ausfällt.
NV-DIMMs schaffen Abhilfe
Bisweilen reagieren die Systeme aber eher langsam auf Anfragen des Prozessors, weswegen dieser in seiner Performance limitiert ist. Um diesen Engpass zu beseitigen, muss die Infrastruktur über schnellen, nichtflüchtigen (non-volatilen) Speicher mit hoher Speicherdichte verfügen. Seit mehreren Jahren arbeiten verschiedene Unternehmen an diesen sogenannten NV-DIMMs (Non Volatile), also nicht-flüchtigen Speichermodulen, die in DDR4-Slots passen. Intel war einst Vorreiter in diesem Segment, hat sich aber schon wieder aus dem Geschäft zurückgezogen.
Sie schließen eine wichtige Lücke im Speicherprozess: Volatile Speichersysteme wie RAM oder Cache fallen in dem Moment aus, in dem die Stromversorgung unterbrochen wird. Mitunter wurde das Problem durch angeschlossene Batterien gelöst, die den RAM noch so lange mit Strom versorgen konnten, um einen komplexen Speicherprozess anzuschließen. Diese Aufgabe können nun NV-DIMMs übernehmen. Für den IT-Verantwortlichen stellen sich dabei jedoch mehrere wichtige Fragen:
- Welche Anwendungen und Speicherprozesse, etwa in SAP-Systemen, sind so wichtig, dass sie auf jeden Fall mit einem non-volatilen Speicher abgesichert werden sollten?
- Wieviele NV-DIMM-Einheiten benötige ich dafür – welche Kosten fallen dafür an?
Hersteller in diesem Segment sind unter anderem HPE, Lenovo und Dell. Die Kosten für eine NV-DIMM beginnen bei etwa 500 Euro und reichen bis rund 2000 Euro. Seit rund einem Jahr ist NVDIMM-P erst jetzt ein offizieller JEDEC-Standard. Damit wurden die Weichen für eine breitere Nutzung von nicht flüchtigem Arbeitsspeicher gestellt.
Hier gehts zu den Storage-Systemen