27
Automatic RAID Construction Ba-Quy Vuong(Bryan) and Yiying Zhang Department of Computer Sciences University of Wisconsin-Madison

Automatic RAID Construction

  • Upload
    joie

  • View
    27

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: Automatic RAID Construction

Automatic RAID Construction

Ba-Quy Vuong(Bryan) and Yiying Zhang

Department of Computer SciencesUniversity of Wisconsin-Madison

Page 2: Automatic RAID Construction

Outline

• Introduction• Architecture and Design• Implementation• Performance Evaluation• Conclusion & Future Work

Page 3: Automatic RAID Construction

What is RAID?• Redundant Arrays of Inexpensive Disks• Purposes:– Reliability– Performance

Page 4: Automatic RAID Construction

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

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

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

Outline

• Introduction• Architecture and Design• Implementation• Performance Evaluation• Conclusion & Future Work

Page 8: Automatic RAID Construction

Architecture

• Design Consideration– Parity on top of Checksum– Checksum on top of Parity

Page 9: Automatic RAID Construction

Architecture

• Example: – 3-disk RAID 5– Mirroring

checksum

Page 10: Automatic RAID Construction

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

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

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

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

Outline

• Introduction• Architecture and Design• Implementation• Performance Evaluation• Conclusion & Future Work

Page 15: Automatic RAID Construction

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

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

Outline

• Introduction• Architecture and Design• Implementation• Performance Evaluation• Conclusion & Future Work

Page 18: Automatic RAID Construction

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

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

Performance: Avg Read and Write Time

Page 21: Automatic RAID Construction

Performance: Deviation of Read & Write

Page 22: Automatic RAID Construction

Performance: Reconstruction

Page 23: Automatic RAID Construction

Performance: Timeline

Page 24: Automatic RAID Construction

Outline

• Introduction• Architecture and Design• Implementation• Performance Evaluation• Conclusion & Future Work

Page 25: Automatic RAID Construction

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

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

Questions & Answers