Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3210284.3210285acmconferencesArticle/Chapter ViewAbstractPublication PagesdebsConference Proceedingsconference-collections
research-article

Retro-λ: An Event-sourced Platform for Serverless Applications with Retroactive Computing Support

Published: 25 June 2018 Publication History

Abstract

State changes over time are inherent characteristics of stateful applications. So far, there are almost no attempts to make the past application history programmatically accessible or even modifiable. This is primarily due to the complexity of temporal changes and a difficult alignment with prevalent programming primitives and persistence strategies. Retroactive computing enables powerful capabilities though, including computations and predictions of alternate application timelines, post-hoc bug fixes, or retroactive state explorations. We propose an event-driven programming model that is oriented towards serverless computing and applies retroaction to the event sourcing paradigm. Our model is deliberately restrictive, but therefore keeps the complexity of retroactive operations in check. We introduce retro-λ, a runtime platform that implements the model and provides retroactive capabilites to its applications. While retro-λ only shows negligible performance overheads compared to similar solutions for running regular applications, it enables its users to execute retroactive computations on the application histories as part of its programming model.

References

[1]
John Abbruzzese. 2001. On using the multiverse to avoid the paradoxes of time travel. Analysis 61, 1 (2001), 36--38.
[2]
Ioana Baldini, Paul Castro, Kerry Chang, Perry Cheng, Stephen Fink, Vatche Ishakian, Nick Mitchell, Vinod Muthusamy, Rodric Rabbah, Aleksander Slominski, and others. 2017. Serverless computing: Current trends and open problems. In Research Advances in Cloud Computing. Springer, 1--20.
[3]
Dominic Betts, Julian Dominguez, Grigori Melnik, Fernando Simonazzi, and Mani Subramanian. 2013. Exploring CQRS and Event Sourcing: A journey into high scalability availability and maintainability with Windows Azure (Microsoft patterns & practices). Microsoft Patterns & Practices.
[4]
Jonas Bonér, Dave Farley, Roland Kuhn, and Martin Thompson. 2014. The Reactive Manifesto. http://www.reactivemanifesto.org/. (Sept. 2014). Accessed: 2018-02-18.
[5]
Paul C. Bryan and Mark Nottingham. 2015. JavaScript Object Notation (JSON) Patch. RFC 6902. (14 Oct. 2015).
[6]
Brian F Cooper, Adam Silberstein, Erwin Tarn, Raghu Ramakrishnan, and Russell Sears. 2010. Benchmarking cloud serving systems with YCSB. In Proceedings of the 1st ACM symposium on Cloud computing. ACM, 143--154.
[7]
Yingwei Cui, Jennifer Widom, and Janet L. Wiener. 2000. Tracing the Lineage of View Data in a Warehousing Environment. ACM Trans. Database Syst. 25, 2 (June 2000), 179--227.
[8]
Erik D. Demaine, John Iacono, and Stefan Langerman. 2007. Retroactive Data Structures. ACM Trans. Algorithms 3, 2, Article 13 (May 2007), 20 pages.
[9]
David Deutsch and Michael Lockwood. 1994. The quantum physics of time travel. Scientific American 270, 3 (1994), 68--74.
[10]
James R. Driscoll, Neil Sarnak, Daniel D. Sleator, and Robert E. Tarjan. 1989. Making data structures persistent. J. Comput. System Sci. 38, 1 (1989), 86 -- 124.
[11]
Eric Evans. 2003. Domain-Driven Design -- Tackling Complexity in the Heart of Software. Addison-Wesley.
[12]
Martin Fowler. 2003. Patterns of Enterprise Application Architecture. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
[13]
Martin Fowler. 2005. Event Sourcing. http://martinfowler.com/eaaDev/EventSourcing.html. (Dec. 2005). Accessed: 2018-02-19.
[14]
Martin Fowler. 2005. Retroactive Event. http://martinfowler.com/eaaDev/RetroactiveEvent.html. (Dec. 2005). Accessed: 2018-02-25.
[15]
Michael P Frank. 2017. Throwing computing into reverse. IEEE Spectrum 54, 9 (2017), 32--37.
[16]
A. Gal and O. Etzion. 1998. A multiagent update process in a database with temporal data dependencies and schema versioning. IEEE Transactions on Knowledge and Data Engineering 10, 1 (Jan 1998), 21--37.
[17]
Avigdor Gal, Opher Etzion, and Arie Segev. 1996. TALE -- A temporal active language and execution model. In Advanced Information Systems Engineering. Springer, 60--81.
[18]
Gregor Hohpe. 2006. Programming Without a Call Stack - Event-driven Architectures. Technical Report. eaipatterns.com.
[19]
H. V. Jagadish, Inderpal Singh Mumick, and Abraham Silberschatz. 1995. View Maintenance Issues for the Chronicle Data Model (Extended Abstract). In Proceedings of the Fourteenth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (PODS '95). ACM, New York, NY, USA, 113--124.
[20]
Ivo Jimenez, Michael Sevilla, Noah Watkins, Carlos Maltzahn, Jay Lofstead, Kathryn Mohror, Andrea Arpaci-Dusseau, and Remzi Arpaci-Dusseau. 2017. The popper convention: Making reproducible systems evaluation practical. In Parallel and Distributed Processing Symposium Workshops (IPDPSW), 2017 IEEE International. IEEE, 1561--1570.
[21]
G. McGrath and P. R. Brenner. 2017. Serverless Computing: Design, Implementation, and Performance. In 2017 IEEE 37th International Conference on Distributed Computing Systems Workshops (ICDCSW). 405--410.
[22]
Luc Moreau, Paul Groth, Simon Miles, Javier Vazquez-Salceda, John Ibbotson, Sheng Jiang, Steve Munroe, Omer Rana, Andreas Schreiber, Victor Tan, and Laszlo Varga. 2008. The Provenance of Electronic Data. Commun. ACM 51, 4 (April 2008), 52--58.
[23]
Norman W Paton and Oscar Diaz. 1999. Active database systems. ACM Computing Surveys (CSUR) 31, 1 (1999), 63--103.
[24]
G. Pothier and É. Tanter. 2009. Back to the Future: Omniscient Debugging. IEEE Software 26, 6 (Nov 2009), 78--85.
[25]
Robin Salkeld and Ronald Garcia. 2015. Essential Retroactive Weaving. In Companion Proceedings of the 14th International Conference on Modularity (MODULARITY Companion 2015). ACM, New York, NY, USA, 52--57.
[26]
Robin Salkeld, Wenhao Xu, Brendan Cully, Geoffrey Lefebvre, Andrew Warfield, and Gregor Kiczales. 2011. Retroactive Aspects: Programming in the Past. In Proceedings of the Ninth International Workshop on Dynamic Analysis (WODA '11). ACM, New York, NY, USA, 29--34.
[27]
Neil Savage. 2018. Going Serverless. Commun. ACM 61, 2 (Jan. 2018), 15--16.
[28]
Abdullah Uz Tansel, James Clifford, Shashi Gadia, Sushil Jajodia, Arie Segev, and Richard Snodgrass. 1993. Temporal Databases: Theory Design, and Implementation. Benjamin-Cummings Publishing Co., Inc.
[29]
Tetsuo Yokoyama, Holger Bock Axelsen, and Robert Glück. 2008. Principles of a Reversible Programming Language. In Proceedings of the 5th Conference on Computing Frontiers (CF '08). ACM, New York, NY, USA, 43--54.
[30]
Greg Young. 2010. CQRS Documents. https://cqrs.files.wordpress.com/2010/11/cqrs_documents.pdf. (Nov. 2010). Accessed: 2018-02-19.

Cited By

View all
  • (2023)Rise of the Planet of Serverless Computing: A Systematic ReviewACM Transactions on Software Engineering and Methodology10.1145/357964332:5(1-61)Online publication date: 21-Jul-2023
  • (2021)Survey on serverless computingJournal of Cloud Computing: Advances, Systems and Applications10.1186/s13677-021-00253-710:1Online publication date: 12-Jul-2021
  • (2021)PEDaLS: Persisting Versioned Data Structures2021 IEEE International Conference on Cloud Engineering (IC2E)10.1109/IC2E52221.2021.00033(179-190)Online publication date: Oct-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
DEBS '18: Proceedings of the 12th ACM International Conference on Distributed and Event-based Systems
June 2018
289 pages
ISBN:9781450357821
DOI:10.1145/3210284
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: 25 June 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. event processing
  2. event sourcing
  3. event-driven architecture
  4. retroaction
  5. retroactive computing
  6. serverless computing

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

DEBS '18

Acceptance Rates

DEBS '18 Paper Acceptance Rate 12 of 31 submissions, 39%;
Overall Acceptance Rate 145 of 583 submissions, 25%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)1
Reflects downloads up to 28 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Rise of the Planet of Serverless Computing: A Systematic ReviewACM Transactions on Software Engineering and Methodology10.1145/357964332:5(1-61)Online publication date: 21-Jul-2023
  • (2021)Survey on serverless computingJournal of Cloud Computing: Advances, Systems and Applications10.1186/s13677-021-00253-710:1Online publication date: 12-Jul-2021
  • (2021)PEDaLS: Persisting Versioned Data Structures2021 IEEE International Conference on Cloud Engineering (IC2E)10.1109/IC2E52221.2021.00033(179-190)Online publication date: Oct-2021
  • (2021)An empirical characterization of event sourced systems and their schema evolution — Lessons from industryJournal of Systems and Software10.1016/j.jss.2021.110970178(110970)Online publication date: Aug-2021
  • (2020)Workflow Integration Alleviates Identity and Access Management in Serverless ComputingProceedings of the 36th Annual Computer Security Applications Conference10.1145/3427228.3427665(496-509)Online publication date: 7-Dec-2020
  • (2020)Valve: Securing Function Workflows on Serverless Computing PlatformsProceedings of The Web Conference 202010.1145/3366423.3380173(939-950)Online publication date: 20-Apr-2020
  • (2019)Data Repair for Distributed, Event-based IoT ApplicationsProceedings of the 13th ACM International Conference on Distributed and Event-based Systems10.1145/3328905.3329511(139-150)Online publication date: 24-Jun-2019
  • (2019)CSPOTProceedings of the 4th ACM/IEEE Symposium on Edge Computing10.1145/3318216.3363314(236-249)Online publication date: 7-Nov-2019
  • (2018)Towards Time Travel in Distributed Event-sourced SystemsProceedings of the 12th ACM International Conference on Distributed and Event-based Systems10.1145/3210284.3219499(266-269)Online publication date: 25-Jun-2018

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media