Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
129 tokens/sec
GPT-4o
28 tokens/sec
Gemini 2.5 Pro Pro
42 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Styx: Transactional Stateful Functions on Streaming Dataflows (2312.06893v3)

Published 11 Dec 2023 in cs.DC and cs.DB

Abstract: Developing stateful cloud applications, such as low-latency workflows and microservices with strict consistency requirements, remains arduous for programmers. The Stateful Functions-as-a-Service (SFaaS) paradigm aims to serve these use cases. However, existing approaches either provide serializable transactional guarantees at the level of individual functions, or separate application logic from the state and use inefficient transactional protocols. These design choices increase the execution latency, limiting the adoption of SFaaS systems. In this paper, we present Styx, a novel SFaaS runtime that executes serializable transactions across functions with exactly-once guarantees. Styx extends a deterministic transactional protocol to support an arbitrary call graph of stateful functions. It introduces a transaction-execution acknowledgment scheme that allows tracking a transactional workflow's SFaaS calls, guaranteeing atomicity and exactly-once processing. Finally, Styx features a function-execution caching mechanism and early transactional commit replies for optimized performance. Experiments with the YCSB-T, TPC-C, and Deathstar benchmarks show that Styx outperforms state-of-the-art approaches by achieving at least one order of magnitude higher throughput while exhibiting near-linear scalability and low latency.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (48)
  1. An overview of deterministic database systems. In Commun. ACM, 2018.
  2. Structured streaming: A declarative api for real-time applications in apache spark. In SIGMOD, 2018.
  3. State management in apache flink®: Consistent stateful distributed stream processing. In VLDB, 2017.
  4. Apache flink: Stream and batch processing in a single engine. Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, 36(4), 2015.
  5. Distributed snapshots: determining global states of distributed systems. In TOCS, 1985.
  6. Developer’s responsibility or database’s responsibility? rethinking concurrency control in databases. In CIDR, 2023.
  7. Distributed transactions on serverless stateful functions. In Proceedings of the 15th ACM International Conference on Distributed and Event-based Systems, pages 31–42, 2021.
  8. Distributed transactions on serverless stateful functions. In DEBS, 2021.
  9. Rhino: Efficient management of very large distributed state for stream processing engines. In Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data, pages 2471–2486, 2020.
  10. Ycsb+ t: Benchmarking web-scale transactional databases. In 2014 IEEE 30th International Conference on Data Engineering Workshops, pages 223–230. IEEE, 2014.
  11. A survey of rollback-recovery protocols in message-passing systems. ACM Comput. Surv., 34(3):34, 2002.
  12. Integrating scale out and fault tolerance in stream processing using operator state management. In Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data, SIGMOD ’13, pages 725–736, New York, NY, USA, 2013. ACM.
  13. Making state explicit for imperative big data processing. In 2014 USENIX annual technical conference (USENIX ATC 14), pages 49–60, 2014.
  14. Dhalion: self-regulating stream processing in heron. Proceedings of the VLDB Endowment, 10(12):1825–1836, 2017.
  15. An open-source benchmark suite for microservices and their hardware-software implications for cloud & edge systems. In Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 3–18, 2019.
  16. Hazelcast jet: Low-latency stream processing at the 99.99th percentile. In VLDB, 2021.
  17. Noria: dynamic, partially-stateful data-flow for high-performance web applications. In OSDI, 2018.
  18. J GRAY. Notes in database operating systems. Lecture Notes in Computer Science, 60:393–481, 1978.
  19. Meces: Latency-efficient rescaling via prioritized state migration for stateful distributed stream processing systems. In 2022 USENIX Annual Technical Conference (USENIX ATC 22), pages 539–556, 2022.
  20. Megaphone: Latency-conscious state migration for distributed streaming dataflows. Proceedings of the VLDB Endowment, 12(9):1002–1015, 2019.
  21. Consistent regions: Guaranteed tuple processing in ibm streams. volume 9, pages 1341–1352. VLDB Endowment, September 2016.
  22. Boki: Stateful serverless computing with shared logs. In Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles, pages 691–707, 2021.
  23. Nightcore: efficient and scalable serverless computing for latency-sensitive, interactive microservices. In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, pages 152–166, 2021.
  24. Three steps is all you need: fast, accurate, automatic scaling decisions for distributed streaming dataflows. In 13th {normal-{\{{USENIX}normal-}\}} Symposium on Operating Systems Design and Implementation ({normal-{\{{OSDI}normal-}\}} 18), pages 783–798, 2018.
  25. Tom Killalea. The hidden dividends of microservices. ACM Queue, 2016.
  26. Data management in microservices: State of the practice, challenges, and research directions. PVLDB, 14(13), 2021.
  27. Leslie Lamport. Paxos made simple. ACM SIGACT News (Distributed Computing Column) 32, 4 (Whole Number 121, December 2001), pages 51–58, 2001.
  28. The byzantine generals problem. ACM Transactions on Programming Languages and Systems, 4(3):382–401, 1982.
  29. Faucet: a user-level, modular technique for flow control in dataflow engines. In ACM SIGMOD BeyondMR Workshop. ACM, 2016.
  30. A modeling study of the tpc-c benchmark. ACM Sigmod Record, 22(2):22–31, 1993.
  31. Aria: a fast and practical deterministic oltp database. In VLDB, 2020.
  32. Mencius: building efficient replicated state machines for wans. In 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI 08), 2008.
  33. Seep: scalable and elastic event processing. In Middleware’10 Posters and Demos Track, page 4. ACM, 2010.
  34. Naiad: a timely dataflow system. In ACM SOSP, 2013.
  35. {{\{{CIEL}}\}}: A universal execution engine for distributed {{\{{Data-Flow}}\}} computing. In 8th USENIX Symposium on Networked Systems Design and Implementation (NSDI 11), 2011.
  36. Samza: Stateful scalable stream processing at linkedin. volume 10, pages 1634–1645. VLDB Endowment, August 2017.
  37. In search of an understandable consensus algorithm. In ATC, 2014.
  38. Clay: fine-grained adaptive partitioning for general database schemas. Proceedings of the VLDB Endowment, 10(4):445–456, 2016.
  39. Faasm: Lightweight isolation for efficient stateful serverless computing. In 2020 USENIX Annual Technical Conference (USENIX ATC 20), pages 419–433, 2020.
  40. Clonos: Consistent causal recovery for highly-available streaming dataflows. In SIGMOD, 2021.
  41. Swaminathan Sivasubramanian. Amazon dynamodb: a seamlessly scalable non-relational database service. In Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data, pages 729–730, 2012.
  42. Cloudburst: Stateful functions-as-a-service. arXiv preprint arXiv:2001.04592, 2020.
  43. The case for determinism in database systems. In VLDB, 2010.
  44. Calvin: fast distributed transactions for partitioned database systems. In Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data, pages 1–12, 2012.
  45. Fault-tolerant and transactional stateful serverless workflows. In 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI 20), pages 1187–1204, 2020.
  46. Narrowing the gap between serverless and its state with storage functions. In Proceedings of the ACM Symposium on Cloud Computing, pages 1–12, 2019.
  47. Starry: multi-master transaction processing on semi-leader architecture. Proceedings of the VLDB Endowment, 16(1):77–89, 2022.
  48. Lotus: scalable multi-partition transactions on single-threaded partitioned databases. Proceedings of the VLDB Endowment, 15(11):2939–2952, 2022.

Summary

We haven't generated a summary for this paper yet.