SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
Boston Webinar
Erasure Coding — Was ist das eigentlich genau?
Wolfgang Stief
Senior Consultant
§  Gegründet 1992 – 24 Jahre Innovation
§  Supermicros ältester & größter globaler Partner — seit über 20 Jahren
§  Lösungshersteller mit Fokus auf Technologie (First-to-Market Strategie)
§  London HQ, Niederlassungen in London City, München, Mumbai,
Bangalore, New York. Weitere Expansion geplant.
§  Experten im Lösungs- und HPC-System-Design unter Verwendung von
Premium-Komponenten von Supermicro und ausgewählten Partnern
§  Supermicros Fastest Growing Partner
Über uns
§  Ganz ohne Mathematik geht es nicht
Historie, Grundlagen, Begriffe
§  Einsatzgebiete und Grenzen des Erasure Coding
Rechenbeispiele und das Repair Problem
§  Anwendungen und Literaturhinweise
Agenda
§  Kodierungstheorie, fehlertolerante Codes
Gebiet der Zahlentheorie (Mathematik)
1960 Coding Theory
Reed Solomon, Berlekamp-Massey
(CD, DVD, digitale Datenübertragung)
1990 RAID-6 (Evenodd, RDP, X-Code) ➛ Storage
LDPC-Codes (Tornado, Raptor, LT) ➛ Netzwerk
2000 EC in Computernetzwerken zur Datenübertragung
Regenerating Codes
2010 Non-MDS Codes (Cloud, Recovery)
Woher kommt Erasure Coding?
Grundlagen
Aufgabe: Daten so auf Storage Nodes verteilen, dass bei Ausfall von
einzelnen Knoten alle Daten noch benutzbar bzw. rekonstruierbar sind.
Daten Storage Nodes
Grundlagen
Aufgabe: Daten so auf Storage Nodes verteilen, dass bei Ausfall von
einzelnen Knoten alle Daten noch benutzbar bzw. rekonstruierbar sind.
Daten Storage Nodes
Von k, n und m (I)
Wie beschreibt man n Disks mit k gleich großen Datenbrocken +
Codierung, um einen Plattenausfall zu überleben?
k gleich große Stücke Daten insgesamt n Disks / Storage Nodes
Von k, n und m (II) — Horizontal Codes
Horizontal Erasure Code: k Data Nodes/Disks, m Coding od. Parity Nodes/
Disks. Coding/parity ist auf getrennten Nodes/Disks.
k gleich große Stücke Daten insgesamt n Disks / Storage Nodes
n = k + m
mcodingdisks
Von k, n und m (III) — Vertical Codes
Vertical Erasure Code: Code und Parity-Information liegen gemeinsam auf
einem Node/einer Disk.
k gleich große Stücke Daten insgesamt n Disks / Storage Nodes
Von k, n und m (IV) — Erasure Codes
Plattenausfall ➛ Daten auf ausgefallenen Platten werden unbrauchbar
bzw. korrupt. Dieser Fehlerzustand heißt „erasure“➛ Erasure Coding
k gleich große Stücke Daten insgesamt n Disks / Storage Nodes
n = k + m
mcodingdisks
Von k, n und m (V) — MDS
Kann der angewendete EC Algorithmus den Ausfall von m Platten
rekonstruieren, ist das ein Maximum Distance Separable Code (MDS).
k gleich große Stücke Daten insgesamt n Disks / Storage Nodes
n = k + m
mcodingdisks
§  EC(n,k), RS(n,k)
n ➛ Gesamtzahl der Nodes/Platten
k ➛ Anzahl der Datennodes/-platten
m ➛ Anzahl der Paritynodes/-platten (m=n-k)
§  Beispiel: EC(8,5)
5 Datenplatten, 3 Parityplatten
MDS = 3 (n-k)
Overhead = 8/5 (1,6) (n/k)
Notation
					 k n
