Got: Git, but for Objects

04/13/2019
by   Rohan Achar, et al.
0

We look at one important category of distributed applications characterized by the existence of multiple collaborating, and competing, components sharing mutable, long-lived, replicated objects. The problem addressed by our work is that of object state synchronization among the components. As an organizing principle for replicated objects, we formally specify the Global Object Tracker (GoT) model, an object-oriented programming model based on causal consistency with application-level conflict resolution strategies, whose elements and interfaces mirror those found in decentralized version control systems: a version graph, working data, diffs, commit, checkout, fetch, push, and merge. We have implemented GoT in a framework called Spacetime, written in Python. In its purest form, GoT is impractical for real systems, because of the unbounded growth of the version graph and because passing diff'ed histories over the network makes remote communication too slow. We present our solution to these problems that adds some constraints to GoT applications, but that makes the model feasible in practice. We present a performance analysis of Spacetime for representative workloads, which shows that the additional constraints added to GoT make it not just feasible, but viable for real applications.

READ FULL TEXT
research
07/27/2021

Papaya: Global Typestate Analysis of Aliased Objects Extended Version

Typestates are state machines used in object-oriented programming to spe...
research
11/06/2020

A Precedence-Driven Approach for Concurrent Model Synchronization Scenarios using Triple Graph Grammars

Concurrent model synchronization is the task of restoring consistency be...
research
03/22/2018

Toward Adaptive Causal Consistency for Replicated Data Stores

Causal consistency for key-value stores has two main requirements (1) do...
research
12/01/2021

Operation-based Collaborative Data Sharing for Distributed Systems

Collaborative Data Sharing raises a fundamental issue in distributed sys...
research
08/04/2021

UniGPS: A Unified Programming Framework for Distributed Graph Processing

The industry and academia have proposed many distributed graph processin...
research
10/14/2015

Universal and Determined Constructors of Multisets of Objects

This paper contains analysis of creation of sets and multisets as an app...

Please sign up or login with your details

Forgot password? Click here to reset