FAB
- 7 October 2004
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGARCH Computer Architecture News
- Vol. 32 (5), 48-58
- https://doi.org/10.1145/1037947.1024400
Abstract
This paper describes the design, implementation, and evaluation of a Federated Array of Bricks (FAB), a distributed disk array that provides the reliability of traditional enterprise arrays with lower cost and better scalability. FAB is built from a collection of bricks , small storage appliances containing commodity disks, CPU, NVRAM, and network interface cards. FAB deploys a new majority-voting-based algorithm to replicate or erasure-code logical blocks across bricks and a reconfiguration algorithm to move data in the background when bricks are added or decommissioned. We argue that voting is practical and necessary for reliable, high-throughput storage systems such as FAB. We have implemented a FAB prototype on a 22-node Linux cluster. This prototype sustains 85MB/second of throughput for a database workload, and 270MB/second for a bulk-read workload. In addition, it can outperform traditional master-slave replication through performance decoupling and can handle brick failures and recoveries smoothly without disturbing client requests.Keywords
This publication has 13 references indexed in Scilit:
- A cost-effective, high-bandwidth storage architecturePublished by Association for Computing Machinery (ACM) ,1998
- The part-time parliamentACM Transactions on Computer Systems, 1998
- Dynamic voting for consistent primary componentsPublished by Association for Computing Machinery (ACM) ,1997
- PetalPublished by Association for Computing Machinery (ACM) ,1996
- Sharing memory robustly in message-passing systemsJournal of the ACM, 1995
- The TickerTAIP parallel RAID architectureACM Transactions on Computer Systems, 1994
- RAID: high-performance, reliable secondary storageACM Computing Surveys, 1994
- Efficient at-most-once messages based on synchronized clocksACM Transactions on Computer Systems, 1991
- Linearizability: a correctness condition for concurrent objectsACM Transactions on Programming Languages and Systems, 1990
- Weighted voting for replicated dataPublished by Association for Computing Machinery (ACM) ,1979