automatic raid construction
DESCRIPTION
Automatic RAID Construction. Ba-Quy Vuong (Bryan) and Yiying Zhang Department of Computer Sciences University of Wisconsin-Madison. Outline. Introduction Architecture and Design Implementation Performance Evaluation Conclusion & Future Work. What is RAID?. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/1.jpg)
Automatic RAID Construction
Ba-Quy Vuong(Bryan) and Yiying Zhang
Department of Computer SciencesUniversity of Wisconsin-Madison
![Page 2: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/2.jpg)
Outline
• Introduction• Architecture and Design• Implementation• Performance Evaluation• Conclusion & Future Work
![Page 3: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/3.jpg)
What is RAID?• Redundant Arrays of Inexpensive Disks• Purposes:– Reliability– Performance
![Page 4: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/4.jpg)
RAID Implementation
• Hardware RAID: – Using dedicated hardware
to control the disk array– Host independent
• Software RAID: – Using a software layer
sitting above the disk drivers to control the disk array
– Host dependent
![Page 5: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/5.jpg)
Problems with Software RAID
• There are many ways to build RAID systems, including:– Different checksum-based schemes– Different parity-based scheme
• Not Flexible: Each RAID level requires a specific RAID driver
• Not Robust: Writing a new RAID driver is time-consuming and may have lots of bugs
![Page 6: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/6.jpg)
Our Solution: Automatic RAID Construction
• Approach:– A way to describe checksum and parity-based
schemes– Mapping the specified scheme to a RAID driver
• Advantages:– Flexibility – Robustness
![Page 7: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/7.jpg)
Outline
• Introduction• Architecture and Design• Implementation• Performance Evaluation• Conclusion & Future Work
![Page 8: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/8.jpg)
Architecture
• Design Consideration– Parity on top of Checksum– Checksum on top of Parity
![Page 9: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/9.jpg)
Architecture
• Example: – 3-disk RAID 5– Mirroring
checksum
![Page 10: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/10.jpg)
Automatic Parity• Goals: Allows any parity scheme• Two data structures– Layout matrix: How blocks are laid out• The whole matrix corresponds to a stripe• Each row corresponds to one strip• Zeros mean data blocks, ones mean parity blocks• Number of columns is the number of disks
0 0 0 1
0 0 1 0
0 1 0 0
1 0 0 0
0 0 0 1 0 1 0 1
4-disk RAID 5
4-disk RAID 4 4-disk RAID 0+1
![Page 11: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/11.jpg)
Automatic Parity
• Two data structures– Parity matrix: What data blocks contribute to a
parity block• #rows: #parity blocks in one stripe• #columns: #data blocks in one stripe• The element at row i, column j is one means the data
block j is used to calculate the parity block i1 1 1 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 1 1 1
1 1 11 0
0 1
4-disk RAID 5
4-disk RAID 4 4-disk RAID 0+1
![Page 12: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/12.jpg)
Automatic Checksum - Goals
• Checksum over data and parity blocks• Flexible number of blocks as a checksum unit• Flexible checksum size• Flexible functions• Flexible locations
![Page 13: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/13.jpg)
Automatic Checksum - Design
• User specified parameters:– # of blocks as a checksum unit– Checksum size for each block– Checksum function
• Example:– 3 blocks as a checksum unit– 1 block for checksums
• One more level mapping
![Page 14: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/14.jpg)
Outline
• Introduction• Architecture and Design• Implementation• Performance Evaluation• Conclusion & Future Work
![Page 15: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/15.jpg)
Implementation
• RAID driver is implemented as a device driver in Linux
• Checksums and parities are specified by users• Checksum functions• Provided: sum, hash-based
![Page 16: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/16.jpg)
Implementation
• Memory-based version– Uses each memory chunk as a disk– Easy to build and debug– No significant effect on the overall code
• Disk-based version– Uses real disks– Communicates with disk drivers through bio structure– Problems of synchronization due to asynchronous IOs
![Page 17: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/17.jpg)
Outline
• Introduction• Architecture and Design• Implementation• Performance Evaluation• Conclusion & Future Work
![Page 18: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/18.jpg)
Performance Evaluation: Setup
• Host: VMWare, Fedora 8, Intel Core 2 Duo 2.2GHz, 1GB RAM
• Memory-based• Simulating disk delay– Each low-level disk read: 15ms– Each low-level disk write: 17ms
• Simulating disk failure– Unable to read (20%)– Read inconsistency (20%)
![Page 19: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/19.jpg)
Performance Evaluation: Settings• Evaluation settings
– With and without reconstruction– Different layouts, parity logics, and checksum functions– Different workloads
• Systems: – System 1: 4-disk no parity, no checksum– System 2: 4-disk Raid 0+1 with hash-based checksum– System 3: 4-disk Raid 0+1 with sum checksum– System 4: 4-disk Raid 5 with hash-based checksum– System 5: 4-disk Raid 5 with sum checksum
• Workload: – reading, writing 30KB files– mkfs, mount
![Page 20: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/20.jpg)
Performance: Avg Read and Write Time
![Page 21: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/21.jpg)
Performance: Deviation of Read & Write
![Page 22: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/22.jpg)
Performance: Reconstruction
![Page 23: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/23.jpg)
Performance: Timeline
![Page 24: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/24.jpg)
Outline
• Introduction• Architecture and Design• Implementation• Performance Evaluation• Conclusion & Future Work
![Page 25: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/25.jpg)
Conclusion• Why automatic RAID?– Flexible vs. fixed raid drivers– Robustness
• Approach– Automatic Parity with two matrices– Automatic Checksum with user-defined parameters
• Lessons learned – Performance is a big issue– Disk-based RAID is much harder to implement than
Memory-based RAID
![Page 26: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/26.jpg)
Future Work
• Complete the disk-based version• Improve the performance• Check for input correctness• Extend the parity and checksum layers to
handle more schemes
![Page 27: Automatic RAID Construction](https://reader035.vdocument.in/reader035/viewer/2022070405/56813de8550346895da7bf53/html5/thumbnails/27.jpg)
Questions & Answers