Banyan: Coordination-free Transactions over Mergeable Replicated Data Types
Programming loosely connected distributed applications is a challenging endeavour. Loosely connected distributed applications such as geo-distributed stores and intermittently reachable IoT devices cannot afford to coordinate among all of the replicas in order to ensure data consistency due to prohibitive latency costs and the impossibility of coordination if availability is to be ensured. Thus, the state of the replicas evolves independently, making it difficult to develop correct applications. Existing solutions to this problem limit the data types that can be used in these applications, which neither offer the ability to compose them to construct more complex data types nor offer transactions.
In this paper, we describe Banyan, a distributed programming model for developing loosely connected distributed applications. Data types in Banyan are equipped with a three-way merge function a la Git to handle conflicts. Banyan provides isolated transactions for grouping together individual operations which do not require coordination among different replicas. We instantiate Banyan over Cassandra, an off-the-shelf industrial-strength distributed store. Several benchmarks, including a distributed build-cache, illustrates the effectiveness of the approach.
Tue 1 Dec Times are displayed in time zone: Osaka, Sapporo, Tokyo change
16:00 - 17:30
|Automatically Generating Descriptive Texts in Logging Statements: How Far Are We?|
Xiaotong LiuSchool of Software and Microelectronics, Peking University, Beijing, China, Tong JiaSchool of Software and Microelectronics, Peking University, Beijing, China, Ying LiSchool of Software and Microelectronics, Peking University, Beijing, China, Hao YuPeking University, Yang YueUniversity of California, Irvine, Chuanjia HouSchool of Software and Microelectronics, Peking University, Beijing, China
|Banyan: Coordination-free Transactions over Mergeable Replicated Data Types|
|Stack-Driven Program Generation of WebAssembly|