The Design of Stateful Serverless Infastructure
Vikram Sreekanti
EECS Department, University of California, Berkeley
Technical Report No. UCB/EECS-2020-140
August 10, 2020
http://www2.eecs.berkeley.edu/Pubs/TechRpts/2020/EECS-2020-140.pdf
Serverless computing has become increasingly popular in the last few years because it simplifies the developer's experience of constructing and deploying applications. Simultaneously, it enables cloud providers to pack multiple users' workloads into shared physical resources at a fine granularity, achieving higher resource efficiency. However, existing serverless Function-as-a-Service (FaaS) systems have significant shortcomings around state management—notably, high-latency IO, disabled point-to-point communication, and high function invocation overheads.
In this dissertation, we present a line of work in which we redesign serverless infrastructure to natively support efficient, consistent, and fault-tolerant state management. We first explore the architecture of a stateful FaaS system we designed called Cloudburst, which overcomes many of the limitations of commercial FaaS systems. We then turn to consistency and fault-tolerance, describing how we provide read atomic transactions in the context of FaaS applications. Finally, we describe the design and implementation of a serverless dataflow API and optimization framework specifically designed to support machine learning prediction serving workloads.
Advisors: Joseph M. Hellerstein
BibTeX citation:
@phdthesis{Sreekanti:EECS-2020-140, Author= {Sreekanti, Vikram}, Title= {The Design of Stateful Serverless Infastructure}, School= {EECS Department, University of California, Berkeley}, Year= {2020}, Month= {Aug}, Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2020/EECS-2020-140.html}, Number= {UCB/EECS-2020-140}, Abstract= {Serverless computing has become increasingly popular in the last few years because it simplifies the developer's experience of constructing and deploying applications. Simultaneously, it enables cloud providers to pack multiple users' workloads into shared physical resources at a fine granularity, achieving higher resource efficiency. However, existing serverless Function-as-a-Service (FaaS) systems have significant shortcomings around state management—notably, high-latency IO, disabled point-to-point communication, and high function invocation overheads. In this dissertation, we present a line of work in which we redesign serverless infrastructure to natively support efficient, consistent, and fault-tolerant state management. We first explore the architecture of a stateful FaaS system we designed called Cloudburst, which overcomes many of the limitations of commercial FaaS systems. We then turn to consistency and fault-tolerance, describing how we provide read atomic transactions in the context of FaaS applications. Finally, we describe the design and implementation of a serverless dataflow API and optimization framework specifically designed to support machine learning prediction serving workloads.}, }
EndNote citation:
%0 Thesis %A Sreekanti, Vikram %T The Design of Stateful Serverless Infastructure %I EECS Department, University of California, Berkeley %D 2020 %8 August 10 %@ UCB/EECS-2020-140 %U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2020/EECS-2020-140.html %F Sreekanti:EECS-2020-140