1 research outputs found

    Using Lightweight Transactions and Snapshots for Fault-Tolerant Services Based on Shared Storage Bricks

    Full text link
    To satisfy current and future application needs in a cost effective manner, storage systems are evolving from mono-lithic disk arrays to networked storage architectures based on commodity components. So far, this architectural transi-tion has mostly been envisioned as a way to scale capacity and performance. In this work we examine how the block-level interface exported by such networked storage systems can be extended to deal with reliability. Our goals are: (a) At the design level, to examine how strong reliability se-mantics can be offered at the block level; (b) At the imple-mentation level, to examine the mechanisms required and how they may be provided in a modular and configurable manner. We first discuss how transactional-type semantics may be offered at the block level. We present a system design that uses the concept of atomic update intervals combined with existing, block-level locking and snapshot mechanisms, in contrast to the more common journaling techniques. We discuss in detail the design of the associated mechanisms and the trade-offs and challenges when dividing the re-quired functionality between the file-system and the block-level storage. Our approach is based on a unified and thus, non-redundant set of mechanisms for providing reliability both at the block and file level. Our design and imple-mentation effectively provide a tunable, lightweight trans-actions mechanism to higher system and application layers. Finally, we describe how the associated protocols can be implemented in a modular way in a prototype storage sys-tem we are currently building. As our system is currently being implemented, we do not present performance results
    corecore