UCSC-CRL-94-06: SWIFT/RAID: A DISTRIBUTED RAID SYSTEM

02/01/1994 09:00 AM
Computer Science
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 distributed 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.

UCSC-CRL-94-06