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 DecDisplayed time zone: Osaka, Sapporo, Tokyo change
16:00 - 17:30
|Automatically Generating Descriptive Texts in Logging Statements: How Far Are We?|
Xiaotong Liu School of Software and Microelectronics, Peking University, Beijing, China, Tong Jia School of Software and Microelectronics, Peking University, Beijing, China, Ying Li School of Software and Microelectronics, Peking University, Beijing, China, Hao Yu Peking University, Yang Yue University of California, Irvine, Chuanjia Hou School of Software and Microelectronics, Peking University, Beijing, China
|Banyan: Coordination-free Transactions over Mergeable Replicated Data Types|
|Stack-Driven Program Generation of WebAssembly|