UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Characterization and improved lifetime management of serverless cloud systems Nasiri, Nima

Abstract

Serverless computing has evolved to support more sophisticated tasks compared to the original Function as a Service (FaaS) model, with additional types of execution and configuration. These factors warrant careful characterization of modern serverless systems and an understanding of current gaps. Publicly-available datasets describing workloads in production serverless systems are not aging well; they are less indicative of serverless workloads today. They also do not have traces captured at the time resolution or for the duration needed to identify changes in application-level request-response patterns. We first characterize production traces from a major public serverless compute provider with over 1.8 billion requests spanning over two months. Our dataset is the first large-scale trace with millisecond-scale cold start durations and request arrival times, CPU/Memory parameters set by users in a public cloud setting, and capture user configurations and workloads introduced recently in serverless settings. Using this dataset, we provide new insights for optimizing existing serverless platforms and design of future serverless systems. We also provide recommendations for researchers and practitioners on limitations of using traces and offer some best practices. We believe this dataset and our analysis is significant because we identify certain trends--such as the increase in cold start durations--that run counter to conventional opinion. Motivated by insights from our characterization, we design and implement Switcheroo, a lifetime management system which uses pre-warming and keep-alive policies to balance cold start mitigation and resource efficiency. Switcheroo adapts to serverless workloads by multiplexing over a set of forecasters, and choosing the most appropriate forecasting at each epoch for predicting future traffic. We also optimize and evaluate Switcheroo using a Representative Unified Metric (RUM), which decouples metrics from the implementation of serverless platforms: allowing service providers to flexibly update metrics of interest or simultaneously support multiple sets of metrics without any impact on the platform design and implementation.

Item Media

Item Citations and Data

Rights

Attribution-NonCommercial-NoDerivatives 4.0 International