deconstructing storage arrays
DESCRIPTION
Timothy E. Denehy, John Bent, Florentina I. Popovici, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau University of Wisconsin, Madison. Deconstructing Storage Arrays. Gray-box Research. Computer systems becoming more complex Transistors Lines of code - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/1.jpg)
Deconstructing Storage Arrays
Timothy E. Denehy, John Bent, Florentina I. Popovici,
Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau
University of Wisconsin, Madison
![Page 2: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/2.jpg)
Gray-box Research• Computer systems becoming more complex
• Transistors• Lines of code
• Each component is becoming more complex• Interactions between subsystems can affect
• Performance• Reliability• Power• Security
![Page 3: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/3.jpg)
Gray-box Research• Interfaces remain the same
• Changes can be difficult and impractical• Support multiple platforms or legacy systems• Commercial acceptance for wide-spread
adoption• Hardware and software phenomenon
• IA-32 instruction set, POSIX OS, SCSI storage
• Problem: lack of information
![Page 4: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/4.jpg)
Gray-box Solution• Treat target system as a gray-box
• General characteristics are known• Extract information from an existing
interface• e.g. determine cache contents
• Exploit information to control system behavior• e.g. access cached data first
![Page 5: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/5.jpg)
Gray-box Information Techniques
• Make assumptions about target system• Observe system inputs and outputs• Statistical methods
• Draw inferences about internal structure• Microbenchmarks and probes
• Parameterize system components• Observe system under controlled input
![Page 6: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/6.jpg)
Gray-box Applications• Gray-box techniques have been used to identify
• Memory hierarchy parameters [Saavedra and Smith]• Processor cycle time [Staelin and McVoy]• Low-level disk characteristics [Worthington et al.]• Buffer cache replacement algorithms [Burnett et al.]• File system data structures [Sivathanu et al.]
• storage array characteristics: Shear
![Page 7: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/7.jpg)
Shear• Software tool that automatically determines
the important properties of a storage array
• Enables file system performance tuning with knowledge of storage array characteristics
• Acts as a management tool to help configure, monitor, and maintain storage arrays
![Page 8: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/8.jpg)
Outline• Introduction• Shear
• Background• Algorithm
• Case Studies• Performance: Stripe-aligned Writes• Management: Detecting Misconfiguration,
Failure• Conclusion
![Page 9: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/9.jpg)
Shear Goals• Determine storage array characteristics
0 1 2 3 4 5 6 7 8 9 10111213141516171819202122232425262728293031 SCSISCSI
![Page 10: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/10.jpg)
Shear Goals• Determine storage array characteristics
• Number of disks
0 1 2 3 4 5 6 7 8 9 10111213141516171819202122232425262728293031 SCSISCSI
![Page 11: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/11.jpg)
Shear Goals• Determine storage array characteristics
• Number of disks• Chunk size
0 1 2 3 4 5 6 7 8 9 10111213141516171819202122232425262728293031 SCSISCSI
![Page 12: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/12.jpg)
Shear Goals• Determine storage array characteristics
• Number of disks• Chunk size• Layout and redundancy scheme
0 1 2 316171819
4 5 6 7 8 9 1011 1213141520212223 24252627 28293031
0 1 2 3 4 5 6 7 8 9 10111213141516171819202122232425262728293031
RAID-0
SCSISCSI
![Page 13: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/13.jpg)
Shear Goals• Determine storage array characteristics
• Number of disks• Chunk size• Layout and redundancy scheme
0 1 2 31617181924252627
4 5 6 720212223
4 5 6 720212223RAID-1
SCSISCSI
28293031 28293031
0 1 2 31617181924252627
0 1 2 3 4 5 6 7 8 9 10111213141516171819202122232425262728293031
![Page 14: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/14.jpg)
Shear Goals• Determine storage array characteristics
• Number of disks• Chunk size• Layout and redundancy scheme
0 1 2 320212223
P P P P
4 5 6 7 8 9 101112131415
P P P P
P P P P16171819 P P P P32333435 24252627 28293031
36373839 40414243 44454647
0 1 2 3 4 5 6 7 8 9 10111213141516171819202122232425262728293031
RAID-5
SCSISCSI
![Page 15: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/15.jpg)
Shear Motivation• Performance
• Tune file systems to array characteristics
• Management• Verify configuration• Detect failure
![Page 16: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/16.jpg)
Shear Techniques• Microbenchmarks and probes
• Controlled, random access read and write patterns
• Measure response time of access patterns• Measure steady-state performance
• Statistical clustering• Automatically classify fast and slow regimes• Identify patterns that utilize only a single disk
![Page 17: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/17.jpg)
Shear Assumptions• Storage array
• Layout follows a repeatable pattern• Composed of homogeneous disks
• System• Able to bypass the file system and buffer
cache• Little traffic from other processes
![Page 18: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/18.jpg)
Outline• Introduction• Shear
• Background• Algorithm
• Case Studies• Performance: Stripe-aligned Writes• Management: Detecting Misconfiguration,
Failure• Conclusion
![Page 19: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/19.jpg)
Shear Algorithm• Pattern size• Chunk size• Layout of chunks to disks• Level of redundancy
![Page 20: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/20.jpg)
Determining the Pattern Size• Find the size of the layout's repeating pattern
• Not always the stripe size
• Choose a hypothetical pattern size• Perform random reads at multiples of that distance
• Repeat for a range of pattern sizes
• Cluster results and identify actual pattern size
![Page 21: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/21.jpg)
Pattern Size Example
RAID-04 Disks
8 KBChunks
![Page 22: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/22.jpg)
Pattern Size Example
Testing2 KB
RAID-04 Disks
8 KBChunks
![Page 23: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/23.jpg)
Pattern Size Example
Testing4 KB
RAID-04 Disks
8 KBChunks
![Page 24: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/24.jpg)
Pattern Size Example
Testing6 KB
RAID-04 Disks
8 KBChunks
![Page 25: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/25.jpg)
Pattern Size Example
Testing8 KB
RAID-04 Disks
8 KBChunks
![Page 26: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/26.jpg)
Pattern Size Example
Testing10 KB
RAID-04 Disks
8 KBChunks
![Page 27: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/27.jpg)
Pattern Size Example
Testing12 KB
RAID-04 Disks
8 KBChunks
![Page 28: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/28.jpg)
Pattern Size Example
Testing14 KB
RAID-04 Disks
8 KBChunks
![Page 29: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/29.jpg)
Pattern Size Example
Testing16 KB
RAID-04 Disks
8 KBChunks
![Page 30: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/30.jpg)
Pattern Size Example
Testing18 KB
RAID-04 Disks
8 KBChunks
![Page 31: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/31.jpg)
Pattern Size Example
Testing20 KB
RAID-04 Disks
8 KBChunks
![Page 32: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/32.jpg)
Pattern Size Example
Testing22 KB
RAID-04 Disks
8 KBChunks
![Page 33: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/33.jpg)
Pattern Size Example
Testing24 KB
RAID-04 Disks
8 KBChunks
![Page 34: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/34.jpg)
Pattern Size Example
Testing26 KB
RAID-04 Disks
8 KBChunks
![Page 35: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/35.jpg)
Pattern Size Example
Testing28 KB
RAID-04 Disks
8 KBChunks
![Page 36: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/36.jpg)
Pattern Size Example
Testing30 KB
RAID-04 Disks
8 KBChunks
![Page 37: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/37.jpg)
Pattern Size Example
Testing32 KB
RAID-04 Disks
8 KBChunks
![Page 38: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/38.jpg)
Pattern Size Example
RAID-04 Disks
8 KBChunks
![Page 39: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/39.jpg)
Pattern Size Example
RAID-04 Disks
8 KBChunks
Actual32 KB
cluster
clustercluster
![Page 40: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/40.jpg)
Shear Algorithm• Pattern size• Chunk size• Layout of chunks to disks• Level of redundancy
![Page 41: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/41.jpg)
Determining the Chunk Size• Chunk size
• amount of data contiguously allocated to one disk• Find the boundaries between disks
• Choose a hypothetical boundary offset• Perform random reads on both sides of that offset
• Repeat for all offsets in the pattern size• Cluster results and identify actual chunk size
![Page 42: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/42.jpg)
Chunk Size Example
RAID-04 Disks
8 KBChunks
![Page 43: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/43.jpg)
Chunk Size Example
Testing0 KB
RAID-04 Disks
8 KBChunks
![Page 44: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/44.jpg)
Chunk Size Example
Testing2 KB
RAID-04 Disks
8 KBChunks
![Page 45: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/45.jpg)
Chunk Size Example
Testing4 KB
RAID-04 Disks
8 KBChunks
![Page 46: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/46.jpg)
Chunk Size Example
Testing6 KB
RAID-04 Disks
8 KBChunks
![Page 47: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/47.jpg)
Chunk Size Example
Testing8 KB
RAID-04 Disks
8 KBChunks
![Page 48: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/48.jpg)
Chunk Size Example
Testing10 KB
RAID-04 Disks
8 KBChunks
![Page 49: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/49.jpg)
Chunk Size Example
Testing12 KB
RAID-04 Disks
8 KBChunks
![Page 50: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/50.jpg)
Chunk Size Example
Testing14 KB
RAID-04 Disks
8 KBChunks
![Page 51: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/51.jpg)
Chunk Size Example
Testing16 KB
RAID-04 Disks
8 KBChunks
![Page 52: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/52.jpg)
Chunk Size Example
RAID-04 Disks
8 KBChunks
![Page 53: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/53.jpg)
Chunk Size Example
RAID-04 Disks
8 KBChunks
Actual8 KB
cluster
cluster
![Page 54: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/54.jpg)
Shear Algorithm• Pattern size• Chunk size• Layout of chunks to disks• Level of redundancy
![Page 55: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/55.jpg)
Determining the Read Layout• Find mapping of chunks to disks
• Choose a pair of chunks in the pattern• Perform random reads to both chunks
• Repeat for all pairs of chunks
• Cluster results and identify chunks on same disk
![Page 56: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/56.jpg)
Read Layout Example
07
RAID-0 ZIG-ZAG 4 Disks16
25
34
![Page 57: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/57.jpg)
Read Layout Example
07
RAID-0 ZIG-ZAG 4 Disks16
25
34
Testing { 0, 0 }
![Page 58: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/58.jpg)
Read Layout ExampleRAID-0 ZIG-ZAG 4 Disks
16
25
34
Testing { 0, 1 }
07
![Page 59: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/59.jpg)
Read Layout ExampleRAID-0 ZIG-ZAG 4 Disks
16
25
34
Testing { 0, 2 }
07
![Page 60: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/60.jpg)
Read Layout ExampleRAID-0 ZIG-ZAG 4 Disks
16
25
34
Testing { 0, 3 }
07
![Page 61: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/61.jpg)
Read Layout ExampleRAID-0 ZIG-ZAG 4 Disks
16
25
34
Testing { 0, 4 }
07
![Page 62: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/62.jpg)
Read Layout ExampleRAID-0 ZIG-ZAG 4 Disks
16
25
34
Testing { 0, 5 }
07
![Page 63: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/63.jpg)
Read Layout ExampleRAID-0 ZIG-ZAG 4 Disks
16
25
34
Testing { 0, 6 }
07
![Page 64: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/64.jpg)
Read Layout Example
07
RAID-0 ZIG-ZAG 4 Disks16
25
34
Testing { 0, 7 }
![Page 65: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/65.jpg)
Read Layout Example
07
RAID-0 ZIG-ZAG 4 Disks16
25
34
Testing { 1, 1 }
![Page 66: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/66.jpg)
Read Layout Example
07
RAID-0 ZIG-ZAG 4 Disks25
34
Testing { 1, 2 }
16
![Page 67: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/67.jpg)
Read Layout Example
07
RAID-0 ZIG-ZAG 4 Disks25
34
Testing { 1, 3 }
16
![Page 68: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/68.jpg)
Read Layout Example
07
RAID-0 ZIG-ZAG 4 Disks25
34
Testing { 1, 4 }
16
![Page 69: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/69.jpg)
Read Layout Example
07
RAID-0 ZIG-ZAG 4 Disks25
34
Testing { 1, 5 }
16
![Page 70: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/70.jpg)
Read Layout Example
07
RAID-0 ZIG-ZAG 4 Disks25
34
Testing { 1, 6 }
16
![Page 71: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/71.jpg)
Read Layout Example
07
RAID-0 ZIG-ZAG 4 Disks25
34
Testing { 1, 7 }
16
![Page 72: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/72.jpg)
Read Layout Example
07
RAID-0 ZIG-ZAG 4 Disks25
34
16
![Page 73: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/73.jpg)
Read Layout Example
07
RAID-0 ZIG-ZAG 4 Disks25
34
Actual{ 0, 7 } { 1, 6 } { 2, 5 } { 3, 4}
16
cluster cluster
![Page 74: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/74.jpg)
Shear Algorithm• Pattern size• Chunk size• Layout of chunks to disks• Level of redundancy
![Page 75: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/75.jpg)
Determining Level of Redundancy
• Ratio of read to write bandwidth reveals the type of redundancy in the array
• Expected R/W ratios:• RAID-0: 1 (no redundancy)• RAID-1: 2 (mirroring)• RAID-4: varies (examine write layout)• RAID-5: 4 (parity)
![Page 76: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/76.jpg)
Shear Experience• Shear has been applied to
• Linux software RAID• Poor RAID-5 parity updates
• Adaptec hardware RAID controller• Implements RAID-5 left-asymmetric layout
– RAID-0– RAID-1– Chained
Declustering
– RAID-4– RAID-5– P+Q
![Page 77: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/77.jpg)
Outline• Introduction• Shear
• Background• Algorithm
• Case Studies• Performance: Stripe-aligned Writes• Management: Detecting Misconfiguration,
Failure• Conclusion
![Page 78: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/78.jpg)
RAID-5 Performance• Small writes on RAID-5 are problematic
• Require two reads, parity calculation, two writes
• Writing in full stripes is more efficient
0 1 2 320212223
P P P P
4 5 6 7 8 9 101112131415
P P P P
P P P P16171819 P P P P32333435 24252627 28293031
36373839 40414243 44454647RAID-5
![Page 79: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/79.jpg)
Stripe-aligned Writes• Overcome RAID-5 small write problem• Modified Linux disk scheduler
• Groups writes into full stripes• Aligns writes along stripe boundaries• Approximately 20 lines of code
• Experiment• Hardware RAID-5, 4 disks, 16 KB chunks• Create 100 files of varying sizes
![Page 80: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/80.jpg)
Stripe-aligned Writes Experiment
• Simple modification has a large impact
![Page 81: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/81.jpg)
Detecting MisconfigurationsCo
rrect
RAID 5-LS RAID 5-LA RAID 5-RS RAID 5-RA
• Software RAID, 4 Disks, 8 KB Chunks• What if one disk is accidentally used
twice?
![Page 82: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/82.jpg)
Detecting MisconfigurationsCo
rrect
Misc
onfig
RAID 5-LS RAID 5-LA RAID 5-RS RAID 5-RA
![Page 83: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/83.jpg)
Detecting Failures• Software RAID• RAID-5 LS• 10 disks• 8 KB chunks
![Page 84: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/84.jpg)
Detecting Failures• Software RAID• RAID-5 LS• 10 disks• 8 KB chunks
• Disk 5 fails
![Page 85: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/85.jpg)
Outline• Introduction• Shear
• Background• Algorithm
• Case Studies• Performance: Stripe-aligned Writes• Management: Detecting Misconfiguration,
Failure• Conclusion
![Page 86: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/86.jpg)
Conclusion• Gray-box research
• Extract / exploit information from existing interfaces
• Shear• Extracts information
• Automatically determines storage array properties• Exploits information
• File system performance tuning• Storage management
![Page 87: Deconstructing Storage Arrays](https://reader035.vdocuments.site/reader035/viewer/2022062323/56816339550346895dd3c98c/html5/thumbnails/87.jpg)
Questions?
http://www.cs.wisc.edu/adsl/