Memory efficient CRDTs in dynamic environments
Modern distributed applications increasingly replicate data in order to guarantee high availability of systems and an optimal user experience. CRDTs are a family of replicated data types specially designed for highly available systems which guarantee some form of eventual consistency. However, memory usage may grow unboundedly in their implementations, as memory management is not tackled in most approaches.
In this paper, we explore a memory management model for operation-based CRDTs in dynamic setting, where nodes can dynamically join a network, and where the implementation can remove unnecessary metadata employed by CRDTs used to determine the order of operations applied in different replicas. We first describe how new nodes will be brought up-to-date and fully linked with other replicas, and later we introduce our memory management model which allows meta-data to be removed.
We benchmark the memory usage of an add-wins set using different garbage collection techniques in various situations and show how our approach can be beneficial in comparison to existing techniques.
Tue 22 OctDisplayed time zone: Beirut change
16:00 - 17:30
|Towards seamless interfacing between dynamic languages and native code|
|Memory efficient CRDTs in dynamic environments|
|Implementing a Language with Explicit Assignment Semantics|