[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3583740.3626611acmconferencesArticle/Chapter ViewAbstractPublication PagessecConference Proceedingsconference-collections
research-article
Open access

CWASI: A WebAssembly Runtime Shim for Inter-function Communication in the Serverless Edge-Cloud Continuum

Published: 07 August 2024 Publication History

Abstract

Serverless Computing brings advantages to the Edge-Cloud continuum, like simplified programming and infrastructure management. In composed workflows, where serverless functions need to exchange data constantly, serverless platforms rely on remote services such as object storage and key-value stores as a common approach to exchange data. In WebAssembly, functions leverage WebAssembly System Interface to connect to the network and exchange data via remote services. As a consequence, co-located serverless functions need remote services to exchange data, increasing latency and adding network overhead. To mitigate this problem, in this paper, we introduce CWASI: a WebAssembly OCI-compliant runtime shim that determines the best inter-function data exchange approach based on the serverless function locality. CWASI introduces a three-mode communication model for the Serverless Edge-Cloud continuum. This communication model enables CWASI Shim to optimize inter-function communication for co-located functions by leveraging the function host mechanisms. Experimental results show that CWASI reduces the communication latency between the co-located serverless functions by up to 95% and increases the communication throughput by up to 30x.

References

[1]
Luciano Baresi and Danilo Filgueira Mendonça. 2019. Towards a serverless platform for edge computing. In 2019 IEEE International Conference on Fog Computing (ICFC), 1--10.
[2]
Joseph M. Hellerstein, Jose Faleiro, Joseph E. Gonzalez, Johann Schleier-Smith, Vikram Sreekanti, Alexey Tumanov, and Chenggang Wu. 2018. Serverless computing: one step forward, two steps back. (2018). arXiv: 1812.03651 [cs.DC].
[3]
Phani Kishore Gadepalli, Gregor Peach, Ludmila Cherkasova, Rob Aitken, and Gabriel Parmer. 2019. Challenges and opportunities for efficient serverless computing at the edge. In 2019 38th Symposium on Reliable Distributed Systems (SRDS), 261--2615.
[4]
Andreas Haas, Andreas Rossberg, Derek L. Schuff, Ben L. Titzer, Michael Holman, Dan Gohman, Luke Wagner, Alon Zakai, and JF Bastien. 2017. Bringing the web up to speed with webassembly. SIGPLAN Not., 52, 6, (June 2017), 185--200.
[5]
Philipp Gackstatter, Pantelis Frangoudis, and Schahram Dustdar. 2022. Pushing serverless to the edge with webassembly runtimes. In (May 2022), 140--149.
[6]
Stefan Nastic, Philipp Raith, Alireza Furutanpey, Thomas Pusztai, and Schahram Dustdar. 2022. A serverless computing fabric for edge & cloud. In 2022 IEEE 4th International Conference on Cognitive Machine Intelligence (CogMI), 1--12.
[7]
Sasko Ristov, Stefan Pedratscher, and Thomas Fahringer. 2023. xAFCLXafcl: run scalable function choreographies across multiple faas systems. IEEE Transactions on Services Computing, 16, 1, 711--723.
[8]
Chenggang Wu, Jose M. Faleiro, Yihan Lin, and Joseph M. Hellerstein. 2018. Anna: a kvs for any scale. 2018 IEEE 34th International Conference on Data Engineering (ICDE), 401--412.
[9]
Vikram Sreekanti, Chenggang Wu, Xiayue Charles Lin, Johann Schleier-Smith, Jose M. Faleiro, Joseph E. Gonzalez, Joseph M. Hellerstein, and Alexey Tumanov. 2020. Cloudburst: stateful functions-as-a-service. Proc. VLDB Endow., 13, 2438--2452.
[10]
Anurag Khandelwal, Yupeng Tang, Rachit Agarwal, Aditya Akella, and Ion Stoica. 2022. Jiffy: elastic far-memory for stateful serverless analytics. In Proceedings of the Seventeenth European Conference on Computer Systems (EuroSys '22). Association for Computing Machinery, Rennes, France, 697--713. isbn: 9781450391627.
[11]
S. Eismann, J. Scheuner, E. van Eyk, M. Schwinger, J. Grohmann, N. Herbst, C. L. Abad, and A. Iosup. 2021. Serverless applications: why, when, and how? IEEE Software, 38, 01, (Jan. 2021), 32--39.
[12]
Thanasis G. Papaioannou, Nicolas Bonvin, and Karl Aberer. 2012. Scalia: an adaptive scheme for efficient multi-cloud storage. In SC '12: Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, 1--10.
[13]
Pengwei Wang, Caihui Zhao, Yi Wei, Dong Wang, and Zhaohui Zhang. 2020. An adaptive data placement architecture in multicloud environments. Sci. Program., 2020, 1704258:1--1704258:12.
[14]
Bytecode Alliance. 2023. Wasi. https://wasi.dev.
[15]
Anna Maria Nestorov, Josep Lluís Berral, Claudia Misale, Chen Wang, David Carrera, and Alaa Youssef. 2022. Floki: a proactive data forwarding system for direct inter-function communication for serverless workflows. In Proceedings of the Eighth International Workshop on Container Technologies and Container Clouds (WoC '22). Association for Computing Machinery, Quebec, Quebec City, Canada, 13--18. isbn: 9781450399296.
[16]
Philipp Raith, Stefan Nastic, and Schahram Dustdar. 2023. Serverless edge computing---where we are and what lies ahead. IEEE Internet Computing, 27, 3, 50--64.
[17]
Istemi Ekin Akkus, Ruichuan Chen, Ivica Rimac, Manuel Stein, Klaus Satzke, Andre Beck, Paarijaat Aditya, and Volker Hilt. 2018. SAND: towards High-Performance serverless computing. In 2018 USENIX Annual Technical Conference (USENIX ATC 18). USENIX Association, Boston, MA, (July 2018), 923--935. isbn: 978-1-939133-01-4. https://www.usenix.org/conference/atc18/presentation/akkus.
[18]
Marcin Copik, Alexandru Calotoiu, Rodrigo Bruno, Roman Böhringer, and Torsten Hoefler. 2022. Process-as-a-Service: FaaSt Stateful Computing with Optimized Data Planes. Tech. rep. (Jan. 2022).
[19]
Daehyeok Kim, Tianlong Yu, Hongqiang Harry Liu, Yibo Zhu, Jitu Padhye, Shachar Raindel, Chuanxiong Guo, Vyas Sekar, and Srinivasan Seshan. 2019. FreeFlow: software-based virtual RDMA networking for containerized clouds. In 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI 19). USENIX Association, Boston, MA, (Feb. 2019), 113--126. isbn: 978-1-931971-49-2. https://www.usenix.org/conference/nsdi19/presentation/kim.
[20]
Zhipeng Jia and Emmett Witchel. 2021. Nightcore: efficient and scalable server-less computing for latency-sensitive, interactive microservices. In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '21). Association for Computing Machinery, Virtual, USA, 152--166. isbn: 9781450383172.
[21]
Swaroop Kotni, Ajay Nayak, Vinod Ganapathy, and Arkaprava Basu. 2021. Faastlane: accelerating Function-as-a-Service workflows. In 2021 USENIX Annual Technical Conference (USENIX ATC 21). USENIX Association, (July 2021), 805--820. isbn: 978-1-939133-23-6. https://www.usenix.org/conference/atc21/presentation/kotni.
[22]
Simon Shillaker and Peter Pietzuch. 2020. Faasm: lightweight isolation for efficient stateful serverless computing. In 2020 USENIX Annual Technical Conference (USENIX ATC 20). USENIX Association, (July 2020), 419--433. isbn: 978-1-939133-14-4. https://www.usenix.org/conference/atc20/presentation/shillaker.
[23]
Simon Shillaker, Carlos Segarra, Eleftheria Mappoura, Mayeul Fournial, Lluis Vilanova, and Peter Pietzuch. 2023. Faabric: fine-grained distribution of scientific workloads in the cloud. arXiv preprint arXiv:2302.11358.
[24]
Qiang Su, Chuanwen Wang, Zhixiong Niu, Ran Shu, Peng Cheng, Yongqiang Xiong, Dongsu Han, Chun Jason Xue, and Hong Xu. 2022. Pipedevice: a hardware-software co-design approach to intra-host container communication. In Proceedings of the 18th International Conference on Emerging Networking EXperiments and Technologies (CoNEXT '22). Association for Computing Machinery, Roma, Italy, 126--139. isbn: 9781450395083. 0.3569118.
[25]
Linux Foundation. 2021. How and why to link webassembly modules. https://training.linuxfoundation.org/blog/how-and-why-to-link-webassembly-modules/.
[26]
AWS Amazon. 2021. Field notes: building an automated image processing and model training pipeline for autonomous driving. https://aws.amazon.com/blogs/architecture/field-notes-building-an-automated-image-processing-and-model-training-pipeline-for-autonomous-driving/.
[27]
Anurag Ghosh, Srinivasan Iyengar, Stephen Lee, Anuj Rathore, and Venkata N Padmanabhan. 2023. React: streaming video analytics on the edge with asynchronous cloud support. In Proceedings of the 8th ACM/IEEE Conference on Internet of Things Design and Implementation (IoTDI '23). Association for Computing Machinery, San Antonio, TX, USA, 222--235. isbn: 9798400700378.
[28]
Miao Zhang, Fangxin Wang, Yifei Zhu, Jiangchuan Liu, and Bo Li. 2021. Serverless empowered video analytics for ubiquitous networked cameras. IEEE Network, 35, 6, 186--193.
[29]
Yiding Wang, Weiyan Wang, Junxue Zhang, Junchen Jiang, and Kai Chen. 2019. Bridging the Edge-Cloud barrier for real-time advanced vision analytics. In 11th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 19). USENIX Association, Renton, WA, (July 2019). https://www.usenix.org/conference/hotcloud19/presentation/wang.
[30]
Phani Kishore Gadepalli, Sean McBride, Gregor Peach, Ludmila Cherkasova, and Gabriel Parmer. 2020. Sledge: a serverless-first, light-weight wasm runtime for the edge. In Proceedings of the 21st International Middleware Conference (Middleware '20). Association for Computing Machinery, Delft, Netherlands, 265--279. isbn: 9781450381536.
[31]
Containerd. 2023. Runwasi. https://github.com/containerd/runwasi.
[32]
Garrett McGrath and Paul R. Brenner. 2017. Serverless computing: design, implementation, and performance. In 2017 IEEE 37th International Conference on Distributed Computing Systems Workshops (ICDCSW), 405--410. 09/ICDCSW.2017.36.
[33]
Karim Djemame, Matthew Parker, and Daniel Datsev. 2020. Open-source serverless architectures: an evaluation of apache openwhisk. In 2020 IEEE/ACM 13th International Conference on Utility and Cloud Computing (UCC), 329--335.
[34]
Rakesh Kumar and B Thangaraju. 2020. Performance analysis between runc and kata container runtime. In 2020 IEEE International Conference on Electronics, Computing and Communication Technologies (CONECCT). IEEE, 1--4.
[35]
Junfeng Li, Sameer G. Kulkarni, K. K. Ramakrishnan, and Dan Li. 2019. Understanding open source serverless platforms: design considerations and performance. In Proceedings of the 5th International Workshop on Serverless Computing (WOSC '19). Association for Computing Machinery, Davis, CA, USA, 37--42. isbn: 9781450370387.
[36]
Alessandro Randazzo and Ilenia Tinnirello. 2019. Kata containers: an emerging architecture for enabling mec services in fast and secure way. In 2019 Sixth International Conference on Internet of Things: Systems, Management and Security (IOTSMS). IEEE, 209--214.
[37]
OpenFaaS. 2023. Serverless functions, made simple. https://www.openfaas.com.
[38]
Benedikt Spies and Markus Mock. 2021. An evaluation of webassembly in non-web environments. In 2021 XLVII Latin American Computing Conference (CLEI), 1--10.
[39]
Bytecode Alliance. 2023. Wasmtime. https://wasmtime.dev.
[40]
Salim S. Salim, Andy Nisbet, and Mikel Luján. 2020. Trufflewasm: a webassembly interpreter on graalvm. In Proceedings of the 16th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE '20). Association for Computing Machinery, Lausanne, Switzerland, 88--100. isbn: 9781450375542.
[41]
Conrad Watt, Andreas Rossberg, and Jean Pichon-Pharabod. 2019. Weakening webassembly. Proc. ACM Program. Lang., 3, OOPSLA, Article 133, (Oct. 2019), 28 pages.
[42]
Vojdan Kjorveziroski, Sonja Filiposka, and Anastas Mishev. 2022. Evaluating webassembly for orchestrated deployment of serverless functions. In 2022 30th Telecommunications Forum (TELFOR), 1--4. .9983733.
[43]
Ju Long, Hung-Ying Tai, Shen-Ta Hsieh, and Michael Juntao Yuan. 2021. A lightweight design for serverless function as a service. IEEE Software, 38, 1, 75--80.
[44]
The Linux Foundation. 2023. Open container initiative runtime specification. https://github.com/opencontainers/runtime-spec/blob/main/spec.md.
[45]
Edward Oakes, Leon Yang, Dennis Zhou, Kevin Houck, Tyler Harter, Andrea Arpaci-Dusseau, and Remzi Arpaci-Dusseau. 2018. SOCK: rapid task provisioning with Serverless-Optimized containers. In 2018 USENIX Annual Technical Conference (USENIX ATC 18). USENIX Association, Boston, MA, (July 2018), 57--70. isbn: 978-1-931971-44-7. https://www.usenix.org/conference/atc18/presentation/oakes.
[46]
Ashraf Mahgoub, Karthick Shankar, Subrata Mitra, Ana Klimovic, Somali Chaterji, and Saurabh Bagchi. 2021. SONIC: application-aware data passing for chained serverless applications. In 2021 USENIX Annual Technical Conference (USENIX ATC 21). USENIX Association, (July 2021), 285--301. isbn: 978-1-939133-23-6. https://www.usenix.org/conference/atc21/presentation/mahgoub.
[47]
Sadjad Fouladi, Riad S. Wahby, Brennan Shacklett, Karthikeyan Vasuki Balasubramaniam, William Zeng, Rahul Bhalerao, Anirudh Sivaraman, George Porter, and Keith Winstein. 2017. Encoding, fast and slow: Low-Latency video processing using thousands of tiny threads. In 14th USENIX Symposium on Networked Systems Design and Implementation (NSDI 17). USENIX Association, Boston, MA, (Mar. 2017), 363--376. isbn: 978-1-931971-37-9. https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/fouladi.
[48]
Misun Park, Ketan Bhardwaj, and Ada Gavrilovska. 2023. Pocket: ml serving from the edge. In Proceedings of the Eighteenth European Conference on Computer Systems (EuroSys '23). Association for Computing Machinery, Rome, Italy, 46--62. isbn: 9781450394871.
[49]
Wasmedge. 2023. Wasmedge. https://wasmedge.org.
[50]
Michael Kerrisk. 2010. The Linux Programming Interface: A Linux and UNIX System Programming Handbook. (1st ed.). No Starch Press, USA. isbn: 1593272200.
[51]
W3C Community Group. 2023. Webassembly specification. https://webassembly.github.io/spec/core/index.html.
[52]
Eric Jonas et al. 2019. Cloud programming simplified: a berkeley view on serverless computing. (2019). arXiv: 1902.03383 [cs.OS].
[53]
Tianyi Yu, Qingyuan Liu, Dong Du, Yubin Xia, Binyu Zang, Ziqian Lu, Pingchao Yang, Chenggang Qin, and Haibo Chen. 2020. Characterizing serverless platforms with serverlessbench. In Proceedings of the 11th ACM Symposium on Cloud Computing (SoCC '20). Association for Computing Machinery, Virtual Event, USA, 30--44. isbn: 9781450381376.
[54]
WebAssembly. 2020. Multi-threading and atomics. https://github.com/WebAssembly/WASI/issues/296.

Cited By

View all
  • (2024)FUSIONIZE++: Improving Serverless Application Performance Using Dynamic Task Inlining and Infrastructure OptimizationIEEE Transactions on Cloud Computing10.1109/TCC.2024.345110812:4(1172-1185)Online publication date: Oct-2024

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SEC '23: Proceedings of the Eighth ACM/IEEE Symposium on Edge Computing
December 2023
405 pages
ISBN:9798400701238
DOI:10.1145/3583740
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: 07 August 2024

Check for updates

Author Tags

  1. webassemly
  2. inter-function
  3. edge-cloud continuum
  4. serverless
  5. shim

Qualifiers

  • Research-article

Funding Sources

  • EU?s Horizon Europe Research and Innovation Program

Conference

SEC '23
Sponsor:
SEC '23: Eighth ACM/IEEE Symposium on Edge Computing
December 6 - 9, 2023
DE, Wilmington, USA

Acceptance Rates

Overall Acceptance Rate 40 of 100 submissions, 40%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)95
  • Downloads (Last 6 weeks)32
Reflects downloads up to 19 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)FUSIONIZE++: Improving Serverless Application Performance Using Dynamic Task Inlining and Infrastructure OptimizationIEEE Transactions on Cloud Computing10.1109/TCC.2024.345110812:4(1172-1185)Online publication date: Oct-2024

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