Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3698038.3698540acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article
Open access

Rethinking State Management in Actor Systems for Cloud-Native Applications

Published: 20 November 2024 Publication History

Abstract

The actor model has gained increasing popularity. However, it lacks support for complex state management tasks, such as enforcing foreign key constraints and ensuring data replication consistency across actors. These are crucial properties in partitioned application designs, such as microservices. To fill this gap, we start by analyzing the key impediments in state-of-the-art actor systems. We find it difficult for developers to express complex data relationships across actors and reason about the impact of state updates on performance due to opaque state management abstractions. To solve this conundrum, we develop SmSa, a novel data management layer for actor systems, allowing developers to declare data dependencies that cut across actors, including foreign keys, data replications, and other dependencies. SmSa can transparently enforce the declared dependencies, reducing the burden on developers. Furthermore, SmSa employs novel logging and concurrency control algorithms to support transactional maintenance of data dependencies.
We demonstrate SmSa can support core data management tasks where dependencies across components appear frequently without jeopardizing application logic expressiveness and performance. Our experiments show SmSa significantly reduces the logging overhead and leads to increased concurrency level, improving by up to 2X the performance of state-of-the-art deterministic scheduling approaches. As a result, SmSa will make it easier to design and implement highly partitioned and distributed applications.

References

[1]
Microsoft 2024. Orleans transactions. Microsoft. Retrieved April 8, 2024 from https://learn.microsoft.com/en-us/dotnet/orleans/grains/transactions#grain-implementations
[2]
Microsoft 2024. Why streams in Orleans? Microsoft. Retrieved July 13, 2024 from https://learn.microsoft.com/en-us/dotnet/orleans/streaming/streams-why
[3]
ActorDB. 2024. ActorDB Documentation. https://www.actordb.com/docs-about.html.
[4]
Gul Agha. 1986. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press. https://doi.org/10.5555/7929
[5]
Akka. 2021. Akka Documentation. https://akka.io/.
[6]
Akka. 2024. Why modern systems need a new programming model. https://doc.akka.io/docs/akka/current/typed/guide/actors-motivation.html.
[7]
Mohammad Alomari, Michael Cahill, Alan Fekete, and Uwe Rohm. 2008. The Cost of Serializability on Platforms That Use Snapshot Isolation. In Proceedings of the 2008 IEEE 24th International Conference on Data Engineering. 576--585.
[8]
Mehdi Bagherzadeh, Nicholas Fireman, Anas Shawesh, and Raffi Khatchadourian. 2020. Actor concurrency bugs: a comprehensive study on symptoms, root causes, API usages, and differences. Proc. ACM Program. Lang. 4, OOPSLA, Article 214 (nov 2020), 32 pages. https://doi.org/10.1145/3428282
[9]
Philip A. Bernstein, Sebastian Burckhardt, Sergey Bykov, Natacha Crooks, Jose M. Faleiro, Garbriel Kliot, Alok Kumbhare, Muntasir Raihan Rahman, Vivek Shah, Adriana Szekeres, and Jorgen Thelin. 2017. Geo-Distribution of Actor-Based Services. In Proceedings of the ACM on Programming Languages. 1--26.
[10]
Philip A. Bernstein, Sergey Bykov, Alan Geller, Gabriel Kliot, and Jorgen Thelin. 2014. Orleans: Distributed Virtual Actors for Programmability and Scalability. Technical Report. Microsoft Research.
[11]
Philip A. Bernstein, Mohammad Dashti, Tim Kiefer, and David Maier. 2017. Indexing in an Actor-Oriented Database. In Conference on Innovative Database Research (CIDR).
[12]
Reuben Bond. 2018. Solving a Transactions Performance Mystery. https://dotnet.github.io/orleans/blog/solving-a-transactions-performance-mystery.html.
[13]
Jason Bragg. 2019. Orleans transaction deadlocks. https://github.com/dotnet/orleans/issues/5297.
[14]
Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, and Russell Sears. 2010. Benchmarking cloud serving systems with YCSB. In Proceedings of the 1st ACM symposium on Cloud computing.
[15]
Tamer Eldeeb, Sebastian Burckhardt, Reuben Bond, Asaf Cidon, Junfeng Yang, and Philip A. Bernstein. 2024. Cloud Actor-Oriented Database Transactions in Orleans. Proc. VLDB Endow. 17, 12 (2024), 3720--3730. https://www.vldb.org/pvldb/vol17/p3720-eldeeb.pdf
[16]
Brad Irby. 2024. Orleans slow with minimalistic use case. https://stackoverflow.com/questions/58308230/orleans-akka-net-problem-with-understanding-the-actor-model
[17]
Martin Kleppmann, Alastair R. Beresford, and Boerge Svingen. 2019. Online Event Processing. Commun. ACM 62, 5 (apr 2019), 43--49. https://doi.org/10.1145/3312527
[18]
Peter Kraft, Fiodar Kazhamiaka, Peter Bailis, and Matei Zaharia. 2022. Data-Parallel Actors: A Programming Model for Scalable Query Serving Systems. In 19th USENIX Symposium on Networked Systems Design and Implementation (NSDI 22). USENIX Association, Renton, WA, 1059--1074. https://www.usenix.org/conference/nsdi22/presentation/kraft
[19]
Rodrigo Laigner, Zhexiang Zhang, Yijian Liu, Leonardo Freitas Gomes, and Yongluan Zhou. 2024. A Benchmark for Data Management in Microservices. arXiv:2403.12605 [cs.DB] https://arxiv.org/abs/2403.12605
[20]
Rodrigo Laigner and Yongluan Zhou. 2024. Benchmarking Data Management Systems for Microservices. In IEEE 40th International Conference on Data Engineering (ICDE). https://www.researchgate.net/publication/380699403_Benchmarking_Data_Management_Systems_for_Microservices
[21]
Rodrigo Laigner, Yongluan Zhou, Marcos Antonio Vaz Salles, Yijian Liu, and Marcos Kalinowski. 2021. Data Management in Microservices: State of the Practice, Challenges, and Research Directions. Proc. VLDB Endow. 14, 13 (sep 2021), 3348--3361. https://doi.org/10.14778/3484224.3484232
[22]
Lightbend. 2024. Distributed Data. https://doc.akka.io/docs/akka/current/typed/distributed-data.html#distributed-data.
[23]
Yijian Liu. 2021. Why I get low throughput with OrleansTransaction. https://github.com/dotnet/orleans/issues/6912.
[24]
Yijian Liu, Li Su, Vivek Shah, Yongluan Zhou, and Marcos Antonio Vaz Salles. 2022. Hybrid Deterministic and Nondeterministic Execution of Transactions in Actor Systems. In Proceedings of the 2022 International Conference on Management of Data. 65--78.
[25]
Jhonny Mertz and Ingrid Nunes. 2017. Understanding Application-Level Caching in Web Applications: A Comprehensive Introduction and Survey of State-of-the-Art Approaches. ACM Comput. Surv. 50, 6, Article 98 (nov 2017), 34 pages. https://doi.org/10.1145/3145813
[26]
Murdock. 2024. Orleans slow with minimalistic use case. https://stackoverflow.com/questions/74310628/orleans-slow-with-minimalistic-use-case
[27]
Orleans. 2021. Orleans Documentation. https://dotnet.github.io/orleans/docs/index.html.
[28]
Dan R. K. Ports. 2012. Application-Level Caching with Transactional Consistency. Ph.D. MIT, Cambridge, MA, USA.
[29]
Nuno Preguiça, Carlos Baquero, and Marc Shapiro. 2018. Conflict-Free Replicated Data Types CRDTs. Springer International Publishing, Cham, 1--10. https://doi.org/10.1007/978-3- 319-63962-8_185-1
[30]
Rafiq. 2024. How to handle multiple update event when there is more then one replica of a pod. https://stackoverflow.com/questions/67612615/how-to-handle-multiple-update-event-when-there-is-more-then-one-replica-of-a-pod
[31]
Vivek Shah and Marcos Antonio Vaz Salles. 2017. Actor-Relational Database Systems: A Manifesto. arXiv (2017).
[32]
Vivek Shah and Marcos Antonio Vaz Salles. 2018. Reactors: A Case for Predictable, Virtualized Actor Database Systems. In Proceedings of the 2018 International Conference on Management of Data. 259--274.
[33]
Marc Shapiro, Nuno Preguiça, Carlos Baquero, and Marek Zawirski. 2011. Conflict-Free Replicated Data Types. In Stabilization, Safety, and Security of Distributed Systems. 386--400.
[34]
TPCC. 2021. TPC-C is an On-Line Transaction Processing Benchmark. http://www.tpc.org/tpcc/.
[35]
Nicolas Viennot, Mathias Lécuyer, Jonathan Bell, Roxana Geambasu, and Jason Nieh. 2015. Synapse: A Microservices Architecture for Heterogeneous-Database Web Applications. In Proceedings of the Tenth European Conference on Computer Systems (Bordeaux, France) (EuroSys '15). Association for Computing Machinery, New York, NY, USA, Article 21, 16 pages. https://doi.org/10.1145/2741948.2741975
[36]
Yiwen Wang, Julio Cesar Dos Reis, Kasper Myrtue Borggren, Marcos Antonio Vaz Salles, Claudia Bauzer Medeiros, and Yongluan Zhou. 2019. Modeling and Building IoT Data Platforms with Actor-Oriented Databases. In Proceedings of the 22nd International Conference on Extending Database Technology. 512--523.
[37]
Chenggang Wu, Jose Faleiro, Yihan Lin, and Joseph Hellerstein. 2018. Anna: A KVS for Any Scale. In 2018 IEEE 34th International Conference on Data Engineering (ICDE). 401--412. https://doi.org/10.1109/ICDE.2018.00044

Index Terms

  1. Rethinking State Management in Actor Systems for Cloud-Native Applications

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SoCC '24: Proceedings of the 2024 ACM Symposium on Cloud Computing
    November 2024
    1062 pages
    ISBN:9798400712869
    DOI:10.1145/3698038
    This work is licensed under a Creative Commons Attribution International 4.0 License.

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 20 November 2024

    Check for updates

    Author Tags

    1. actor system
    2. application safety
    3. consistency
    4. microservices
    5. state management

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Funding Sources

    • Independent Research Fund Denmark

    Conference

    SoCC '24
    Sponsor:
    SoCC '24: ACM Symposium on Cloud Computing
    November 20 - 22, 2024
    WA, Redmond, USA

    Acceptance Rates

    Overall Acceptance Rate 169 of 722 submissions, 23%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 25
      Total Downloads
    • Downloads (Last 12 months)25
    • Downloads (Last 6 weeks)25
    Reflects downloads up to 24 Nov 2024

    Other Metrics

    Citations

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media