[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2745947.2745954acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
short-paper

Lasp: a language for distributed, eventually consistent computations with CRDTs

Published: 21 April 2015 Publication History

Abstract

We propose Lasp, a novel programming model aimed to simplify correct, large-scale, distributed programming. Lasp leverages ideas from distributed dataflow programming extended with convergent data types. This provides support for computations where not all participants are online together at a given moment through Lasp's "convergent by design" applications. Lasp provides a familiar functional programming semantics, built on top of distributed systems infrastructure, targeted at the Erlang runtime system.
The initial Lasp design presented in this report supports synchronization free programming using convergent data types. It combines the expressiveness of these data types together with powerful primitives for composing them. This design lets us write long-lived fault-tolerant distributed applications with non-monotonic behavior. We show how to implement one nontrivial large-scale application, the ad counter scenario from the SyncFree project.

References

[1]
Lasp source code repository. https://github.com/cmeiklejohn/lasp. Accessed: 2015-02-14.
[2]
263 Million Monthly Active Users In December. http://www.rovio.com/en/news/blog/261/263-million-monthly-active-users-in-december/. Accessed: 2015-02-13.
[3]
SyncFree: Large-scale computation without synchronisation. https://syncfree.lip6.fr. Accessed: 2015-02-13.
[4]
P. Alvaro, P. Bailis, N. Conway, and J. M. Hellerstein. Consistency without borders. In Proceedings of the 4th annual Symposium on Cloud Computing, page 23. ACM, 2013.
[5]
M. Bravo, Z. Li, P. Van Roy, and C. Meiklejohn. Derflow: distributed deterministic dataflow programming for Erlang. In Proceedings of the Thirteenth ACM SIGPLAN workshop on Erlang, pages 51--60. ACM, 2014.
[6]
R. Brown, S. Cribbs, C. Meiklejohn, and S. Elliott. Riak DT map: a composable, convergent replicated dictionary. In Proceedings of the First Workshop on Principles and Practice of Eventual Consistency, page 1. ACM, 2014.
[7]
T. D. Chandra, R. Griesemer, and J. Redstone. Paxos made live: an engineering perspective. In Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing, pages 398--407. ACM, 2007.
[8]
N. Conway, W. R. Marczak, P. Alvaro, J. M. Hellerstein, and D. Maier. Logic and lattices for distributed programming. In Proceedings of the Third ACM Symposium on Cloud Computing, page 1. ACM, 2012.
[9]
R. Klophaus. Riak core: building distributed applications without shared state. In ACM SIGPLAN Commercial Users of Functional Programming, page 14. ACM, 2010.
[10]
C. Meiklejohn. On the composability of the Riak DT map: expanding from embedded to multi-key structures. In Proceedings of the First Workshop on Principles and Practice of Eventual Consistency, page 13. ACM, 2014.
[11]
C. Meiklejohn. Eventual Consistency and Deterministic Dataflow Programming. 8th Workshop on Large-Scale Distributed Systems and Middleware, 2014.
[12]
D. Miorandi, S. Sicari, F. De Pellegrini, and I. Chlamtac. Internet of things: Vision, applications and research challenges. Ad Hoc Networks, 10(7): 1497--1516, 2012.
[13]
M. Shapiro, N. Preguiça, C. Baquero, M. Zawirski, et al. A comprehensive study of convergent and commutative replicated data types. 2011.

Cited By

View all
  • (2024)Coordination-Free Replicated Datalog Streams with Application-Specific AvailabilityAdvances in Databases and Information Systems10.1007/978-3-031-70626-4_11(155-169)Online publication date: 1-Sep-2024
  • (2019)Ignis: scaling distribution-oblivious systems with light-touch distributionProceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3314221.3314586(1010-1026)Online publication date: 8-Jun-2019
  • (2018)ShareLatex on the EdgeProceedings of the 3rd Workshop on Middleware for Edge Clouds & Cloudlets10.1145/3286685.3286687(8-15)Online publication date: 10-Dec-2018
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PaPoC '15: Proceedings of the First Workshop on Principles and Practice of Consistency for Distributed Data
April 2015
42 pages
ISBN:9781450335379
DOI:10.1145/2745947
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 April 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Erlang
  2. commutative operations
  3. eventual consistency

Qualifiers

  • Short-paper

Funding Sources

  • European Union Seventh Framework Programme

Conference

EuroSys '15
Sponsor:
EuroSys '15: Tenth EuroSys Conference 2015
April 21, 2015
Bordeaux, France

Acceptance Rates

Overall Acceptance Rate 34 of 47 submissions, 72%

Upcoming Conference

EuroSys '25
Twentieth European Conference on Computer Systems
March 30 - April 3, 2025
Rotterdam , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)0
Reflects downloads up to 31 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Coordination-Free Replicated Datalog Streams with Application-Specific AvailabilityAdvances in Databases and Information Systems10.1007/978-3-031-70626-4_11(155-169)Online publication date: 1-Sep-2024
  • (2019)Ignis: scaling distribution-oblivious systems with light-touch distributionProceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3314221.3314586(1010-1026)Online publication date: 8-Jun-2019
  • (2018)ShareLatex on the EdgeProceedings of the 3rd Workshop on Middleware for Edge Clouds & Cloudlets10.1145/3286685.3286687(8-15)Online publication date: 10-Dec-2018
  • (2016)Exploring the role of sequential computation in distributed systems: motivating a programming paradigm shiftProceedings of the 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/2986012.2986015(145-164)Online publication date: 20-Oct-2016
  • (2015)The implementation and use of a generic dataflow behaviour in ErlangProceedings of the 14th ACM SIGPLAN Workshop on Erlang10.1145/2804295.2804300(39-45)Online publication date: 30-Aug-2015
  • (2015)LaspProceedings of the 17th International Symposium on Principles and Practice of Declarative Programming10.1145/2790449.2790525(184-195)Online publication date: 14-Jul-2015
  • (2015)A study of CRDTs that do computationsProceedings of the First Workshop on Principles and Practice of Consistency for Distributed Data10.1145/2745947.2745948(1-4)Online publication date: 21-Apr-2015
  • (2015)Selective HearingProceedings of the 2015 IEEE 34th Symposium on Reliable Distributed Systems Workshop (SRDSW)10.1109/SRDSW.2015.9(62-67)Online publication date: 28-Sep-2015

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media