ABSTRACT
Minimizing database access latency is crucial in serverless edge computing for many applications, but databases are predominantly deployed in cloud environments, resulting in costly network round-trips. Embedding an in-process database library such as SQLite into the serverless runtime is the holy grail for low-latency database access. However, SQLite's architecture limits concurrency and multitenancy, which is essential for serverless providers, forcing us to rethink the architecture for integrating a database library.
We propose rearchitecting SQLite to provide asynchronous byte-code instructions for I/O to avoid blocking in the library and decoupling the query and storage engines to facilitate database and serverless runtime co-design. Our preliminary evaluation shows up to a 100x reduction in tail latency, suggesting that our approach is conducive to runtime/database co-design for low latency.
- Atul Adya, Robert Grandl, Daniel Myers, and Henry Qin. 2019. Fast key-value stores: An idea whose time has come and gone. In Proceedings of the Workshop on Hot Topics in Operating Systems (Bertinoro, Italy) (HotOS '19). Association for Computing Machinery, New York, NY, USA, 113--119. https://doi.org/10.1145/3317550.3321434Google ScholarDigital Library
- Alexandru Agache, Marc Brooker, Alexandra Iordache, Anthony Liguori, Rolf Neugebauer, Phil Piwonka, and Diana-Maria Popa. 2020. Firecracker: Lightweight Virtualization for Serverless Applications. In 17th USENIX Symposium on Networked Systems Design and Implementation (NSDI 20). USENIX Association, Santa Clara, CA, 419--434. https://www.usenix.org/conference/nsdi20/presentation/agacheGoogle Scholar
- Jens Axboe. 2019. Efficient IO with io_uring. https://kernel.dk/io_uring.pdf.Google Scholar
- Cloudflare. 2023. Workers. https://workers.cloudflare.com.Google Scholar
- Cloudflare. 2024. Workers KV. https://developers.cloudflare.com/kv/.Google Scholar
- Kevin P. Gaffney, Martin Prammer, Larry Brasfield, D. Richard Hipp, Dan Kennedy, and Jignesh M. Patel. 2022. SQLite: Past, Present, and Future. Proc. VLDB Endow. (2022).Google Scholar
- D. Richard Hipp. 2023. SQLite. https://www.sqlite.org/index.html.Google Scholar
- Zhipeng Jia and Emmett Witchel. 2021. 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 (Virtual, USA) (ASPLOS '21). Association for Computing Machinery, New York, NY, USA, 152--166. https://doi.org/10.1145/3445814.3446701Google ScholarDigital Library
- Eric Jonas, Johann Schleier-Smith, Vikram Sreekanti, Chia-Che Tsai, Anurag Khandelwal, Qifan Pu, Vaishaal Shankar, Joao Carreira, Karl Krauth, Neeraja Yadwadkar, Joseph E. Gonzalez, Raluca Ada Popa, Ion Stoica, and David A. Patterson. 2019. Cloud Programming Simplified: A Berkeley View on Serverless Computing. https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf.Google Scholar
- Mahadev Satyanarayanan. 2023. Sinfonia: Cross-Tier Orchestration for Edge-Native Applications. https://www.youtube.com/watch?v=QQKjjf3veDA.Google Scholar
- Johann Schleier-Smith, Leonhard Holz, Nathan Pemberton, and Joseph M Hellerstein. 2020. A FaaS File System for Serverless Computing. arXiv preprint arXiv:2009.09845 (2020).Google Scholar
- Arjun Singhvi, Arjun Balasubramanian, Kevin Houck, Mohammed Danish Shaikh, Shivaram Venkataraman, and Aditya Akella. 2021. Atoll: A Scalable Low-Latency Serverless Platform. In Proceedings of the ACM Symposium on Cloud Computing (Seattle, WA, USA) (SoCC '21). Association for Computing Machinery, New York, NY, USA, 138--152. https://doi.org/10.1145/3472883.3486981Google ScholarDigital Library
- SQLite. 2023. About SQLite. https://www.sqlite.org/about.html.Google Scholar
- Gil Tene. 2023. HdrHistogram: A High Dynamic Range Histogram. http://hdrhistogram.org/.Google Scholar
- Alexandre Verbitski, Anurag Gupta, Debanjan Saha, Murali Brahmadesam, Kamal Gupta, Raman Mittal, Sailesh Krishnamurthy, Sandor Maurice, Tengiz Kharatishvili, and Xiaofeng Bao. 2017. Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases. In Proceedings of the 2017 ACM International Conference on Management of Data (Chicago, Illinois, USA) (SIGMOD '17). Association for Computing Machinery, New York, NY, USA, 1041--1052. https://doi.org/10.1145/3035918.3056101Google ScholarDigital Library
- Tian Zhang, Dong Xie, Feifei Li, and Ryan Stutsman. 2019. Narrowing the Gap Between Serverless and its State with Storage Functions. In Proceedings of the ACM Symposium on Cloud Computing (Santa Cruz, CA, USA) (SoCC '19). Association for Computing Machinery, New York, NY, USA, 1--12. https://doi.org/10.1145/3357223.3362723Google ScholarDigital Library
Index Terms
- Serverless Runtime / Database Co-Design With Asynchronous I/O
Recommendations
Supporting Multi-Provider Serverless Computing on the Edge
ICPP Workshops '18: Workshop Proceedings of the 47th International Conference on Parallel ProcessingServerless computing has recently emerged as a new execution model for cloud computing, in which service providers offer compute runtimes, also known as Function-as-a-Service (FaaS) platforms, allowing users to develop, execute and manage application ...
Deviceless edge computing: extending serverless computing to the edge of the network
SYSTOR '17: Proceedings of the 10th ACM International Systems and Storage ConferenceThe serverless paradigm has been rapidly adopted by developers of cloud-native applications, mainly because it relieves them from the burden of provisioning, scaling and operating the underlying infrastructure. In this paper, we propose a novel ...
Towards Database and Serverless Runtime Co-Design
CoNEXT-SW '23: Proceedings of the on CoNEXT Student Workshop 2023In serverless computing, minimizing database access latency is crucial, but databases predominantly reside in cloud environments, necessitating costly network round-trips. Embedding an in-process database library such as SQLite into the serverless ...
Comments