David Mealha, Nuno M. Preguiça, M. C. Gomes, J. Leitao
{"title":"Data Replication on the Cloud/Edge","authors":"David Mealha, Nuno M. Preguiça, M. C. Gomes, J. Leitao","doi":"10.1145/3301419.3323973","DOIUrl":"https://doi.org/10.1145/3301419.3323973","url":null,"abstract":"This work presents a database replication system capitalising on hybrid cloud/edge infra-structures, which may be used in novel software architectures like microservices' applications. The system aims to reduce the latency perceived by clients performing read and update operations on a database, by locating replicas on edge nodes nearer end users. The replicas' convergence algorithm is based on eventual consistency and presents a novel solution that combines Operations Transformation and CRDTs techniques. The system follows the MongoDB data model and is validated on geographically disperse Amazon AWS data centers simulating edge nodes.","PeriodicalId":337828,"journal":{"name":"Proceedings of the 6th Workshop on Principles and Practice of Consistency for Distributed Data","volume":"139 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115191296","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Adriaan Leijnse, Paulo Sérgio Almeida, Carlos Baquero
{"title":"Higher-Order Patterns in Replicated Data Types","authors":"Adriaan Leijnse, Paulo Sérgio Almeida, Carlos Baquero","doi":"10.1145/3301419.3323971","DOIUrl":"https://doi.org/10.1145/3301419.3323971","url":null,"abstract":"The design of Conflict-free Replicated Data Types traditionally requires implementing new designs from scratch to meet a desired behavior. Although there are composition rules that can guide the process, there has not been a lot of work explaining how existing data types relate to each other, nor work that factors out common patterns. To bring clarity to the field we explain underlying patterns that are common to flags, sets, and registers. The identified patterns are succinct and composable, which gives them the power to explain both current designs and open up the space for new ones.","PeriodicalId":337828,"journal":{"name":"Proceedings of the 6th Workshop on Principles and Practice of Consistency for Distributed Data","volume":"58 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116931534","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"In Search of a Scalable Raft-based Replication Architecture","authors":"Christian Deyerl, T. Distler","doi":"10.1145/3301419.3323968","DOIUrl":"https://doi.org/10.1145/3301419.3323968","url":null,"abstract":"Providing a consistent replicated log across different servers, the Raft consensus protocol greatly facilitates the design of fault-tolerant services. However, due to the protocol following the principle of a single strong leader, such architectures in general do not scale with the number of cores and/or network cards available on each server. To address this problem, we present the Niagara replication architecture, which makes it possible to build scalable systems while still relying on Raft for consensus. In particular, we show how Niagara parallelizes the process of appending new log entries across multiple Raft instances and discuss Niagara's support for read operations with different consistency requirements.","PeriodicalId":337828,"journal":{"name":"Proceedings of the 6th Workshop on Principles and Practice of Consistency for Distributed Data","volume":"121 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115089152","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Techniques for safe and highly available cloud applications","authors":"Carla Ferreira","doi":"10.1145/3301419.3323967","DOIUrl":"https://doi.org/10.1145/3301419.3323967","url":null,"abstract":"Building trustworthy and highly available cloud applications is inherently complex and error-prone. Current industrial solutions are either ad-hoc solutions, relying heavily on the developerâĂŹs expertise, or use protocols that blindly restrict concurrency reducing performance and availability. We discusses sound techniques that leverage recent theoretical advances that either reduce or avoid coordinating the execution of operations, while enforcing the correctness of the application. To minimise coordination based on application-specific invariants, an analysis technique was developed that identifies which operations would be unsafe under concurrent execution. Given the set of problematic operations, the developer can then devise and formally check an optimized coordination protocol that guarantees the application invariants. Alternatively, coordination can be eschew altogether by extending operations with repair actions that ensure application invariants are always maintained. The modified operations preserve the original semantics when no conflicting updates occur. If a concurrent conflict occurs, we leverage conflict resolution policies to ensure a deterministic result that preserves the application invariants.","PeriodicalId":337828,"journal":{"name":"Proceedings of the 6th Workshop on Principles and Practice of Consistency for Distributed Data","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131803902","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Kevin De Porre, Florian Myter, C. Troyer, Christophe Scholliers, W. Meuter, E. G. Boix
{"title":"A Generic Replicated Data Type for Strong Eventual Consistency","authors":"Kevin De Porre, Florian Myter, C. Troyer, Christophe Scholliers, W. Meuter, E. G. Boix","doi":"10.1145/3301419.3323974","DOIUrl":"https://doi.org/10.1145/3301419.3323974","url":null,"abstract":"Conflict-free replicated data types (CRDTs) [7] aid programmers develop highly available and scalable distributed systems. However, CRDTs require operations to commute which is not practical. This means that programmers cannot replicate regular objects without worrying about concurrency. In this paper, we introduce strong eventually consistent replicated objects (SECROs), a generic data type that is highly available and guarantees strong eventual consistency (SEC) without imposing restrictions on its operations.","PeriodicalId":337828,"journal":{"name":"Proceedings of the 6th Workshop on Principles and Practice of Consistency for Distributed Data","volume":"78 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131442248","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Support of Strong Consistency on Fog Applications","authors":"Diogo Lima, Hugo M. Miranda, François Taïani","doi":"10.1145/3301419.3323969","DOIUrl":"https://doi.org/10.1145/3301419.3323969","url":null,"abstract":"Providing scalability for mobile distributed applications often leads the applications to compromise their consistency requirements. However, some of these applications depend on strong consistency to guarantee that one consistent state is observed by all participants over (some of) the shared objects of the application. While deploying the application in the Cloud facilitates state management and trivially solves the strong consistency requirements, this also creates a geographical barrier between mobile devices and the application servers that penalises performance with an unavoidable latency and jitter. Fog Computing architectures can mitigate this impact by deploying surrogate servers at the network edge but its performance depends of a middleware service able to monitor the application and deploy each fragment of the state at the most convenient location. Such alternative leads to the emergence of distributed transactions that require increasing efforts to maintain strong consistency. This paper addresses how virtual synchrony, in particular a technique named Light-Weight Group (LWG), can help supporting strong consistency for mobile applications in the Fog Computing environment.","PeriodicalId":337828,"journal":{"name":"Proceedings of the 6th Workshop on Principles and Practice of Consistency for Distributed Data","volume":"69 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121701637","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Martin Kleppmann, Victor B. F. Gomes, D. Mulligan, A. Beresford
{"title":"Interleaving anomalies in collaborative text editors","authors":"Martin Kleppmann, Victor B. F. Gomes, D. Mulligan, A. Beresford","doi":"10.1145/3301419.3323972","DOIUrl":"https://doi.org/10.1145/3301419.3323972","url":null,"abstract":"Collaborative text editors allow two or more users to concurrently edit a shared document without merge conflicts. Such systems require an algorithm to provide convergence, ensuring all clients that have seen the same set of document edits are in the same state. Unfortunately convergence alone does not guarantee that a collaborative text editor is usable. Several published algorithms for collaborative text editing exhibit an undesirable anomaly in which concurrently inserted portions of text with a well-defined order may be randomly interleaved on a character-by-character basis, resulting in an unreadable jumble of letters. Although this anomaly appears to be known informally by some researchers in the field, we are not aware of any published work that fully explains or addresses it. We show that several algorithms suffer from this problem, explain its cause, and also identify a lesser variant of the anomaly that occurs in another algorithm. Moreover, we propose a specification of collaborative text editing that rules out the anomaly, and show how to prevent the lesser anomaly from occurring in one particular algorithm.","PeriodicalId":337828,"journal":{"name":"Proceedings of the 6th Workshop on Principles and Practice of Consistency for Distributed Data","volume":"62 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130420943","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Invariant Safety for Distributed Applications","authors":"Sreeja Nair, G. Petri, M. Shapiro","doi":"10.1145/3301419.3323970","DOIUrl":"https://doi.org/10.1145/3301419.3323970","url":null,"abstract":"We study a proof methodology for verifying the safety of data invariants of highly-available distributed applications that replicate state. The proof is (1) modular: one can reason about each individual operation separately, and (2) sequential: one can reason about a distributed application as if it were sequential. We automate the methodology and illustrate the use of the tool with a representative example.","PeriodicalId":337828,"journal":{"name":"Proceedings of the 6th Workshop on Principles and Practice of Consistency for Distributed Data","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-03-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127736592","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Proceedings of the 6th Workshop on Principles and Practice of Consistency for Distributed Data","authors":"","doi":"10.1145/3301419","DOIUrl":"https://doi.org/10.1145/3301419","url":null,"abstract":"","PeriodicalId":337828,"journal":{"name":"Proceedings of the 6th Workshop on Principles and Practice of Consistency for Distributed Data","volume":"153 9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133552956","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}