ExoSnap: a Modular Approach to Semantic Synchronization and Snapshots

Download: pdf,

``ExoSnap: a Modular Approach to Semantic Synchronization and Snapshots" by Liuba Shrira (Brandeis), and Dong Siying(Microsoft). Position paper for the 2nd ACM Eurosys Workshop on Dependable Distributed Data Management, (Eurosys 2008 workshop WDDDM ), Glasgow, UK, March 2008.)


Type-specific synchronization and consistent snapshot queries are well-known approaches for reducing contention for long-running transactions. Current approaches suffer from a limitation that precludes the use of generic ``commodity'' servers because they require to run the type-specific synchronization code at the servers. This is a problem for systems that must rely on generic servers. We describe an approach that overcomes the limitation. Our approach modularizes the long-running transaction system in a new different way. We run the type-specific transaction synchronization code outside the server, on the client side. The problem is, that for performance reasons, transactionally consistent snapshots must be created in the server but snapshot consistency depends on the type-specific transaction synchronization. Our approach decouplea the type-specific part of the snapshot system from the generic part and integrates the type-specific part with the type-specific client-side synchronization code. This way, the generic part of the snapshot system runs efficiently on the server side capturing snapshots that include inconsistencies and the client side snapshot system running the type-specific code ``corrects'' the snapshots when queries access them. The result is a modular system that allows to reduce transaction contention in a type-specific way without modying the servers, allowing to use generic commodity servers.

BibTeX entry:

   author = {Liuba Shrira and Siying Dong},
   title = {ExoSnap: a Modular Approach to Semantic Synchronization and Snapshots},
   booktitle = {2nd ACM Workshop on Dependable Distributed Data Management (WDDDM 08)},
   address = {Glasgow, UK},
   month = March,
   year = {2008}