APLAS 2020

Banyan: Coordination free distributed transaction over mergeable types

 

Expectatiton from a distributed application

  • Seamless request and response, meaning availability
  • Correctness of data, meaning consistency
  • Refelting the updates, meaning convergence
  • Availability
  • Consistency
  • Convergence

CAP theorem

Challenges with loosely connected distributed applications/database

 

  • balancing between availability, coordination and cosistency will become challange.
  • problem is latency
  • resolving conflicts as per semantics of teh application (correctness)
  • present solutions include sequential data types with built in conflict resolution like last writer wins and multi valued  objects
  • problems like write skew makes it difficult to create complex applications

MRDT

  • why do we need replicated data types
  • why do we need mergeable replicated data types
  • an eg to show how it works(3-way merge)

Banyan

  • Programming model
  • MRDT := generic datatypes with three way merge
  • coordination free and isolated transactions
  • instantiation over off the shelf distributed store
  • provides per object causal consistency
  • transaction model is based on principles of git like branches

It provides platform for distributed transactions which are coordination free.

This can help in developing real time applications

API:

  • connect
  • close
  • read
  • write
  • publish
  • refresh

Programming Model

Irmin Stores

Distributed Build System

1. 3 values are compared for full caching

a. normal installation on each machine without caching

b. first time installation when caching is enabled

c. second time installation when cahing is enabled

2. partial caching

a. when there is no cached libraries, but caching is enabled

b. other libraries are installed, when some of the dependent libraries are installed earlier and chached.

Copy of APLAS 2020

By Shashank shekhar Dubey