Anzeige

Was versteht man unter Dual-Layer Erasure-Coding?

Leserfrage: Das Erasure-Coding ist bekannt und wurde auch schon mehrmals beschrieben. Nun sind wir zuletzt mehrfach auf den Begriff Dual-Layer Erasure-Coding gestoßen. Was verbirgt sich dahinter bzw. was sollte man dazu wissen?

Antwort Doc Storage:

Vor allem vor dem Hintergrund damals neuer Anwendungen im Edge-Computing wurde bereits am 30. Mai 2017 ein zweischichtiges, löschcodiertes, fehlertolerantes, verteiltes Speichersystem vorgestellt, welches granularen Zugriff für Lese- und Schreibvorgänge bietet. Das System wurde von Nancy Lynch, Kishori Konwar, N. Prakash und Muriel Medard konzipiert.

Beim Edge-Computing kommunizieren Clients mit einer Schicht von Servern, welche sich geografisch in ihrer Nähe befinden. Diese »Edge« genannte Schicht kommuniziert wiederum mit einer weiteren Schicht von Servern, dem »Back End«. Die Edge-Server bieten geringe Zugriffszeiten, temporären Speicher für Client-Vorgänge und verwenden die Server im Back End zur dauerhaften Datenablage. Der hierzu verwendete Algorithmus LDS (Layered Data Storage) bietet verschiedene für das Edge-Computing geeignete Funktionen, arbeitet in asynchronen Umgebungen für die Nachrichtenübermittlung, unterstützt parallele Lese- und Schreibvorgänge und kann in verschiedenen Güteklassen den Ausfall von Hardware tolerieren. Die Methode verwendet Löschcodes (Regenerierungscodes), um Daten im Back End zu speichern.

Anzeige

Im Vergleich zu den bisher üblichen Methoden (z.B. Reed-Solomon-Codes) bieten diese neu zu generierenden Löschcodes nicht nur geringere Kosten für den Speicher im Back-End, sondern senken auch die Kosten für die Kommunikation bei Lesevorgängen, falls Werte vollständig von neu erstellt werden müssen. Diese zweischichtige (dual layer) Architektur ermöglicht eine modulare Implementierung von Protokollen für atomare Codes und solchen für Löschvorgänge. Die Löschcodes beschränken sich hierbei hauptsächlich auf die Interaktion zwischen beiden Schichten.

Die Leistungskosten, die mit Lese- und Schreibvorgängen verbunden sind, lassen sich hierbei auch einfach herleiten. Werden in einem System mehrere unabhängige LDS-Instanzen ausgeführt und hält dieses System daneben mehrere Objekte, und wird zu einem beliebigen Zeitpunkt während der Ausführung nur ein kleiner Teil der Objekte gleichzeitig aufgerufen, sind die Gesamtspeicherkosten von denen des persistenten Speichers in der Back-End-Schicht abhängig.

Soviel zur Theorie. In der Zwischenzeit haben einige Anbieter, sowohl im Speicher- als auch im Cloud-Bereich, dieses Konzept adaptiert und bieten zum Teil Lösungen auf dessen Basis an. Beispiele sind Microsoft mit Azure, IBM mit ihrem Spectrum Scale oder NetApp.

Gruß
Doc Storage

Anzeige