Tutorial on Erasure Coding for Storage Applications, Part 1 James S. Plank Professor EECS Department University of Tennessee
[email protected] Usenix FAST February 12, 2013 Historical Perspective Coding Theory Reed Solomon Codes, Error Correction Colossal, math-laden field RAID-6: EVENODD, RDP, X-Code Storage Specialized XOR-based codes LDPC Codes (Tornado, Raptor, LT) Graph Theory XOR codes for content distribution Network / Regenerating Codes Coding Theory You Distributed storage Are Here Non-MDS codes for Storage Clouds and Recovery 1960 1990's 2000's 2010 Historical Perspective Reed Solomon Codes, Error Correction Coding Theory 1000's of papers Colossal, math-laden field RAID-6: EVENODD, RDP, X-Code Storage Specialized 10'sXOR-based of papers codes LDPC Codes (Tornado, Raptor, LT) Graph Theory 100's of papers XOR codes for content distribution And Network / Regenerating Codes Coding Theory 100's of papers They're Distributed storage All Relevant Non-MDS codes for Storage 10's of papers kinda Clouds and Recovery 1960 1990's 2000's 2010 Our Mission in this Tutorial, Part 1 • Give you the basics of coding for storage – Nomenclature, techniques – Matrices, Finite Field Arithmetic • Present the classics – Reed-Solomon Codes – RAID-6 Classics: EVENODD/RDP/X-Code – Generalized XOR Codes • Inform you of open source solutions Our Mission in this Tutorial, Part 2 • Inform you of more recent, non-classic codes – Regenerating Codes – Techniques for improved recovery – Non-MDS codes for cloud storage – Erasure coding for Flash My Philosophy for Part 1 • Hold your hand in the beginning • Then swamp you with information • Make sure you have reference material.