Swift/RAID: A Distributed RAID System
Appeared in Computing Systems .
Abstract
The Swift I/O architecture is designed to provide high data rates in support of multimedia type applications in general purpose distributed environments through the use of distributed striping. Striping techniques place sections of a single logical data space onto multiple physical devices. The original Swift prototype was designed to validate the architecture, but did not provide fault tolerance. We have implemented a new prototype of the Swift architecture that provides fault tolerance in the distributed environment in the same manner as RAID levels 4 and 5. RAID (Redundant Arrays of Inexpensive Disks) techniques have recently been widely used to increase both performance and fault tolerance of disk storage systems.
The new Swift/RAID implementation manages all communication using a distributed transfer plan executor which isolates all communication code from the rest of Swift. The transfer plan executor is implemented as a dis- tributed finite state machine which decodes and executes a set of reliable data transfer operations. This approach enabled us to easily investigate alternative architectures and communications protocols.
Providing fault tolerance comes at a cost, since computing and administering parity data impacts Swift/RAID data rates. For a five node system, in one typical performance benchmark, Swift/RAID level 5 obtained 87% of the original Swift read throughput and 53% of the write throughput. Swift/RAID level 4 obtained 92% of the original Swift read throughput and 34% of the write throughput.
Publication date:
April 1994
Authors:
Darrell D. E. Long
Bruce R. Montague
Luis-Felipe Cabrera
Projects:
Available media
Full paper text: PDF
Bibtex entry
@article{CS-Long-1994, author = {Darrell D. E. Long and Bruce R. Montague and Luis-Felipe Cabrera}, title = {Swift/{RAID}: A Distributed {RAID} System}, journal = {Computing Systems}, volume = {}, month = apr, year = {1994}, }