m
§  Anforderung: hohe Redundanz bei vertretbarem Overhead
- mehrfache Replikation braucht viel Plattenplatz ➛ großer Overhead
§  robuste Skalierung über viele Nodes (Performance)
- RAID-5 oder RAID-6 mit >20 Platten ➛ unzuverlässig, hohe Rebuild-Zeiten
- RAID-5: m=1; RAID-6: m=2
- große Storage-Cluster (m>10)
§  häufig bei Object Storage, eher selten (noch?) bei Block Storage
§  nicht sinnvoll: sehr viele sehr kleine Files
➛ Overhead wird zu groß
Virtualisierung/Cloud: Container, Images, >50MB
Wann ist Erasure Coding sinnvoll?
§  10 Datenplatten, 3x Replikation (typ. OpenStack Swift oder Ceph)
Rechenbeispiel
					
OpenStack Swift Replica
10 Disks, 3x Replikat
➛ 30 Disks insgesamt.
Ausfall der 3 „richtigen“ Disks macht
Storage irreparabel korrupt
Erasure Code (30,10)
10 Datendisks (k), 20 Paritydisk (m)
MDS-Code: Ausfall 20 beliebige
Platten, Storage bleibt funktionsfähig.
Overhead: 30/10 = 3 (!)
Ziel: 1,2 ... 1,5 (einfacher für größere k)
Ausfall 3 Platten = EC(13,10)
Overhead: 13/10 = 1,3
Aber! Repair Problem (I)
					
§  EC(4,2)
- Evenodd Algorithmus
- MDS (Maximum Distance Separable)
§  Ausfall A1/A2A1+A2+B2
A2+B1
A2+B2
A1+B1B1
B2
A1
A2
Aber! Repair Problem (II)
					
§  je nach Algorithmus müssen
mehrere bis viele Chunks bewegt
werden
- innerhalb Storage-System tolerierbar
- in Cloud ➛ Netzwerklast
§  Ziel: Optimum aus (n,k) und EC-
Algorithmus
§  im Einzelfall „secret sauce“ des
Herstellers
A1+A2+B2
A2+B1
A2+B2
A1+B1B1
B2
A1
A2
A1➛?
A2➛?
B2
A2+B2
A1+A2+B2
§  BeeGFS
§  teutoStack (OpenStack Swift)
§  Hadoop, Ceph (Appliance @ Boston)
§  Lustre Filesystem
§  All-Flash-Arrays (Zukunft)
für Array-interne Redundanz („RAID-Level“)
Wo läuft‘s?
§  Erasure Coding ist ein mathematisches Verfahren, um Daten mit
Redundanz zu versehen.
§  Erasure Coding bringt hohe Redundanz bei vergleichsweise
geringem Platz-Overhead.
§  EC(20,16) bedeutet, dass 16 Daten-Chunks auf 20 Speicher-Chunks
verteilt werden. Es können bis zu 4 Speicher-Chunks gleichzeitig
ausfallen, ohne dass Daten korrumpieren.
§  Die Reparatur per Erasure Coding kann CPU-intensiv sein und
vergleichsweise hohe I/O-Last bzw. Netzwerklast erzeugen.
Was Sie von heute mitnehmen sollten
§  Wikipedia (englisch) zu Erasure Coding und Foreward Error Correction
https://en.wikipedia.org/wiki/Erasure_code
https://en.wikipedia.org/wiki/Forward_error_correction
§  Paper: Repairing Erasure Codes, Dimitris S. Papailiopoulos
https://www.usenix.org/legacy/event/fast11/posters_files/Papailiopoulos.pdf
§  The Repair Problem (Erasure Coding for Distributed Storage Wiki)
http://storagewiki.ece.utexas.edu/doku.php?id=wiki:definitions:repair_problem
§  Tutorial on Erasure Coding for Storage Applications, James S. Plank
http://web.eecs.utk.edu/~plank/plank/papers/2013-02-11-FAST-Tutorial.pdf
Zum Weiterlesen
Kontakt
+49 89 9090199-3
www.boston-it.de
sales@boston-it.de
BostonITsolutions
@BostonGermany
Boston-server-&-storage-solutions-gmbh

Weitere ähnliche Inhalte

Was ist angesagt?

20111006 roadshow-sandy-bridge
20111006 roadshow-sandy-bridge20111006 roadshow-sandy-bridge
20111006 roadshow-sandy-bridgeWerner Fischer
 
