1 / 62

Yinlong Xu University of Science and Technology of China

A Hybrid Approach of Failed Disk Recovery Using RAID-6 Codes: Algorithms and Performance Evaluation. Yinlong Xu University of Science and Technology of China. A joint work with Liping Xiang, John C.S. Lui and Qian Chang. I would like to thank John C.S. Lui , Raymond W. Yeung ,

makya
Télécharger la présentation

Yinlong Xu University of Science and Technology of China

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Hybrid Approach of Failed Disk Recovery Using RAID-6 Codes: Algorithms and Performance Evaluation YinlongXu University of Science and Technology of China A joint work with Liping Xiang, John C.S. Lui and Qian Chang

  2. I would like to thank John C.S. Lui, Raymond W. Yeung, Patrick B.C. Lee, Alfred C.L. Ho!

  3. Outline • Background • A Hybrid Recovery Approach for Single Disk Failure • Row-Diagonal Optimal Recovery (RDOR) for Single Disk Failure • A Recovery Scheme with Minimum Disk Reads • Balancing Disk Reads • Optimizing Memory Usage • Performance Evaluation • Summary 3/60

  4. Outline • Background • Hybrid Recovery Approach for Single Failure • Row-Diagonal Optimal Recovery (RDOR) for Single Disk Failure • A Recovery Scheme with Minimum Disk Reads • Balancing Disk Reads • Optimizing Memory Usage • Performance Evaluation • Summary 4/60

  5. Remark: • This work can be applied to two RAID-6 codes, RDP and EVENODD. • This talk takes RDP as an example. 5/60

  6. RDP Code • In a form of a (p1)×(p+1) matrix, p is a prime number. • The first p1 columns are information columns. • The last two are parity columns (row parity, diagonal parity). • Note: With RDP code,all information data is recoverable when any two disks fail. Row parity d0,4= d0,0 d0,1 d0,2 d0,3 Diagonal parity d0,5= d0,0 d2,3 d3,2 d1,4 Missing Diagonal 6/60

  7. Outline of our work • Problem: The recovery of single disk failure in RDP coded systems • Motivation: RDP code tolerates two disk failures, but the probability of single disk failure is much higher than double disk failures. • Contributions: • Give the lower bound of disk reads • Propose a recovery scheme, s.t. • Disk reads matches the lower bound, reduced by 1/4. • Balancing disk reads • Minimum extra memory usage: (p1)/2 blocks • XOR operations: No more than conventional scheme 7/60

  8. A Naive Recovery Scheme for Single Disk Failure of RDP Code –– Case(1) • Case 1: Single information disk fails • Row parity disk and other information disks are used for the recovery. Disk6 d0,1 d1,1 d2,1 d3,1 The recovery of Disk 1 8/60

  9. A Naive Recovery Scheme for Single Disk Failure of RDP Code –– Case(2) • Case 2: Single parity disk fails • The recovery is equivalent to the parity encoding Disk6 d0,5 d1,5 d2,5 d3,5 The recovery of diagonal parity disk 9/60

  10. Features of the Naive Recovery Scheme • Only uses single parity column for single disk failure recovery, however, there are two parity columns in the array. • (p1)2 symbols are read from the disks for the recovery. 10/60

  11. Questions • Whether the disk reads can be reduced for the recovery of single disk failure? • What iftwo parity disks are used for single disk failure recovery? 11/60

  12. Some Benefits from Reducing Disk Reads • Speeding up the recovery • Relieving system bus load • Relieving disk load • Enhancing user’s service performance • Saving disk energy • … 12/60

  13. Outlines • Background • A Hybrid Recovery Approach for Single Failure • Row-Diagonal Optimal Recovery (RDOR) for Single disk Failure • A Recovery Scheme with Minimum Disk Reads • Balancing Disk Reads • Optimizing Memory Usage • Performance Evaluation • Summary 13/60

  14. Row Parity or Diagonal Parity? • Either row parity or diagonal parity can be used to recover an erasure symbol d0,1 can be recovered by row parity d0,1 can also be recovered by diagonal parity 14/60

  15. Notes: There are 4 overlapping symbols which need to be readtwice. If the 4 overlapping symbols are per-stored in memory, the number of disk reads is reduced to 164=12<16. A Hybrid Recovery Approach for SingleDisk Failure • Using diagonal parity to recover d0,1; • Using diagonal parity to recover d1,1; • Using row parity to recover d2,1; • Using row parity to recover d3,1. Overlapping symbols 15/60

  16. Consideration of Hybrid Recovery Approach • By using memory read instead of disk read • The recovery process will be speeded up Note: Memory read is 100 times faster than disk read • Communication load of the storage system will be reduced • During the recovery, the more overlapping symbols, the fewer symbols to be read from disks. • Questions • What is the lower bound of disk reads for single disk failure recovery? • How to design a recovery scheme which matches this lower bound? 16/60

  17. Outlines • Background • A Hybrid Recovery Approach for Single Failure • Row-Diagonal Optimal Recovery (RDOR) for Single Failure • Recovery Scheme with Minimum Disk Reads • Balancing Disk Reads • Optimizing Memory Usage • Performance Evaluation • Summary 17/60

  18. Diagonal parity Row parity Row Parity Sets • Ri= {di,k|0  k  p1}-----the i-throw parity set. E.g. R0={d0,0, d0,1, d0,2, d0,3, d0,4}. • Each symbol in Rican be recovered by other symbols inRi. Because d0,4=d0,0d0,1d0,2d0,3 , so d0,1=d0,0d0,2d0,3d0,4 18/60

  19. Row parity Diagonal parity Diagonal Parity Sets • Dj= {di,k|(i+k) mod p = j, 0  i  p2, 0  k  p} is the j-thdiagonal parity set. E.g. D1={d1,0, d0,1, d3,3, d2,4, d1,5} • Each symbol in Djcan be recovered by other symbols inDj. d0,1=d1,0d3,3d2,4d1,5 19/60

  20. Overlapping Symbols • There is just one common (named overlapping) symbol between each pair of Ri and Dj. e.g. R1∩D3={d1,2} R1 D3 20/60

  21. Special Cases of Parity Sets Only belong to their row parity sets Only belong to their diagonal parity sets • Disk p can only be recovered by diagonal parity. • This work only consider the recovery of Disk k, with k ≠ p. 21/60

  22. Recovery Combination • A combination of parity sets (Ri, … , Dj) is corresponding to a recovery scheme. • E.g. Using recovery combination (D1, D2, R2, R3) to recover Disk 1. 22/60

  23. Recovery Combination • A combination of parity sets (Ri, … , Dj) is corresponding to a recovery scheme. • E.g. Using recovery combination (D1, D2, R2, R3) to recover Disk 1. • Using D1 to recover d0,1; 23/60

  24. Recovery Combination • A combination of parity sets (Ri, … , Dj) is corresponding to a recovery scheme. • E.g. Using recovery combination (D1, D2, R2, R3) to recover Disk 1. • Using D1 to recover d0,1; • Using D2 to recover d1,1; 24/60

  25. Recovery Combination • A combination of parity sets (Ri, … , Dj) is corresponding to a recovery scheme. • E.g. Using recovery combination (D1, D2, R2, R3) to recover Disk 1. • Using D1 to recover d0,1; • Using D2 to recover d1,1; • Using R2 to recover d2,1; 25/60

  26. Recovery Combination • A combination of parity sets (Ri, … , Dj) is corresponding to a recovery scheme. • E.g. Using recovery combination (D1, D2, R2, R3) to recover Disk 1. • Using D1 to recover d0,1; • Using D2 to recover d1,1; • Using R2 to recover d2,1; • Using R3 to recover d3,1. 26/60

  27. Disk0 Disk1 Disk2 Disk3 Disk4 Disk5 Number of Overlapping Symbols • Assumption • Disk k is in erasure • p1 symbols d0,k, d1,k, … , dp-2,kneed to be recovered • A Recovery Scheme • t erasure symbols from diagonal parity sets • The other p1t symbols from row parity sets • Conclusion • t(p1t) = (t(p1)/2)2+(p1)2/4overlapping symbols • When t=(p1)/2, the number of overlapping symbols is maximized. 27/60

  28. Disk0 Disk1 Disk2 Disk3 Disk4 Disk5 Lower Bound of Disk Reads for SingleFailure Recovery • The maximum number of overlapping symbols is (p1)2/4. • A maximum of (p1)2/4 symbols may be reduced from disk read for recovery. • Conclusion: The lower bound of disk reads for recovery is (p1)2(p1)2/4 =3(p1)2/4. Symbols be read Overlapping symbols 28/60

  29. Read Optimal Recovery Scheme • Any recovery combination consists of (p1)/2 row and (p1)/2 diagonal parity sets is read optimal. -----Named Row-Diagonal Optimal Recovery (RDOR). • Conclusion: RDOR reduces approximately 25%disk reads compared with the naive scheme. 29/60

  30. Outlines • Background • Hybrid Recovery Approach for Single Failure • Row-Diagonal Optimal Recovery (RDOR) for Single Failure • A Recovery Scheme with Minimum Disk Reads • Balancing Disk Reads • Optimizing Memory Usage • Performance Evaluation • Summary 30/60

  31. Example: Two Read Optimal Recovery Combinations (R0, R1, R2, D3, D4, D5) (D0, D1, R2, D3, R4, R5) Disk reads: 5 4 3 3 4 5 3 4 4 4 4 4 4 3 Unbalanced Balanced 31/60

  32. Problem and Questions • During recovery, the disk with the most read operations may slow down the recovery. • Questions • To reduce the recovery time, what is a balanced and read-optimal recovery scheme? • It reads the same (or almost the same) number of symbols from different disks. 32/60

  33. Average Reads from Each Disk • The minimum number of disk reads for recovery is 3(p1)2/4. • To achieve read optimal, (p1)/2 symbols will be read from Disk p(diagonal parity disk). • Conclusion: Average number of symbols to be read from the other surviving disks (except for Disk k and Disk p) is [3(p  1)2/4  (p  1)/2] / (p  1)= (3p 5)/4. Note: A balanced read-optimal recovery should read (p1)/2 symbols from Disk p and (3p 5)/4 symbols from each of other disks 33/60

  34. Example: A Balanced Example (D0, D1, R2, D3, R4, R5) E.g. p=7 Total: 3(p  1)2/4 =27 Disk 7: (p  1)/2=3 Each of other disks: (27  3)/6=4 4 4 4 4 4 4 3 Balanced 34/60

  35. Recovery Sequence • Define a recovery sequence x0, x1, ... , xp2, xp1 corresponds to a recovery combination, where • xi=0 means that di,k is recovered from its row parity set • xi=1 means that di,k is recovered from its diagonal parity set • E.g. (D0, D1, R2, D3, R4, R5) 1 1 0 1 0 0 0 Additional symbol 35/60

  36. Condition of Read Optimal and Balanced Recovery Sequence • Recovery sequence {xi}0≤i≤p1 is read optimal and balanced if and only if • Read optimal x0+x1+…+xp2+xp1=(p1)/2 (1) • Symbols in missing diagonal and added row are recovered by row parity. xp1 k=xp1=0 (2) • (3p 5)/4 symbols to be read from Disk j (0≤j≤p1, j≠k) (3) 36/60

  37. Read Optimal and Balanced Recovery –– An Example • (D0, D1, R2, D3, R4, R5) is a read optimal and balanced recovery combination for p=7 and k=0. • Corresponding recovery sequence x0x1...x5x6=1101000 satisfies: • x0+x1+…+x5+x6=(p1)/2=3 (1) • xp1 k=xp1=0 (2) 37/60

  38. Disk 3 x2=0, d2,3 is read x0=1, d4,3 is used Condition of Read Optimal and Balanced Recovery Sequence (Cont.) • When xi=0 or x<i+jk>p=1, di,j in Disk j is used for recovery. • When di,j is used for recovery, xi(1x<i+jk>p)=0. • The number of symbols that need to be read in Disk j is Number of symbols not read from Disk j 38/60

  39. Read Optimal and Balanced Recovery –– An Example (Cont.) • Recovery sequence x0x1...x5x6=1101000 also satisfies: • 4 symbols to be read from Disk j (0≤j≤6, j≠0) (3) Disk 3 d4,3 39/60

  40. Read Optimal and Balanced Recovery –– An Example (Cont.) • Recovery sequence x0x1...x5x6=1101000 also satisfies: • 4 symbols to be read from Disk j (0≤j≤6, j≠0) (3) Disk 3 E.g. x0=1, d4,3 is used; d4,3 40/60

  41. Read Optimal and Balanced Recovery –– An Example (Cont.) • Recovery sequence x0x1...x5x6=1101000 also satisfies: • 4 symbols to be read from Disk j (0≤j≤6, j≠0) (3) Disk 3 E.g. x0=1, d4,3 is used; x1=1, d5,3 is used; d5,3 41/60

  42. Read Optimal and Balanced Recovery –– An Example (Cont.) • Recovery sequence x0x1...x5x6=1101000 also satisfies: • 4 symbols to be read from Disk j (0≤j≤6, j≠0) (3) Disk 3 E.g. x0=1, d4,3 is used; x1=1, d5,3 is used; x2=0, d2,3 is used; d2,3 42/60

  43. Read Optimal and Balanced Recovery –– An Example (Cont.) • Recovery sequence x0x1...x5x6=1101000 also satisfies: • 4 symbols to be read from Disk j (0≤j≤6, j≠0) (3) Disk 3 E.g. x0=1, d4,3 is used; x1=1, d5,3 is used; x2=0, d2,3 is used; x3=1, d0,3 is used; d0,3 43/60

  44. Read Optimal and Balanced Recovery –– An Example (Cont.) • Recovery sequence x0x1...x5x6=1101000 also satisfies: • 4 symbols to be read from Disk j (0≤j≤6, j≠0) (3) Disk 3 E.g. x0=1, d4,3 is used; x1=1, d5,3 is used; x2=0, d2,3 is used; x3=1, d0,3 is used; x4=0, d4,3 is used; d4,3 44/60

  45. Read Optimal and Balanced Recovery –– An Example (Cont.) • Recovery sequence x0x1...x5x6=1101000 also satisfies: • 4 symbols to be read from Disk j (0≤j≤6, j≠0) (3) Not be read Disk 3 E.g. x0=1, d4,3 is read; x1=1, d5,3 is read; x2=0, d2,3 is read; x3=1, d0,3 is read; x4=0, d4,3 is read; x5=0, d5,3 is read; d5,3 45/60

  46. Recovery Set • Given a recovery sequence {xi}0≤i≤p1, define A={ i | xi=1, 0≤i≤p1} as the recovery set. x0x1...x5x6=1101000 A={0,1,3} 46/60

  47. Recovery Set As if and only if i∈ A and<i+t>p∈A, xix<i+t>p= 1. So • Balanced Recovery Set • A corresponds to a balanced sequence, if and only if • For any t (1≤ t≤ p1), t has a multiplicity of (p3)/4 in the multi-set MA={a1a2| a1, a2∈A, a1≠a2} 47/60

  48. The Existence of Read Optimal and Balanced Recovery Set • By using the concept of (partial) difference-set, we have the following conclusion. • Given a prime number p, and the nonzero squares set D={i2|1≤i≤(p−1)/2} in Fp is a difference-set. • There is g∈Fp, s.t. A=D+g corresponds to a read-optimal and balanced recovery sequence {xi}0≤i≤p−1 for the recovery of Disk k (k≠p). 48/60

  49. Reviewing on Read Balance Problem Find out the average number of disk reads on each disk . Define recovery sequence and recovery set to describe recovery scheme. Find out the constraint conditions that a recovery set is read optimal and balanced. Using the concept of (partial) difference set to solve these constraint conditions. The read optimal and balanced recovery scheme corresponds to the solved recovery set. 49/60

  50. Outlines • Background • Hybrid Recovery Approach for Single Failure • Row-Diagonal Optimal Recovery (RDOR) for Single Failure • Recovery Scheme with Minimum Disk Reads • Balancing of Disk Reads • Optimizing Memory Usage • Performance Evaluation • Summary 50/60

More Related