ABSTRACT


    Carnegie Mellon University, Dept. ECE Ph.D. Dissertation CMU-PDL-04-111. August 2004.

    Efficient, scalable consistency for highly fault-tolerant storage

    Garth R. Goodson

    Parallel Data Laboratory
    Electrical and Computer Engineering
    Carnegie Mellon University
    Pittsburgh, PA 15213

    http://www.pdl.cmu.edu/

    Fault-tolerant storage systems spread data redundantly across a set of storage-nodes in an effort to preserve and provide access to data despite failures. One difficulty created by this architecture is the need for a consistent view, across storage-nodes, of the most recent update. Such consistency is made difficult by concurrent updates, partial updates made by clients that fail, and failures of storage-nodes.

    This thesis demonstrates a novel approach to achieving scalable, highly fault-tolerant storage systems by leveraging a set of efficient and scalable, strong consistency protocols enabled by storage-node versioning. Versions maintained by storage-nodes can be used to provide consistency, without the need for central serialization, and despite concurrency. Since versions are maintained for every update, even if a client fails part way through an update, concurrency exists during an update, the latest complete version of the data-item being accessed still exists in the system—it does not get destroyed by subsequent updates. Additionally, versioning enables the use of optimistic protocols.

    This thesis develops a set of consistency protocols appropriate for constructing blockbased storage and metadata services. The block-based storage protocol is made space efficient through the use of erasure codes and made scalable by offloading work from the storage-nodes to the clients. The metadata service is made scalable by avoiding the high costs associated with agreement algorithms and by utilizing threshold voting quorums. Fault-tolerance is achieved by developing each protocol in a hybrid storage-node faultmodel (a mix of Byzantine and crash storage-nodes can be tolerated), capable of tolerating crash or Byzantine clients, and utilizing asynchronous communication.

    KEYWORDS: survivable storage systems, Byzantine fault-tolerance, erasure codes

    FULL THESIS: pdf


    PDL Home Publications Home

    © 2008.
    Last updated 20 April, 2005