-
A FaaS File System for Serverless Computing
Authors:
Johann Schleier-Smith,
Leonhard Holz,
Nathan Pemberton,
Joseph M. Hellerstein
Abstract:
Serverless computing with cloud functions is quickly gaining adoption, but constrains programmers with its limited support for state management. We introduce a shared file system for cloud functions. It offers familiar POSIX semantics while taking advantage of distinctive aspects of cloud functions to achieve scalability and performance beyond what traditional shared file systems can offer. We tak…
▽ More
Serverless computing with cloud functions is quickly gaining adoption, but constrains programmers with its limited support for state management. We introduce a shared file system for cloud functions. It offers familiar POSIX semantics while taking advantage of distinctive aspects of cloud functions to achieve scalability and performance beyond what traditional shared file systems can offer. We take advantage of the function-grained fault tolerance model of cloud functions to proceed optimistically using local state, safe in the knowledge that we can restart if cache reads or lock activity cannot be reconciled upon commit. The boundaries of cloud functions provide implicit commit and rollback points, giving us the flexibility to use transaction processing techniques without changing the programming model or API. This allows a variety of stateful sever-based applications to benefit from the simplicity and scalability of serverless computing, often with little or no modification.
△ Less
Submitted 16 September, 2020;
originally announced September 2020.
-
CoVista: A Unified View on Privacy Sensitive Mobile Contact Tracing Effort
Authors:
David Culler,
Prabal Dutta,
Gabe Fierro,
Joseph E. Gonzalez,
Nathan Pemberton,
Johann Schleier-Smith,
K. Shankari,
Alvin Wan,
Thomas Zachariah
Abstract:
Governments around the world have become increasingly frustrated with tech giants dictating public health policy. The software created by Apple and Google enables individuals to track their own potential exposure through collated exposure notifications. However, the same software prohibits location tracking, denying key information needed by public health officials for robust contract tracing. Thi…
▽ More
Governments around the world have become increasingly frustrated with tech giants dictating public health policy. The software created by Apple and Google enables individuals to track their own potential exposure through collated exposure notifications. However, the same software prohibits location tracking, denying key information needed by public health officials for robust contract tracing. This information is needed to treat and isolate COVID-19 positive people, identify transmission hotspots, and protect against continued spread of infection. In this article, we present two simple ideas: the lighthouse and the covid-commons that address the needs of public health authorities while preserving the privacy-sensitive goals of the Apple and google exposure notification protocols.
△ Less
Submitted 27 May, 2020;
originally announced May 2020.
-
Cloudburst: Stateful Functions-as-a-Service
Authors:
Vikram Sreekanti,
Chenggang Wu,
Xiayue Charles Lin,
Johann Schleier-Smith,
Jose M. Faleiro,
Joseph E. Gonzalez,
Joseph M. Hellerstein,
Alexey Tumanov
Abstract:
Function-as-a-Service (FaaS) platforms and "serverless" cloud computing are becoming increasingly popular. Current FaaS offerings are targeted at stateless functions that do minimal I/O and communication. We argue that the benefits of serverless computing can be extended to a broader range of applications and algorithms. We present the design and implementation of Cloudburst, a stateful FaaS platf…
▽ More
Function-as-a-Service (FaaS) platforms and "serverless" cloud computing are becoming increasingly popular. Current FaaS offerings are targeted at stateless functions that do minimal I/O and communication. We argue that the benefits of serverless computing can be extended to a broader range of applications and algorithms. We present the design and implementation of Cloudburst, a stateful FaaS platform that provides familiar Python programming with low-latency mutable state and communication, while maintaining the autoscaling benefits of serverless computing. Cloudburst accomplishes this by leveraging Anna, an autoscaling key-value store, for state sharing and overlay routing combined with mutable caches co-located with function executors for data locality. Performant cache consistency emerges as a key challenge in this architecture. To this end, Cloudburst provides a combination of lattice-encapsulated state and new definitions and protocols for distributed session consistency. Empirical results on benchmarks and diverse applications show that Cloudburst makes stateful functions practical, reducing the state-management overheads of current FaaS platforms by orders of magnitude while also improving the state of the art in serverless consistency.
△ Less
Submitted 24 July, 2020; v1 submitted 13 January, 2020;
originally announced January 2020.
-
Cloud Programming Simplified: A Berkeley View on Serverless Computing
Authors:
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,
David A. Patterson
Abstract:
Serverless cloud computing handles virtually all the system administration operations needed to make it easier for programmers to use the cloud. It provides an interface that greatly simplifies cloud programming, and represents an evolution that parallels the transition from assembly language to high-level programming languages. This paper gives a quick history of cloud computing, including an acc…
▽ More
Serverless cloud computing handles virtually all the system administration operations needed to make it easier for programmers to use the cloud. It provides an interface that greatly simplifies cloud programming, and represents an evolution that parallels the transition from assembly language to high-level programming languages. This paper gives a quick history of cloud computing, including an accounting of the predictions of the 2009 Berkeley View of Cloud Computing paper, explains the motivation for serverless computing, describes applications that stretch the current limits of serverless, and then lists obstacles and research opportunities required for serverless computing to fulfill its full potential. Just as the 2009 paper identified challenges for the cloud and predicted they would be addressed and that cloud use would accelerate, we predict these issues are solvable and that serverless computing will grow to dominate the future of cloud computing.
△ Less
Submitted 9 February, 2019;
originally announced February 2019.
-
Serverless Computing: One Step Forward, Two Steps Back
Authors:
Joseph M. Hellerstein,
Jose Faleiro,
Joseph E. Gonzalez,
Johann Schleier-Smith,
Vikram Sreekanti,
Alexey Tumanov,
Chenggang Wu
Abstract:
Serverless computing offers the potential to program the cloud in an autoscaling, pay-as-you go manner. In this paper we address critical gaps in first-generation serverless computing, which place its autoscaling potential at odds with dominant trends in modern computing: notably data-centric and distributed computing, but also open source and custom hardware. Put together, these gaps make current…
▽ More
Serverless computing offers the potential to program the cloud in an autoscaling, pay-as-you go manner. In this paper we address critical gaps in first-generation serverless computing, which place its autoscaling potential at odds with dominant trends in modern computing: notably data-centric and distributed computing, but also open source and custom hardware. Put together, these gaps make current serverless offerings a bad fit for cloud innovation and particularly bad for data systems innovation. In addition to pinpointing some of the main shortfalls of current serverless architectures, we raise a set of challenges we believe must be met to unlock the radical potential that the cloud---with its exabytes of storage and millions of cores---should offer to innovative developers.
△ Less
Submitted 10 December, 2018;
originally announced December 2018.
-
Real-Time Machine Learning: The Missing Pieces
Authors:
Robert Nishihara,
Philipp Moritz,
Stephanie Wang,
Alexey Tumanov,
William Paul,
Johann Schleier-Smith,
Richard Liaw,
Mehrdad Niknami,
Michael I. Jordan,
Ion Stoica
Abstract:
Machine learning applications are increasingly deployed not only to serve predictions using static models, but also as tightly-integrated components of feedback loops involving dynamic, real-time decision making. These applications pose a new set of requirements, none of which are difficult to achieve in isolation, but the combination of which creates a challenge for existing distributed execution…
▽ More
Machine learning applications are increasingly deployed not only to serve predictions using static models, but also as tightly-integrated components of feedback loops involving dynamic, real-time decision making. These applications pose a new set of requirements, none of which are difficult to achieve in isolation, but the combination of which creates a challenge for existing distributed execution frameworks: computation with millisecond latency at high throughput, adaptive construction of arbitrary task graphs, and execution of heterogeneous kernels over diverse sets of resources. We assert that a new distributed execution framework is needed for such ML applications and propose a candidate approach with a proof-of-concept architecture that achieves a 63x performance improvement over a state-of-the-art execution framework for a representative application.
△ Less
Submitted 19 May, 2017; v1 submitted 11 March, 2017;
originally announced March 2017.