Adding Adaptive Flow Control to Swift/RAID
Abstract
We discuss an adaptive flow control mechanism for the Swift/RAID distributed file system. Our goal is to achieve near-optimal performance on heterogeneous networks where available load capacity varies due to other network traffic. The original Swift/RAID prototype used synchronous communication, achieving throughput considerably less than available network capacity. We designed and implemented an adaptive flow control mechanism that provides greatly improved performance. Our design uses a simple automatic repeat request (ARQ) go back N protocol coupled with the congestion avoidance and control mechanism developed for the Transmission Control Protocol (TCP). The Swift/RAID implementation contains a transfer plan executor to isolate all of the communications code from the rest of Swift. The adaptive flow control design was implemented entirely in this module. Results from experimental data show the adaptive design achieving an increase in throughput for reads from 671 KB/s for the original synchronous implementation to 927 KB/s (a 38% increase) for the adaptive prototype, and an increase from 375 KB/s to 559 KB/s (a 49% increase) in write throughput.
Document Details
- Document Type
- Technical Report
- Publication Date
- Jan 12, 1995
- Accession Number
- ADA461752
Entities
People
- Chane L. Fullmer
- Darrell D. Long
- Luis-felipe Cabrera
Organizations
- University of California, Santa Cruz