Geforce PräSentation by Sebastian Berndt
Geforce PräSentation by Sebastian BerndtGeforce PräSentation by Sebastian Berndt
Geforce PräSentation by Sebastian Berndtgueste16dcd
 
DOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 Server
DOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 ServerDOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 Server
DOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 ServerJomaSoft
 
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...NETWAYS
 
Integrierte und dedizierte Backup Lösung von GFI MAX
Integrierte und dedizierte Backup Lösung von GFI MAXIntegrierte und dedizierte Backup Lösung von GFI MAX
Integrierte und dedizierte Backup Lösung von GFI MAXMAX2014DACH
 
Introduction to the command line
Introduction to the command lineIntroduction to the command line
Introduction to the command linesteffenbauer
 
Archivistavm OpenTuesday Digicomp
Archivistavm OpenTuesday DigicompArchivistavm OpenTuesday Digicomp
Archivistavm OpenTuesday DigicompDigicomp Academy AG
 
Hadoop aus IT-Operations-Sicht - Teil 2 (Hardware- und Netzwerkgrundlagen)
Hadoop aus IT-Operations-Sicht - Teil 2 (Hardware- und Netzwerkgrundlagen)Hadoop aus IT-Operations-Sicht - Teil 2 (Hardware- und Netzwerkgrundlagen)
Hadoop aus IT-Operations-Sicht - Teil 2 (Hardware- und Netzwerkgrundlagen)inovex GmbH
 

Was ist angesagt? (12)

20111006 roadshow-sandy-bridge
20111006 roadshow-sandy-bridge20111006 roadshow-sandy-bridge
20111006 roadshow-sandy-bridge
 
Geforce PräSentation by Sebastian Berndt
Geforce PräSentation by Sebastian BerndtGeforce PräSentation by Sebastian Berndt
Geforce PräSentation by Sebastian Berndt
 
DOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 Server
DOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 ServerDOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 Server
DOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 Server
 
Pc präsentation
Pc präsentationPc präsentation
Pc präsentation
 
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
 
Laptop
LaptopLaptop
Laptop
 
Integrierte und dedizierte Backup Lösung von GFI MAX
Integrierte und dedizierte Backup Lösung von GFI MAXIntegrierte und dedizierte Backup Lösung von GFI MAX
Integrierte und dedizierte Backup Lösung von GFI MAX
 
Introduction to the command line
Introduction to the command lineIntroduction to the command line
Introduction to the command line
 
BIT I WiSe 2014 | Basisinformationstechnologie I - 04: Rechnertechnologie I
BIT I WiSe 2014 | Basisinformationstechnologie I - 04: Rechnertechnologie IBIT I WiSe 2014 | Basisinformationstechnologie I - 04: Rechnertechnologie I
BIT I WiSe 2014 | Basisinformationstechnologie I - 04: Rechnertechnologie I
 
Archivistavm OpenTuesday Digicomp
Archivistavm OpenTuesday DigicompArchivistavm OpenTuesday Digicomp
Archivistavm OpenTuesday Digicomp
 
Hadoop aus IT-Operations-Sicht - Teil 2 (Hardware- und Netzwerkgrundlagen)
Hadoop aus IT-Operations-Sicht - Teil 2 (Hardware- und Netzwerkgrundlagen)Hadoop aus IT-Operations-Sicht - Teil 2 (Hardware- und Netzwerkgrundlagen)
Hadoop aus IT-Operations-Sicht - Teil 2 (Hardware- und Netzwerkgrundlagen)
 
Referat bun
Referat bunReferat bun
Referat bun
 

Ähnlich wie Was genau macht eigentlich Erasure Coding, und wozu braucht man das?

Erasure coding stief.tech 2020-03
Erasure coding stief.tech 2020-03Erasure coding stief.tech 2020-03
Erasure coding stief.tech 2020-03data://disrupted®
 
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDASchulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDAJörn Dinkla
 
Komfortables LaTeX mit (X)Emacs und AUCTeX
Komfortables LaTeX mit (X)Emacs und AUCTeXKomfortables LaTeX mit (X)Emacs und AUCTeX
Komfortables LaTeX mit (X)Emacs und AUCTeXflimm
 
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)data://disrupted®
 
