English

Consistency types for replicated data in a higher-order distributed programming language

Programming Languages 2020-11-02 v4

Abstract

Distributed systems address the increasing demand for fast access to resources and fault tolerance for data. However, due to scalability requirements, software developers need to trade consistency for performance. For certain data, consistency guarantees may be weakened if application correctness is unaffected. In contrast, data flow from data with weak consistency to data with strong consistency requirements is problematic, since application correctness may be broken. In this paper, we propose lattice-based consistency types for replicated data (CTRD), a higher-order static consistency-typed language with replicated data types. The type system of CTRD supports shared data among multiple clients, and statically enforces noninterference between data types with weaker consistency and data types with stronger consistency. The language can be applied to many distributed applications and guarantees that updates of weakly-consistent data can never affect strongly-consistent data. We also extend the basic CTRD with an optimization that reduces synchronization for generating reference graphs.

Keywords

Cite

@article{arxiv.1907.00822,
  title  = {Consistency types for replicated data in a higher-order distributed programming language},
  author = {Xin Zhao and Philipp Haller},
  journal= {arXiv preprint arXiv:1907.00822},
  year   = {2020}
}