Efficient semantics-aware reconciliation for optimistic write sharing

  • Nuno Preguiça ,
  • Marc Shapiro ,
  • Caroline Matheson

MSR-TR-2002-52 |

Published by Microsoft

The IceCube system provides near-optimal reconciliation for optimistically-replicated data. Optimistic replication lets multiple users write to shared data with no remote synchronisation, thus allowing decentralised access immune to network latency and isolation. However such replicas diverge and must be reconciled. Reconciliation depends on the semantics of the shared data and the intents of the users. In IceCube, both applications and shared data types advertise the true dependencies between update actions. IceCube suggests reconciliation schedules that respect these dependencies, using a heuristic search algorithm. IceCube is an application-independent system that enables seamless reconciliation across diverse applications and data types. It has a simple, high-level API that can express a wide range of semantics. It drastically simplifies the development of a reconcilable application. This paper presents the IceCube system in depth and reports on application experience. Evaluation using realistic benchmarks indicates that IceCube runs at reasonable speeds and scales to large input sets.

Publication Downloads

IceCube (engine and applications)

June 11, 2002

In a distributed system, shared data is replicated. Updates cause replicas to diverge. Reconciliation repairs the divergence. IceCube is a general-purpose reconciliation engine, parameterised by the semantics of shared data and by the users' declared intentions. Last published: June 11, 2002.