Fusible Data Structures for Fault-Tolerance

  • Authors:
  • Vijay K. Garg;Vinit Ogale

  • Affiliations:
  • University of Texas at Austin;University of Texas at Austin

  • Venue:
  • ICDCS '07 Proceedings of the 27th International Conference on Distributed Computing Systems
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce the concept of fusible data structures to maintain fault-tolerant data in distributed programs. Given a fusible data structure, it is possible to combine a set of such structures into a single fused structure, that is smaller than the combined size of the original structures. When any of the original data structures is updated, the fused structure can be updated incrementally using local information about the update and does not need to be entirely recomputed. In case of a failure, the fused structure, along with the correct original data structures, can be used to efficiently reconstruct the failed structure. We show that many commonly used data structures like arrays, hash tables, stacks and queues are fusible and we present algorithms to fuse and recover such structures. This approach often requires significantly less space than conventional backups by replication and still allows efficient operations on the original data structures. For example, our experiments on a distributed system suggests that for a system with k servers, this approach requires k times less space than replication based techniques.