Swift/RAID: A Distributed RAID System

Appeared in Computing Systems .


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

Darrell D. E. Long
Bruce R. Montague
Luis-Felipe Cabrera


Available media

Full paper text: PDF

Bibtex entry

  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},
Last modified 27 Jan 2023