A Language-based Approach to Faster and Safer Serverless Computing
Lead PI
Abstract
Cloud computing, which allows a customer to rent virtual servers from cloud providers, is the infrastructure that powers a wide variety of Internet applications used by consumers, businesses, and the government. Unfortunately, traditional cloud computing requires significant system-management expertise to ensure that applications are reliable, secure, and cost-effective. In contrast, “serverless computing” is a new approach to cloud computing that automates a significant portion of system management, and has seen explosive growth over the last few years. Despite being a promising advance, serverless computing introduces new problems, and is more limited in scope than traditional cloud computing. This research project develops tools and techniques to make serverless computing more cost-effective, more reliable, and more broadly applicable.
The intellectual merits of the project are the development of (1) the mathematical foundations of serverless computing, (2) analysis tools to help programmers find and eliminate software bugs in serverless software, (3) new abstractions that enable a broader class of software to use serverless computing, and (4) new runtime systems that make serverless computing faster and cheaper. The project’s broader significance and importance are that (1) it helps programmers make their serverless applications more reliable and secure, (2) it benefits cloud-computing providers by making serverless computing cheaper and faster, and (3) it encourages further research in this new area by enabling the publishing of research results and the release of open-source software. The project also involves high-school outreach workshops to broaden participation in computing.
Funding
Related Publications
- Luna Phipps-Costin, Carolyn Jane Anderson, Michael Greenberg, and Arjun Guha. 2021. “Solver-based gradual type migration”. Proc. ACM Program. Lang. 5, OOPSLA, Article 111 (October 2021), 27 pages. DOI: 10.1145/3485488
- Abhinav Jangda, Sandeep Polisetty, Arjun Guha, and Marco Serafini. 2021. “Accelerating graph sampling for graph machine learning using GPUs”. In Proceedings of the Sixteenth European Conference on Computer Systems (EuroSys ’21). Association for Computing Machinery, New York, NY, USA, 311–326. DOI: 10.1145/3447786.3456244
- Donald Pinckney, Arjun Guha, and Yuriy Brun. 2020. “Wasm/k: delimited continuations for WebAssembly”. In Proceedings of the 16th ACM SIGPLAN International Symposium on Dynamic Languages (DLS 2020). Association for Computing Machinery, New York, NY, USA, 16–28. DOI: 10.1145/3426422.3426978