Go over https://leetcode.com/problems/nearest-exit-from-entrance-in-maze/ quickly.
Erasure coding lecture
James S. Plank
November, 2022
Reference Material
The first two are good for when you're learning.
Jerasure 1.2 is good to get hands-on experience with a pretty simple implementation.
The remaining papers are the papers that first presented the various codes.
- James S. Plank, "A
Brief Primer on Erasure Codes for Storage Systems", ";login" Magazine,
Usenix Association, 2013.
- James S. Plank and Cheng Huang, "Tutorial - Erasure Coding for Storage Applications". This tutorial was part of the the training program for the 11th USENIX Conference on File and Storage Technologies, San Jose, CA, February 12, 2013. Dr. Huang's slides are no longer available from that site, but my slides,
covering the first 90 minutes, plus the annotated bibliography, are available.
- James S. Plank, Scott Simmerman and Catherine D. Schuman, Jerasure version 1.2, Technical Report UT-CS-08-627,
Department of Computer Science, University of Tennessee, August 20, 2008.
- The EVENODD paper:
M. Blaum, J. Brady, J. Bruck and J. Menon, "EVENODD: An Efficient Scheme for Tolerating Double
Disk Failures in RAID Architectures," IEEE Transactions on Computing, 44(2), February, 1995, pp. 192-202.
- The RDP paper:
P. Corbett, B. English, A. Goel, T. Grcanac, S. Kleiman, J. Leong and S. Sankar, "Row Diagonal
Parity for Double Disk Failure Correction," 3rd Usenix Conference on File and Storage
Technologies, San Francisco, CA, March, 2004.
- The Liberation Code paper:
James S. Plank, "The RAID-6 Liberation Codes," 6th Usenix Conference on File and Storage Technologies, San Jose, CA, February, 2008.
- The Blaum-Roth paper:
M. Blaum and R. M. Roth, "On Lowest Density MDS Codes," IEEE Transactions on Information
Theory, 45(1), January, 1999, pp. 46-59.
- Paper with the Liberation code, Liber8tion code, Blaum-Roth codes, and proof that the
Liberation codes are indeed MDS:
James S. Plank, Adam L. Buchsbaum and Bradley T. Vander Zanden, "Minimum Density RAID-6 Codes," ACM Transactions on Storage, Volume 6, Number 4, May, 2011.
- The ITW paper about fewer than k-1 XOR's:
J. S. Plank, "XOR's, Lower Bounds and MDS Codes for Storage," IEEE Information Theory
Workshop(ITW), Paraty, Brazil, October, 2011.
-
Xiang's RDP paper: L. Xiang, Y. Xu, J. C. S. Lui and Q. Chang, "Optimal Recovery of Single Disk Failure in RDP Code Storage Systems," ACM SIGMETRICS, June, 2010.
-
Cauchy Reed-Solomon Coding
Overview
Pages 1-38 of the tutorial (in this directory)
- k data disks.
- m coding disks.
- n total disks.
- Systematic vs. non-systematic.
- Horizontal vs vertical.
- MDS vs non-MDE.
- Generator Matrix and how it encodes.
- Using the generator matrix to decode.
- Galois Field Arithmetic (just summarized, not implemented)
- Basic Reed-Solomon codes.
Story - Circuitous Path to Erasure Coding, Part 1
Reed-Solomon Codes
- Creating the generator matrix -- two ways.
- The MDS Bound.
Using Jerasure 1.2, show these examples:
UNIX> reed_sol_02 4 3 8 > ex1.html # Create a conding matrix from a vandermonde matrix
UNIX> reed_sol_01 4 3 8 4 > ex2.html # Show a encoding/decoding example
Here are the two outputs:
Since the first row of the matrix is all ones, you can show how that first
byte of C0 is equal to 0xc4:
9c = 1001 1100
3f = 0011 1111
a9 = 1010 1001
ce = 1100 1110
--------------
Sum: 1100 0100 = c4!
|
Talk about creating a Cauchy matrix:
UNIX> jerasure_03 4 8 | sed 1,3d
The Cauchy Matrix:
253 126 255 127
126 253 127 255
255 127 253 126
127 255 126 253
Invertible: Yes
Inverse:
96 237 51 74
237 96 74 51
51 74 96 237
74 51 237 96
Inverse times matrix (should be identity):
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
UNIX>
|
EVENODD Coding
Use slides 69-78 of the 2013 tutorial: Evenodd.pdf.
RDP Coding
Use slides 80-84 of the 2013 tutorial: RDP.pdf.
The main benefit: fewer XOR operations.
The X-Code
Use slides 86-89 of the 2013 tutorial: X-Code.pdf.
The main benefit: fewer XOR operations.
The tale of the Liberation Codes and my ITW paper
- Being bored at Radford → Writing an enumeration in the car →
Verifying the enumeration experimentally →
Doing the proof.
- The code: Lib-Matrices.jpg
- Writing the talk -- Liberation.jpg
- Having Lihao tell me to go read Blaum-Roth.
(Find Blaum-Roth online and grab opening paragraph plus Fred).
BR-Text1.jpg
BR-Text2.jpg
- Show BR codes:
BR.jpg
- Looking for W=8: Liber8tion.jpg
- Does any of it really matter?
- Realizing that you don't need k-1 XOR's per coding word: Meeting Mario and the
ITW paper.
- Stories of Brazil: Peixe, the 5x5 block of safety in Paraty, Caipirinhas,
getting a plug converter in Copacabana. Peixe.jpg
Paraty.jpg
Caipirinha.jpg
Rain.jpg
- Having lunch with Mario and Jim during FAST 2012 -- genesis of the SD paper.
- FAST paper -> ACM TOS paper. SD.jpg Mario-Jim.jpg
Three fantastic erasure coding papers
- The EVENODD coding paper (above).
- Xiang's RDP paper -- Xiang.jpg
- Cauchy Reed-Solomon Coding (Go over after going over Galois Field Arithmetic)