SSD vs HDD: Risiken und Nebenwirkungen der Flash-Technologie - Webinar
SSD vs HDD: Risiken und Nebenwirkungen der Flash-Technologie - WebinarSSD vs HDD: Risiken und Nebenwirkungen der Flash-Technologie - Webinar
SSD vs HDD: Risiken und Nebenwirkungen der Flash-Technologie - WebinarKroll Ontrack GmbH
 
SSD vs. HDD, Risiken und Nebenwirkungen der Flash Technologie
SSD vs. HDD, Risiken und Nebenwirkungen der Flash TechnologieSSD vs. HDD, Risiken und Nebenwirkungen der Flash Technologie
SSD vs. HDD, Risiken und Nebenwirkungen der Flash TechnologieKroll Ontrack GmbH
 
Java Streams und Lambdas
Java Streams und LambdasJava Streams und Lambdas
Java Streams und LambdasNane Kratzke
 
Apache Cassandra - Einführung
Apache Cassandra - EinführungApache Cassandra - Einführung
Apache Cassandra - EinführungAndreas Finke
 
Atmel AVR RISC μC unter GNU/Linux programmieren
Atmel AVR RISC μC unter GNU/Linux programmierenAtmel AVR RISC μC unter GNU/Linux programmieren
Atmel AVR RISC μC unter GNU/Linux programmierenrzbrk
 
Solr & Cassandra: Searching Cassandra with DataStax Enterprise
Solr & Cassandra: Searching Cassandra with DataStax EnterpriseSolr & Cassandra: Searching Cassandra with DataStax Enterprise
Solr & Cassandra: Searching Cassandra with DataStax EnterpriseDataStax Academy
 
20101011 roadshow-2010-ssds-grundlagen-know-how-und-konkrete-konfiguration-fuer
20101011 roadshow-2010-ssds-grundlagen-know-how-und-konkrete-konfiguration-fuer20101011 roadshow-2010-ssds-grundlagen-know-how-und-konkrete-konfiguration-fuer
20101011 roadshow-2010-ssds-grundlagen-know-how-und-konkrete-konfiguration-fuerWerner Fischer
 
Tech Talk Cassandra
Tech Talk CassandraTech Talk Cassandra
Tech Talk Cassandraadesso AG
 

Ähnlich wie Was genau macht eigentlich Erasure Coding, und wozu braucht man das? (12)

Erasure coding stief.tech 2020-03
Erasure coding stief.tech 2020-03Erasure coding stief.tech 2020-03
Erasure coding stief.tech 2020-03
 
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDASchulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
 
Komfortables LaTeX mit (X)Emacs und AUCTeX
Komfortables LaTeX mit (X)Emacs und AUCTeXKomfortables LaTeX mit (X)Emacs und AUCTeX
Komfortables LaTeX mit (X)Emacs und AUCTeX
 
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
 
SSD vs HDD: Risiken und Nebenwirkungen der Flash-Technologie - Webinar
SSD vs HDD: Risiken und Nebenwirkungen der Flash-Technologie - WebinarSSD vs HDD: Risiken und Nebenwirkungen der Flash-Technologie - Webinar
SSD vs HDD: Risiken und Nebenwirkungen der Flash-Technologie - Webinar
 
SSD vs. HDD, Risiken und Nebenwirkungen der Flash Technologie
SSD vs. HDD, Risiken und Nebenwirkungen der Flash TechnologieSSD vs. HDD, Risiken und Nebenwirkungen der Flash Technologie
SSD vs. HDD, Risiken und Nebenwirkungen der Flash Technologie
 
Java Streams und Lambdas
Java Streams und LambdasJava Streams und Lambdas
Java Streams und Lambdas
 
Apache Cassandra - Einführung
Apache Cassandra - EinführungApache Cassandra - Einführung
Apache Cassandra - Einführung
 
Atmel AVR RISC μC unter GNU/Linux programmieren
Atmel AVR RISC μC unter GNU/Linux programmierenAtmel AVR RISC μC unter GNU/Linux programmieren
Atmel AVR RISC μC unter GNU/Linux programmieren
 
