SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Erasure Coding in Theorie und Praxis
Wolfgang Stief
❖open minded geek & engineer
❖Dipl.-Ing.
Elektrische Energietechnik
❖selbständig (2011) – sys4 AG (2012) – speicherguide.de (2019)
technisches Marketing, Erklärbär, Projektmanagement, Vorstand
❖Cray-Cyber.org
#vintagecomputing
❖ @stiefkind / @SpeicherStief (Twitter)
stiefkind@mastodon.social
https://www.linkedin.com/in/wstief/
$ whoami
STIEF
con I
$ ls
❖Motivation – Warum überhaupt Erasure Coding?
❖Historie
❖Mathematik
❖Begriffe und Begriffsdefinition
❖Ein einfaches Beispiel
❖Grenzen des Erasure Coding
❖Wie schaut’s in der Praxis aus?
❖Zum Weiterlernen
Motivation
Motivation
❖Restorezeiten/Plattengrößen
SATA 3.0 = 6 Gb/s – 20 TB HDDs
SAS-3 = 12 Gb/s
❖Datenmengen
VM-Images, Docker, unstrukturierte Daten in Unternehmen
❖Ausfallwahrscheinlichkeiten von Platten steigt
block error rate == konstant
WD Ultrastar DC HC500/300/200 = 1E15 für 2/8/14 TB
Seagate Exos = 1E16 für 300/600/900 GB
❖Ausfall >2 Disks?
❖RAID-5/6 ist ungeeignet für NVMe/Flash
❖Flexibilität (Performance vs. Zuverlässigkeit)
Historie
❖Kodierungstheorie, fehlertolerante Systeme, Zahlentheorie
❖1960: Reed-Solomon, Hamming, Berlekamp-Massey, Signalübertragung, CD/DVD
❖1990: RAID-6, Evenodd, RDP, LDPC
Reliable Data Protocol (RFC 908, RFC 1151, Datenkommunikation)
Low Density Parity Check Code (DVB-S2, IEEE 802.11n)
❖2000: EC @ Netzwerk, Regenerating Codes
❖2010: Non-MDS
❖2012: Locally Repairable Code (LRC)
Mathematik
Mathematik
❖ Lineare Algebra, Gleichungssystem, Matrizen
❖ Ingenieurdenke
n Unbekannte erfordern maximal n voneinander
unabhängige Gleichungen.
❖ Erasure Coding
Redundanz gewollt, deshalb für n Unbekannte >n
Gleichungen erforderlich
❖ Ziel: Gleichungen so wählen, dass Redundanz gegeben ist
aber Rechenaufwand und Datentransfer so gering wie
möglich ist.
❖ Erasure Coding == Forward Error Correction
[
1 −3 2
−1 0 4
2 0 1]
1 = 3x1 + 2x2 − x3
−2 = 2x1 − 2x2 + 4x3
0 = − x1 + 4x2 − x3
Mathematik
We have studied the problem of (m, n; l, g)
LRC codes and presented some simple
constructions for the case l+g < n. The size
of the field is q≥mn and in some cases
(when in addition, g ≤ l + 1), q ≥ n.
Mario Blaum – On Locally Recoverable (LRC) Codes (Dezember 2015)
https://www.researchgate.net/publication/287854122_On_Locally_Recoverable_LRC_Codes
Begriffe
Aufgabe: Daten so auf Storage Nodes verteilen, dass bei Ausfall
einzelner Knoten alle Daten noch benutzbar bzw. rekonstruierbar sind.
Daten Storage Nodes
Begriffe – k, n, m – EC(n,k)
Finde eine Codierung so, dass k gleich große Stücke Daten mit m ebenso
großen Stücken Redundanz angereichert und so insgesamt n gleich große
Stücke Information verteilt werden müssen: EC(n,k)
k gleich große Stücke Daten insgesamt n Disks / Storage Nodes
Begriffe – horizontal vs. vertikal
Horizontal Code Vertical Code
Begriffe – Erasure Coding
Fehlerzustand “erasure”:
Information wird unbrauchbar und muss rekonstruiert werden
Begriffe – MDS
Maximum Distance Separable (MDS) Code:
Der verwendete EC-Algorithmus kann den Ausfall von m Disks rekonstruieren.
k gleich große Stücke Daten insgesamt n Disks / Storage Nodes
n = k + m
mcodingdisks
Begriffe – Notation
❖EC(n,k)
n ➛ Gesamtzahl der Chunks/Platten/Nodes
k ➛ Anzahl der Daten-Chunks (Shards)
m ➛ Anzahl Codierungs-Chunks (m=n-k)
❖Beispiel: EC(20,16)
16 Daten-Chunks, 4 Coding-Chunks
MDS = 4 (n-k)
Overhead = 20/16 = 1,25 (n/k)
k n
m
Ein einfaches Beispiel
❖ EC(4,2)
2 Data Shards, 2 Coding Shards
MDS = 2
Overhead = 2
A1+A2
A2
A1A1
A2
A
A1+2A2
split code
😕
Repair Problem
❖ EC(8,4)
Evenodd
❖ Ausfall A1+A2
A2+B1
A2+B2
A1+B1B1
B2
A1
A2 A1+A2+B2
Repair Problem
❖ u. U. müssen viele (und große)
Chunks bewegt werden
➛ tolerierbar innerhalb Storage-System
➛ Netzwerklast @ RZ/Cloud
❖ Ziel: Optimum aus (n,k) und EC-
Algorithmus
❖ Erweiterung um LRC
Locally Repairable Codes
== Locally Decodable Codes
A2+B1
A2+B2
A1+B1B1
B2
A1
A2
A1➛?
A2➛?
B2
A2+B2
A1+A2+B2
A1+A2+B2
Locally Repairable Code – LRC
❖Lokale Parity
nur gültig innerhalb des Nodes
❖Globale Parity
für Erasures > lokal
❖Ausfall einer einzelnen Platte ist
sehr viel wahrscheinlicher, als
Ausfall mehrerer, verteilter
Platten.
❖Lokale Reparatur braucht keine
globale Bandbreite!
LP2 LP3LP1
D2
D4
D1
D3
LP4
D6
D8
D5
D7
GP1
GP2
Erasure Coding pro/contra
✓ hohe Redundanz bei vertretbarem Aufwand
mehrfache Replikation braucht vielfachen Platz
✓ robuste Skalierung über viele Nodes
RAID funktioniert nur innerhalb eines Nodes
✓ Gut geeignet für Object Storage und Multimedia-Inhalte
- Repair Problem
- Nicht geeignet für kleine Dateien
häufig Untergrenze für Filesize implementiert, darunter Replikation anstatt EC
Implementierungen
❖Kommerziell vs. OpenSource
As usual: kommerzielle Hersteller machen immer “secret sauce”, kaum Details einsehbar.
❖NetApp
EC == RAID-6, NetApp StorageGRID 11.2 Manual
https://library.netapp.com/ecm/ecm_download_file/ECMLP2848253
❖Nyriad NSULATE
High Parity Erasure Coding (max. 255 Parity Disks), Erasure Coding in GPU
https://www.youtube.com/watch?v=BVji7uENZyU&t=2s
❖Scality RING
EC immer auf 12 Disks, Verhältnis Data/Parity darin wählbar, default EC(12,9)
Implementierungen
❖Hadoop HDFS
EC by design
Xorbas – LRC-Erweiterung für Hadoop (2013, u. a. Facebook)
❖Ceph
Verschiedene Algorithmen mit individuell anpassbaren Settings
https://docs.ceph.com/docs/mimic/rados/operations/erasure-code/
❖DRBD
Erasure coding. DRBD will be able to erasure code and distribute its data. This provides the same functionality
as RAID5/6, but with an arbitrary number of parity nodes. The result is lower disk usage with similar
redundancy characteristics.
[DRBD-user] drbd-10.0.0a1 (Mailinglist, 2019-08-05)
https://lists.linbit.com/pipermail/drbd-user/2019-August/025180.html
❖Quobyte, Rubrik, Backblaze, Datrium, Hedvig, RozoFS, …
????
❖Google Compute Engine
“Cloud Storage is designed for 99.999999999% (11 9's) annual durability, which is appropriate for even primary
storage and business-critical applications. This high durability level is achieved through erasure coding that
stores data pieces redundantly across multiple devices located in multiple availability zones.”
https://cloud.google.com/storage/docs/faq
❖Amazon S3
❖Microsoft Azure
❖DigitalOcean
Implementierungen – Cloud
Zum Weiterlernen
❖Erasure Codes for Large Scale Distributed Storage
https://www.youtube.com/watch?v=TPZyW_CnXGQ
❖Erasure coding for data storage
https://www.youtube.com/watch?v=3R6K7LnqLuk
❖Codierungstheorie
Ralph-Hardo Schulz, Vieweg, 2003
❖Fehlerkorrigierende Codes
Olaf Manz, Springer, 2016
❖Introduction to Error-Correcting Codes
Michael Purser, Artech House, 1994
❖Introduction to the Theory of Error-Correcting Codes
Vera Pless, Wiley, 1998
EOF – Diskussion
ws@stief-consulting.de
@stiefkind / @SpeicherStief
https://www.linkedin.com/in/wstief/
https://speakerdeck.com/stiefkind

Weitere ähnliche Inhalte

Ähnlich wie Erasure coding stief.tech 2020-03

Webinar Big Data - Enterprise Readiness mit Hadoop
Webinar Big Data - Enterprise Readiness mit HadoopWebinar Big Data - Enterprise Readiness mit Hadoop
Webinar Big Data - Enterprise Readiness mit Hadoopfun communications GmbH
 
Multi-GPU-Computing: Eins, zwei, drei, ganz viele
Multi-GPU-Computing: Eins, zwei, drei, ganz vieleMulti-GPU-Computing: Eins, zwei, drei, ganz viele
Multi-GPU-Computing: Eins, zwei, drei, ganz vieleJörn Dinkla
 
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
 
Production-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 WochenProduction-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 WochenAndré Goliath
 
ASSISTRA präsentiert Actifio
ASSISTRA präsentiert ActifioASSISTRA präsentiert Actifio
ASSISTRA präsentiert ActifioASSISTRA AG
 
Meet Magento - High performance magento
Meet Magento - High performance magentoMeet Magento - High performance magento
Meet Magento - High performance magentoAOE
 
Einführung in NoSQL-Datenbanken
Einführung in NoSQL-DatenbankenEinführung in NoSQL-Datenbanken
Einführung in NoSQL-DatenbankenTobias Trelle
 
Praktische Erfahrungen mit den kleinen SPARC S7-2 Servern
Praktische Erfahrungen mit den kleinen SPARC S7-2 ServernPraktische Erfahrungen mit den kleinen SPARC S7-2 Servern
Praktische Erfahrungen mit den kleinen SPARC S7-2 ServernJomaSoft
 
GPU-Computing mit CUDA und OpenCL in der Praxis
GPU-Computing mit CUDA und OpenCL in der PraxisGPU-Computing mit CUDA und OpenCL in der Praxis
GPU-Computing mit CUDA und OpenCL in der PraxisJörn Dinkla
 
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
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...NETWAYS
 
Caching - Hintergründe, Patterns und Best Practices
Caching - Hintergründe, Patterns und Best PracticesCaching - Hintergründe, Patterns und Best Practices
Caching - Hintergründe, Patterns und Best PracticesMichael Plöd
 
Where are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_istWhere are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_istRamon Anger
 
Business Intelligence, Big Data und Search - Drei Seiten einer Medaille?
Business Intelligence, Big Data und Search - Drei Seiten einer Medaille?Business Intelligence, Big Data und Search - Drei Seiten einer Medaille?
Business Intelligence, Big Data und Search - Drei Seiten einer Medaille?inovex GmbH
 
Semantic Web - Technik und Einsatz
Semantic Web - Technik und EinsatzSemantic Web - Technik und Einsatz
Semantic Web - Technik und EinsatzBenjamin Nowack
 
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...AWS Germany
 
Cyber Crime leeds to Tape Air-Gap Protection
Cyber Crime leeds to Tape Air-Gap ProtectionCyber Crime leeds to Tape Air-Gap Protection
Cyber Crime leeds to Tape Air-Gap ProtectionJosef Weingand
 
MySQL HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and SecurityFromDual GmbH
 

Ähnlich wie Erasure coding stief.tech 2020-03 (20)

Webinar Big Data - Enterprise Readiness mit Hadoop
Webinar Big Data - Enterprise Readiness mit HadoopWebinar Big Data - Enterprise Readiness mit Hadoop
Webinar Big Data - Enterprise Readiness mit Hadoop
 
Multi-GPU-Computing: Eins, zwei, drei, ganz viele
Multi-GPU-Computing: Eins, zwei, drei, ganz vieleMulti-GPU-Computing: Eins, zwei, drei, ganz viele
Multi-GPU-Computing: Eins, zwei, drei, ganz viele
 
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
 
Production-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 WochenProduction-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 Wochen
 
ASSISTRA präsentiert Actifio
ASSISTRA präsentiert ActifioASSISTRA präsentiert Actifio
ASSISTRA präsentiert Actifio
 
Meet Magento - High performance magento
Meet Magento - High performance magentoMeet Magento - High performance magento
Meet Magento - High performance magento
 
Einführung in NoSQL-Datenbanken
Einführung in NoSQL-DatenbankenEinführung in NoSQL-Datenbanken
Einführung in NoSQL-Datenbanken
 
Praktische Erfahrungen mit den kleinen SPARC S7-2 Servern
Praktische Erfahrungen mit den kleinen SPARC S7-2 ServernPraktische Erfahrungen mit den kleinen SPARC S7-2 Servern
Praktische Erfahrungen mit den kleinen SPARC S7-2 Servern
 
GPU-Computing mit CUDA und OpenCL in der Praxis
GPU-Computing mit CUDA und OpenCL in der PraxisGPU-Computing mit CUDA und OpenCL in der Praxis
GPU-Computing mit CUDA und OpenCL in der Praxis
 
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
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
 
Node.js für Webapplikationen
Node.js für WebapplikationenNode.js für Webapplikationen
Node.js für Webapplikationen
 
Caching - Hintergründe, Patterns und Best Practices
Caching - Hintergründe, Patterns und Best PracticesCaching - Hintergründe, Patterns und Best Practices
Caching - Hintergründe, Patterns und Best Practices
 
Where are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_istWhere are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_ist
 
Business Intelligence, Big Data und Search - Drei Seiten einer Medaille?
Business Intelligence, Big Data und Search - Drei Seiten einer Medaille?Business Intelligence, Big Data und Search - Drei Seiten einer Medaille?
Business Intelligence, Big Data und Search - Drei Seiten einer Medaille?
 
Semantic Web - Technik und Einsatz
Semantic Web - Technik und EinsatzSemantic Web - Technik und Einsatz
Semantic Web - Technik und Einsatz
 
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
 
Cyber Crime leeds to Tape Air-Gap Protection
Cyber Crime leeds to Tape Air-Gap ProtectionCyber Crime leeds to Tape Air-Gap Protection
Cyber Crime leeds to Tape Air-Gap Protection
 
MySQL HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and Security
 

Mehr von data://disrupted®

Benchmarking your cloud performance with top 4 global public clouds
Benchmarking your cloud performance with top 4 global public cloudsBenchmarking your cloud performance with top 4 global public clouds
Benchmarking your cloud performance with top 4 global public cloudsdata://disrupted®
 
Achieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVMAchieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVMdata://disrupted®
 
​Muss es wirklich wieder Tape sein?
​Muss es wirklich wieder Tape sein? ​Muss es wirklich wieder Tape sein?
​Muss es wirklich wieder Tape sein? data://disrupted®
 
​Tape-basierter Object-Storage als S3 Speicherklasse und Cloud-Absicherung
​Tape-basierter Object-Storage als S3 Speicherklasse und Cloud-Absicherung​Tape-basierter Object-Storage als S3 Speicherklasse und Cloud-Absicherung
​Tape-basierter Object-Storage als S3 Speicherklasse und Cloud-Absicherungdata://disrupted®
 
Rook: Storage for Containers in Containers – data://disrupted® 2020
Rook: Storage for Containers in Containers  – data://disrupted® 2020Rook: Storage for Containers in Containers  – data://disrupted® 2020
Rook: Storage for Containers in Containers – data://disrupted® 2020data://disrupted®
 
Storage Benchmarks - Voodoo oder Wissenschaft? – data://disrupted® 2020
Storage Benchmarks - Voodoo oder Wissenschaft? – data://disrupted® 2020Storage Benchmarks - Voodoo oder Wissenschaft? – data://disrupted® 2020
Storage Benchmarks - Voodoo oder Wissenschaft? – data://disrupted® 2020data://disrupted®
 
Datenspeicherung 2020 bis 2030 – immer noch auf Festplatten? – data://disrupt...
Datenspeicherung 2020 bis 2030 – immer noch auf Festplatten? – data://disrupt...Datenspeicherung 2020 bis 2030 – immer noch auf Festplatten? – data://disrupt...
Datenspeicherung 2020 bis 2030 – immer noch auf Festplatten? – data://disrupt...data://disrupted®
 
Speichermedium Tape – Warum es keine Alternative gibt – data://disrupted® 2020
Speichermedium Tape – Warum es keine Alternative gibt – data://disrupted® 2020Speichermedium Tape – Warum es keine Alternative gibt – data://disrupted® 2020
Speichermedium Tape – Warum es keine Alternative gibt – data://disrupted® 2020data://disrupted®
 
Ransomware: Ohne Air Gap & Tape sind Sie verloren! – data://disrupted® 2020
Ransomware: Ohne Air Gap & Tape sind Sie verloren! – data://disrupted® 2020Ransomware: Ohne Air Gap & Tape sind Sie verloren! – data://disrupted® 2020
Ransomware: Ohne Air Gap & Tape sind Sie verloren! – data://disrupted® 2020data://disrupted®
 
HCI einfach einfach! IT-Infrastruktur wie ein Smartphone! – data://disrupted®...
HCI einfach einfach! IT-Infrastruktur wie ein Smartphone! – data://disrupted®...HCI einfach einfach! IT-Infrastruktur wie ein Smartphone! – data://disrupted®...
HCI einfach einfach! IT-Infrastruktur wie ein Smartphone! – data://disrupted®...data://disrupted®
 
Nextcloud als On-Premises Lösung für hochsicheren Datenaustausch (Frank Karli...
Nextcloud als On-Premises Lösung für hochsicheren Datenaustausch (Frank Karli...Nextcloud als On-Premises Lösung für hochsicheren Datenaustausch (Frank Karli...
Nextcloud als On-Premises Lösung für hochsicheren Datenaustausch (Frank Karli...data://disrupted®
 
Operation Unthinkable – Software Defined Storage @ Booking.com (Peter Buschman)
Operation Unthinkable – Software Defined Storage @ Booking.com (Peter Buschman)Operation Unthinkable – Software Defined Storage @ Booking.com (Peter Buschman)
Operation Unthinkable – Software Defined Storage @ Booking.com (Peter Buschman)data://disrupted®
 
Die IBM 3592 Speicherlösung: Ein Vorgeschmack auf die Zukunft (Anne Ingenhaag)
Die IBM 3592 Speicherlösung: Ein Vorgeschmack auf die Zukunft (Anne Ingenhaag)Die IBM 3592 Speicherlösung: Ein Vorgeschmack auf die Zukunft (Anne Ingenhaag)
Die IBM 3592 Speicherlösung: Ein Vorgeschmack auf die Zukunft (Anne Ingenhaag)data://disrupted®
 
CANDIDATE EXPERIENCE – Was Bewerber tatsächlich erwarten.
CANDIDATE EXPERIENCE – Was Bewerber tatsächlich erwarten.CANDIDATE EXPERIENCE – Was Bewerber tatsächlich erwarten.
CANDIDATE EXPERIENCE – Was Bewerber tatsächlich erwarten.data://disrupted®
 
Cloud/Object-basierte Datenspeicherung mit HSM/ILM in S3 Speicherklassen (Tho...
Cloud/Object-basierte Datenspeicherung mit HSM/ILM in S3 Speicherklassen (Tho...Cloud/Object-basierte Datenspeicherung mit HSM/ILM in S3 Speicherklassen (Tho...
Cloud/Object-basierte Datenspeicherung mit HSM/ILM in S3 Speicherklassen (Tho...data://disrupted®
 
Intelligent Edge - breaking the storage hype (Michael Beeck, mibeeck GmbH)
Intelligent Edge - breaking the storage hype (Michael Beeck, mibeeck GmbH)Intelligent Edge - breaking the storage hype (Michael Beeck, mibeeck GmbH)
Intelligent Edge - breaking the storage hype (Michael Beeck, mibeeck GmbH)data://disrupted®
 

Mehr von data://disrupted® (16)

Benchmarking your cloud performance with top 4 global public clouds
Benchmarking your cloud performance with top 4 global public cloudsBenchmarking your cloud performance with top 4 global public clouds
Benchmarking your cloud performance with top 4 global public clouds
 
Achieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVMAchieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVM
 
​Muss es wirklich wieder Tape sein?
​Muss es wirklich wieder Tape sein? ​Muss es wirklich wieder Tape sein?
​Muss es wirklich wieder Tape sein?
 
​Tape-basierter Object-Storage als S3 Speicherklasse und Cloud-Absicherung
​Tape-basierter Object-Storage als S3 Speicherklasse und Cloud-Absicherung​Tape-basierter Object-Storage als S3 Speicherklasse und Cloud-Absicherung
​Tape-basierter Object-Storage als S3 Speicherklasse und Cloud-Absicherung
 
Rook: Storage for Containers in Containers – data://disrupted® 2020
Rook: Storage for Containers in Containers  – data://disrupted® 2020Rook: Storage for Containers in Containers  – data://disrupted® 2020
Rook: Storage for Containers in Containers – data://disrupted® 2020
 
Storage Benchmarks - Voodoo oder Wissenschaft? – data://disrupted® 2020
Storage Benchmarks - Voodoo oder Wissenschaft? – data://disrupted® 2020Storage Benchmarks - Voodoo oder Wissenschaft? – data://disrupted® 2020
Storage Benchmarks - Voodoo oder Wissenschaft? – data://disrupted® 2020
 
Datenspeicherung 2020 bis 2030 – immer noch auf Festplatten? – data://disrupt...
Datenspeicherung 2020 bis 2030 – immer noch auf Festplatten? – data://disrupt...Datenspeicherung 2020 bis 2030 – immer noch auf Festplatten? – data://disrupt...
Datenspeicherung 2020 bis 2030 – immer noch auf Festplatten? – data://disrupt...
 
Speichermedium Tape – Warum es keine Alternative gibt – data://disrupted® 2020
Speichermedium Tape – Warum es keine Alternative gibt – data://disrupted® 2020Speichermedium Tape – Warum es keine Alternative gibt – data://disrupted® 2020
Speichermedium Tape – Warum es keine Alternative gibt – data://disrupted® 2020
 
Ransomware: Ohne Air Gap & Tape sind Sie verloren! – data://disrupted® 2020
Ransomware: Ohne Air Gap & Tape sind Sie verloren! – data://disrupted® 2020Ransomware: Ohne Air Gap & Tape sind Sie verloren! – data://disrupted® 2020
Ransomware: Ohne Air Gap & Tape sind Sie verloren! – data://disrupted® 2020
 
HCI einfach einfach! IT-Infrastruktur wie ein Smartphone! – data://disrupted®...
HCI einfach einfach! IT-Infrastruktur wie ein Smartphone! – data://disrupted®...HCI einfach einfach! IT-Infrastruktur wie ein Smartphone! – data://disrupted®...
HCI einfach einfach! IT-Infrastruktur wie ein Smartphone! – data://disrupted®...
 
Nextcloud als On-Premises Lösung für hochsicheren Datenaustausch (Frank Karli...
Nextcloud als On-Premises Lösung für hochsicheren Datenaustausch (Frank Karli...Nextcloud als On-Premises Lösung für hochsicheren Datenaustausch (Frank Karli...
Nextcloud als On-Premises Lösung für hochsicheren Datenaustausch (Frank Karli...
 
Operation Unthinkable – Software Defined Storage @ Booking.com (Peter Buschman)
Operation Unthinkable – Software Defined Storage @ Booking.com (Peter Buschman)Operation Unthinkable – Software Defined Storage @ Booking.com (Peter Buschman)
Operation Unthinkable – Software Defined Storage @ Booking.com (Peter Buschman)
 
Die IBM 3592 Speicherlösung: Ein Vorgeschmack auf die Zukunft (Anne Ingenhaag)
Die IBM 3592 Speicherlösung: Ein Vorgeschmack auf die Zukunft (Anne Ingenhaag)Die IBM 3592 Speicherlösung: Ein Vorgeschmack auf die Zukunft (Anne Ingenhaag)
Die IBM 3592 Speicherlösung: Ein Vorgeschmack auf die Zukunft (Anne Ingenhaag)
 
CANDIDATE EXPERIENCE – Was Bewerber tatsächlich erwarten.
CANDIDATE EXPERIENCE – Was Bewerber tatsächlich erwarten.CANDIDATE EXPERIENCE – Was Bewerber tatsächlich erwarten.
CANDIDATE EXPERIENCE – Was Bewerber tatsächlich erwarten.
 
Cloud/Object-basierte Datenspeicherung mit HSM/ILM in S3 Speicherklassen (Tho...
Cloud/Object-basierte Datenspeicherung mit HSM/ILM in S3 Speicherklassen (Tho...Cloud/Object-basierte Datenspeicherung mit HSM/ILM in S3 Speicherklassen (Tho...
Cloud/Object-basierte Datenspeicherung mit HSM/ILM in S3 Speicherklassen (Tho...
 
Intelligent Edge - breaking the storage hype (Michael Beeck, mibeeck GmbH)
Intelligent Edge - breaking the storage hype (Michael Beeck, mibeeck GmbH)Intelligent Edge - breaking the storage hype (Michael Beeck, mibeeck GmbH)
Intelligent Edge - breaking the storage hype (Michael Beeck, mibeeck GmbH)
 

Erasure coding stief.tech 2020-03

  • 1. Erasure Coding in Theorie und Praxis Wolfgang Stief
  • 2. ❖open minded geek & engineer ❖Dipl.-Ing. Elektrische Energietechnik ❖selbständig (2011) – sys4 AG (2012) – speicherguide.de (2019) technisches Marketing, Erklärbär, Projektmanagement, Vorstand ❖Cray-Cyber.org #vintagecomputing ❖ @stiefkind / @SpeicherStief (Twitter) stiefkind@mastodon.social https://www.linkedin.com/in/wstief/ $ whoami STIEF con I
  • 3. $ ls ❖Motivation – Warum überhaupt Erasure Coding? ❖Historie ❖Mathematik ❖Begriffe und Begriffsdefinition ❖Ein einfaches Beispiel ❖Grenzen des Erasure Coding ❖Wie schaut’s in der Praxis aus? ❖Zum Weiterlernen
  • 5. Motivation ❖Restorezeiten/Plattengrößen SATA 3.0 = 6 Gb/s – 20 TB HDDs SAS-3 = 12 Gb/s ❖Datenmengen VM-Images, Docker, unstrukturierte Daten in Unternehmen ❖Ausfallwahrscheinlichkeiten von Platten steigt block error rate == konstant WD Ultrastar DC HC500/300/200 = 1E15 für 2/8/14 TB Seagate Exos = 1E16 für 300/600/900 GB ❖Ausfall >2 Disks? ❖RAID-5/6 ist ungeeignet für NVMe/Flash ❖Flexibilität (Performance vs. Zuverlässigkeit)
  • 6. Historie ❖Kodierungstheorie, fehlertolerante Systeme, Zahlentheorie ❖1960: Reed-Solomon, Hamming, Berlekamp-Massey, Signalübertragung, CD/DVD ❖1990: RAID-6, Evenodd, RDP, LDPC Reliable Data Protocol (RFC 908, RFC 1151, Datenkommunikation) Low Density Parity Check Code (DVB-S2, IEEE 802.11n) ❖2000: EC @ Netzwerk, Regenerating Codes ❖2010: Non-MDS ❖2012: Locally Repairable Code (LRC)
  • 8. Mathematik ❖ Lineare Algebra, Gleichungssystem, Matrizen ❖ Ingenieurdenke n Unbekannte erfordern maximal n voneinander unabhängige Gleichungen. ❖ Erasure Coding Redundanz gewollt, deshalb für n Unbekannte >n Gleichungen erforderlich ❖ Ziel: Gleichungen so wählen, dass Redundanz gegeben ist aber Rechenaufwand und Datentransfer so gering wie möglich ist. ❖ Erasure Coding == Forward Error Correction [ 1 −3 2 −1 0 4 2 0 1] 1 = 3x1 + 2x2 − x3 −2 = 2x1 − 2x2 + 4x3 0 = − x1 + 4x2 − x3
  • 9. Mathematik We have studied the problem of (m, n; l, g) LRC codes and presented some simple constructions for the case l+g < n. The size of the field is q≥mn and in some cases (when in addition, g ≤ l + 1), q ≥ n. Mario Blaum – On Locally Recoverable (LRC) Codes (Dezember 2015) https://www.researchgate.net/publication/287854122_On_Locally_Recoverable_LRC_Codes
  • 10. Begriffe Aufgabe: Daten so auf Storage Nodes verteilen, dass bei Ausfall einzelner Knoten alle Daten noch benutzbar bzw. rekonstruierbar sind. Daten Storage Nodes
  • 11. Begriffe – k, n, m – EC(n,k) Finde eine Codierung so, dass k gleich große Stücke Daten mit m ebenso großen Stücken Redundanz angereichert und so insgesamt n gleich große Stücke Information verteilt werden müssen: EC(n,k) k gleich große Stücke Daten insgesamt n Disks / Storage Nodes
  • 12. Begriffe – horizontal vs. vertikal Horizontal Code Vertical Code
  • 13. Begriffe – Erasure Coding Fehlerzustand “erasure”: Information wird unbrauchbar und muss rekonstruiert werden
  • 14. Begriffe – MDS Maximum Distance Separable (MDS) Code: Der verwendete EC-Algorithmus kann den Ausfall von m Disks rekonstruieren. k gleich große Stücke Daten insgesamt n Disks / Storage Nodes n = k + m mcodingdisks
  • 15. Begriffe – Notation ❖EC(n,k) n ➛ Gesamtzahl der Chunks/Platten/Nodes k ➛ Anzahl der Daten-Chunks (Shards) m ➛ Anzahl Codierungs-Chunks (m=n-k) ❖Beispiel: EC(20,16) 16 Daten-Chunks, 4 Coding-Chunks MDS = 4 (n-k) Overhead = 20/16 = 1,25 (n/k) k n m
  • 16. Ein einfaches Beispiel ❖ EC(4,2) 2 Data Shards, 2 Coding Shards MDS = 2 Overhead = 2 A1+A2 A2 A1A1 A2 A A1+2A2 split code 😕
  • 17. Repair Problem ❖ EC(8,4) Evenodd ❖ Ausfall A1+A2 A2+B1 A2+B2 A1+B1B1 B2 A1 A2 A1+A2+B2
  • 18. Repair Problem ❖ u. U. müssen viele (und große) Chunks bewegt werden ➛ tolerierbar innerhalb Storage-System ➛ Netzwerklast @ RZ/Cloud ❖ Ziel: Optimum aus (n,k) und EC- Algorithmus ❖ Erweiterung um LRC Locally Repairable Codes == Locally Decodable Codes A2+B1 A2+B2 A1+B1B1 B2 A1 A2 A1➛? A2➛? B2 A2+B2 A1+A2+B2 A1+A2+B2
  • 19. Locally Repairable Code – LRC ❖Lokale Parity nur gültig innerhalb des Nodes ❖Globale Parity für Erasures > lokal ❖Ausfall einer einzelnen Platte ist sehr viel wahrscheinlicher, als Ausfall mehrerer, verteilter Platten. ❖Lokale Reparatur braucht keine globale Bandbreite! LP2 LP3LP1 D2 D4 D1 D3 LP4 D6 D8 D5 D7 GP1 GP2
  • 20. Erasure Coding pro/contra ✓ hohe Redundanz bei vertretbarem Aufwand mehrfache Replikation braucht vielfachen Platz ✓ robuste Skalierung über viele Nodes RAID funktioniert nur innerhalb eines Nodes ✓ Gut geeignet für Object Storage und Multimedia-Inhalte - Repair Problem - Nicht geeignet für kleine Dateien häufig Untergrenze für Filesize implementiert, darunter Replikation anstatt EC
  • 21. Implementierungen ❖Kommerziell vs. OpenSource As usual: kommerzielle Hersteller machen immer “secret sauce”, kaum Details einsehbar. ❖NetApp EC == RAID-6, NetApp StorageGRID 11.2 Manual https://library.netapp.com/ecm/ecm_download_file/ECMLP2848253 ❖Nyriad NSULATE High Parity Erasure Coding (max. 255 Parity Disks), Erasure Coding in GPU https://www.youtube.com/watch?v=BVji7uENZyU&t=2s ❖Scality RING EC immer auf 12 Disks, Verhältnis Data/Parity darin wählbar, default EC(12,9)
  • 22. Implementierungen ❖Hadoop HDFS EC by design Xorbas – LRC-Erweiterung für Hadoop (2013, u. a. Facebook) ❖Ceph Verschiedene Algorithmen mit individuell anpassbaren Settings https://docs.ceph.com/docs/mimic/rados/operations/erasure-code/ ❖DRBD Erasure coding. DRBD will be able to erasure code and distribute its data. This provides the same functionality as RAID5/6, but with an arbitrary number of parity nodes. The result is lower disk usage with similar redundancy characteristics. [DRBD-user] drbd-10.0.0a1 (Mailinglist, 2019-08-05) https://lists.linbit.com/pipermail/drbd-user/2019-August/025180.html ❖Quobyte, Rubrik, Backblaze, Datrium, Hedvig, RozoFS, …
  • 23. ???? ❖Google Compute Engine “Cloud Storage is designed for 99.999999999% (11 9's) annual durability, which is appropriate for even primary storage and business-critical applications. This high durability level is achieved through erasure coding that stores data pieces redundantly across multiple devices located in multiple availability zones.” https://cloud.google.com/storage/docs/faq ❖Amazon S3 ❖Microsoft Azure ❖DigitalOcean Implementierungen – Cloud
  • 24. Zum Weiterlernen ❖Erasure Codes for Large Scale Distributed Storage https://www.youtube.com/watch?v=TPZyW_CnXGQ ❖Erasure coding for data storage https://www.youtube.com/watch?v=3R6K7LnqLuk ❖Codierungstheorie Ralph-Hardo Schulz, Vieweg, 2003 ❖Fehlerkorrigierende Codes Olaf Manz, Springer, 2016 ❖Introduction to Error-Correcting Codes Michael Purser, Artech House, 1994 ❖Introduction to the Theory of Error-Correcting Codes Vera Pless, Wiley, 1998
  • 25. EOF – Diskussion ws@stief-consulting.de @stiefkind / @SpeicherStief https://www.linkedin.com/in/wstief/ https://speakerdeck.com/stiefkind