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

NSF

Related Publications