Solr & Cassandra: Searching Cassandra with DataStax Enterprise
Solr & Cassandra: Searching Cassandra with DataStax EnterpriseSolr & Cassandra: Searching Cassandra with DataStax Enterprise
Solr & Cassandra: Searching Cassandra with DataStax Enterprise
 
20101011 roadshow-2010-ssds-grundlagen-know-how-und-konkrete-konfiguration-fuer
20101011 roadshow-2010-ssds-grundlagen-know-how-und-konkrete-konfiguration-fuer20101011 roadshow-2010-ssds-grundlagen-know-how-und-konkrete-konfiguration-fuer
20101011 roadshow-2010-ssds-grundlagen-know-how-und-konkrete-konfiguration-fuer
 
Tech Talk Cassandra
Tech Talk CassandraTech Talk Cassandra
Tech Talk Cassandra
 

Mehr von BOSTON Server & Storage Solutions GmbH

Seagate – Next Level Storage (Webinar mit Boston Server & Storage, 2018 09-28)
Seagate – Next Level Storage (Webinar mit Boston Server & Storage,  2018 09-28)Seagate – Next Level Storage (Webinar mit Boston Server & Storage,  2018 09-28)
Seagate – Next Level Storage (Webinar mit Boston Server & Storage, 2018 09-28)BOSTON Server & Storage Solutions GmbH
 
Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...
Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...
Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...BOSTON Server & Storage Solutions GmbH
 
Datera — Elastic Data Fabric Storage für das Rechenzentrum von heute
Datera — Elastic Data Fabric Storage für das Rechenzentrum von heuteDatera — Elastic Data Fabric Storage für das Rechenzentrum von heute
Datera — Elastic Data Fabric Storage für das Rechenzentrum von heuteBOSTON Server & Storage Solutions GmbH
 
Webinar Boston Igloo Plus All-Flash-Array mit AccelStor FlexiRemap Technology
Webinar Boston Igloo Plus All-Flash-Array mit AccelStor FlexiRemap TechnologyWebinar Boston Igloo Plus All-Flash-Array mit AccelStor FlexiRemap Technology
Webinar Boston Igloo Plus All-Flash-Array mit AccelStor FlexiRemap TechnologyBOSTON Server & Storage Solutions GmbH
 

Mehr von BOSTON Server & Storage Solutions GmbH (10)

Storage, Backup und Business Continuity mit Open-E
Storage, Backup und Business Continuity mit Open-EStorage, Backup und Business Continuity mit Open-E
Storage, Backup und Business Continuity mit Open-E
 
Seagate – Next Level Storage (Webinar mit Boston Server & Storage, 2018 09-28)
Seagate – Next Level Storage (Webinar mit Boston Server & Storage,  2018 09-28)Seagate – Next Level Storage (Webinar mit Boston Server & Storage,  2018 09-28)
Seagate – Next Level Storage (Webinar mit Boston Server & Storage, 2018 09-28)
 
Welcome to the Datasphere – the next level of storage
Welcome to the Datasphere – the next level of storageWelcome to the Datasphere – the next level of storage
Welcome to the Datasphere – the next level of storage
 
SuperSUSE – die Lösung für dynamisch wachsenden Speicher
SuperSUSE – die Lösung für dynamisch wachsenden SpeicherSuperSUSE – die Lösung für dynamisch wachsenden Speicher
SuperSUSE – die Lösung für dynamisch wachsenden Speicher
 
Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...
Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...
Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...
 
Datera — Elastic Data Fabric Storage für das Rechenzentrum von heute
Datera — Elastic Data Fabric Storage für das Rechenzentrum von heuteDatera — Elastic Data Fabric Storage für das Rechenzentrum von heute
Datera — Elastic Data Fabric Storage für das Rechenzentrum von heute
 
Webinar: Boston Igloo Plus mit AccelStor FlexiRemap Technologie
Webinar: Boston Igloo Plus mit AccelStor FlexiRemap TechnologieWebinar: Boston Igloo Plus mit AccelStor FlexiRemap Technologie
Webinar: Boston Igloo Plus mit AccelStor FlexiRemap Technologie
 
Webinar Boston Igloo Plus All-Flash-Array mit AccelStor FlexiRemap Technology
Webinar Boston Igloo Plus All-Flash-Array mit AccelStor FlexiRemap TechnologyWebinar Boston Igloo Plus All-Flash-Array mit AccelStor FlexiRemap Technology
Webinar Boston Igloo Plus All-Flash-Array mit AccelStor FlexiRemap Technology
 
Boston webcast hyperconverged_2016-06
Boston webcast hyperconverged_2016-06Boston webcast hyperconverged_2016-06
Boston webcast hyperconverged_2016-06
 
Boston webcast nv_me_2016-09
Boston webcast nv_me_2016-09Boston webcast nv_me_2016-09
Boston webcast nv_me_2016-09
 

Was genau macht eigentlich Erasure Coding, und wozu braucht man das?

  • 1. Boston Webinar Erasure Coding — Was ist das eigentlich genau? Wolfgang Stief Senior Consultant
  • 2. §  Gegründet 1992 – 24 Jahre Innovation §  Supermicros ältester & größter globaler Partner — seit über 20 Jahren §  Lösungshersteller mit Fokus auf Technologie (First-to-Market Strategie) §  London HQ, Niederlassungen in London City, München, Mumbai, Bangalore, New York. Weitere Expansion geplant. §  Experten im Lösungs- und HPC-System-Design unter Verwendung von Premium-Komponenten von Supermicro und ausgewählten Partnern §  Supermicros Fastest Growing Partner Über uns
  • 3. §  Ganz ohne Mathematik geht es nicht Historie, Grundlagen, Begriffe §  Einsatzgebiete und Grenzen des Erasure Coding Rechenbeispiele und das Repair Problem §  Anwendungen und Literaturhinweise Agenda
  • 4. §  Kodierungstheorie, fehlertolerante Codes Gebiet der Zahlentheorie (Mathematik) 1960 Coding Theory Reed Solomon, Berlekamp-Massey (CD, DVD, digitale Datenübertragung) 1990 RAID-6 (Evenodd, RDP, X-Code) ➛ Storage LDPC-Codes (Tornado, Raptor, LT) ➛ Netzwerk 2000 EC in Computernetzwerken zur Datenübertragung Regenerating Codes 2010 Non-MDS Codes (Cloud, Recovery) Woher kommt Erasure Coding?
  • 5. Grundlagen Aufgabe: Daten so auf Storage Nodes verteilen, dass bei Ausfall von einzelnen Knoten alle Daten noch benutzbar bzw. rekonstruierbar sind. Daten Storage Nodes
  • 6. Grundlagen Aufgabe: Daten so auf Storage Nodes verteilen, dass bei Ausfall von einzelnen Knoten alle Daten noch benutzbar bzw. rekonstruierbar sind. Daten Storage Nodes
  • 7. Von k, n und m (I) Wie beschreibt man n Disks mit k gleich großen Datenbrocken + Codierung, um einen Plattenausfall zu überleben? k gleich große Stücke Daten insgesamt n Disks / Storage Nodes
  • 8. Von k, n und m (II) — Horizontal Codes Horizontal Erasure Code: k Data Nodes/Disks, m Coding od. Parity Nodes/ Disks. Coding/parity ist auf getrennten Nodes/Disks. k gleich große Stücke Daten insgesamt n Disks / Storage Nodes n = k + m mcodingdisks
  • 9. Von k, n und m (III) — Vertical Codes Vertical Erasure Code: Code und Parity-Information liegen gemeinsam auf einem Node/einer Disk. k gleich große Stücke Daten insgesamt n Disks / Storage Nodes
  • 10. Von k, n und m (IV) — Erasure Codes Plattenausfall ➛ Daten auf ausgefallenen Platten werden unbrauchbar bzw. korrupt. Dieser Fehlerzustand heißt „erasure“➛ Erasure Coding k gleich große Stücke Daten insgesamt n Disks / Storage Nodes n = k + m mcodingdisks
  • 11. Von k, n und m (V) — MDS Kann der angewendete EC Algorithmus den Ausfall von m Platten rekonstruieren, ist das ein Maximum Distance Separable Code (MDS). k gleich große Stücke Daten insgesamt n Disks / Storage Nodes n = k + m mcodingdisks
  • 12. §  EC(n,k), RS(n,k) n ➛ Gesamtzahl der Nodes/Platten k ➛ Anzahl der Datennodes/-platten m ➛ Anzahl der Paritynodes/-platten (m=n-k) §  Beispiel: EC(8,5) 5 Datenplatten, 3 Parityplatten MDS = 3 (n-k) Overhead = 8/5 (1,6) (n/k) Notation k n m
  • 13. §  Anforderung: hohe Redundanz bei vertretbarem Overhead - mehrfache Replikation braucht viel Plattenplatz ➛ großer Overhead §  robuste Skalierung über viele Nodes (Performance) - RAID-5 oder RAID-6 mit >20 Platten ➛ unzuverlässig, hohe Rebuild-Zeiten - RAID-5: m=1; RAID-6: m=2 - große Storage-Cluster (m>10) §  häufig bei Object Storage, eher selten (noch?) bei Block Storage §  nicht sinnvoll: sehr viele sehr kleine Files ➛ Overhead wird zu groß Virtualisierung/Cloud: Container, Images, >50MB Wann ist Erasure Coding sinnvoll?
  • 14. §  10 Datenplatten, 3x Replikation (typ. OpenStack Swift oder Ceph) Rechenbeispiel OpenStack Swift Replica 10 Disks, 3x Replikat ➛ 30 Disks insgesamt. Ausfall der 3 „richtigen“ Disks macht Storage irreparabel korrupt Erasure Code (30,10) 10 Datendisks (k), 20 Paritydisk (m) MDS-Code: Ausfall 20 beliebige Platten, Storage bleibt funktionsfähig. Overhead: 30/10 = 3 (!) Ziel: 1,2 ... 1,5 (einfacher für größere k) Ausfall 3 Platten = EC(13,10) Overhead: 13/10 = 1,3
  • 15. Aber! Repair Problem (I) §  EC(4,2) - Evenodd Algorithmus - MDS (Maximum Distance Separable) §  Ausfall A1/A2A1+A2+B2 A2+B1 A2+B2 A1+B1B1 B2 A1 A2
  • 16. Aber! Repair Problem (II) §  je nach Algorithmus müssen mehrere bis viele Chunks bewegt werden - innerhalb Storage-System tolerierbar - in Cloud ➛ Netzwerklast §  Ziel: Optimum aus (n,k) und EC- Algorithmus §  im Einzelfall „secret sauce“ des Herstellers A1+A2+B2 A2+B1 A2+B2 A1+B1B1 B2 A1 A2 A1➛? A2➛? B2 A2+B2 A1+A2+B2
  • 17. §  BeeGFS §  teutoStack (OpenStack Swift) §  Hadoop, Ceph (Appliance @ Boston) §  Lustre Filesystem §  All-Flash-Arrays (Zukunft) für Array-interne Redundanz („RAID-Level“) Wo läuft‘s?
  • 18. §  Erasure Coding ist ein mathematisches Verfahren, um Daten mit Redundanz zu versehen. §  Erasure Coding bringt hohe Redundanz bei vergleichsweise geringem Platz-Overhead. §  EC(20,16) bedeutet, dass 16 Daten-Chunks auf 20 Speicher-Chunks verteilt werden. Es können bis zu 4 Speicher-Chunks gleichzeitig ausfallen, ohne dass Daten korrumpieren. §  Die Reparatur per Erasure Coding kann CPU-intensiv sein und vergleichsweise hohe I/O-Last bzw. Netzwerklast erzeugen. Was Sie von heute mitnehmen sollten
  • 19. §  Wikipedia (englisch) zu Erasure Coding und Foreward Error Correction https://en.wikipedia.org/wiki/Erasure_code https://en.wikipedia.org/wiki/Forward_error_correction §  Paper: Repairing Erasure Codes, Dimitris S. Papailiopoulos https://www.usenix.org/legacy/event/fast11/posters_files/Papailiopoulos.pdf §  The Repair Problem (Erasure Coding for Distributed Storage Wiki) http://storagewiki.ece.utexas.edu/doku.php?id=wiki:definitions:repair_problem §  Tutorial on Erasure Coding for Storage Applications, James S. Plank http://web.eecs.utk.edu/~plank/plank/papers/2013-02-11-FAST-Tutorial.pdf Zum Weiterlesen