Benchmarking, Analysis, and Optimization of Serverless Function Snapshots

by   Dmitrii Ustiugov, et al.

Serverless computing has seen rapid adoption due to its high scalability and flexible, pay-as-you-go billing model. In serverless, developers structure their services as a collection of functions, sporadically invoked by various events like clicks. High inter-arrival time variability of function invocations motivates the providers to start new function instances upon each invocation, leading to significant cold-start delays that degrade user experience. To reduce cold-start latency, the industry has turned to snapshotting, whereby an image of a fully-booted function is stored on disk, enabling a faster invocation compared to booting a function from scratch. This work introduces vHive, an open-source framework for serverless experimentation with the goal of enabling researchers to study and innovate across the entire serverless stack. Using vHive, we characterize a state-of-the-art snapshot-based serverless infrastructure, based on industry-leading Containerd orchestration framework and Firecracker hypervisor technologies. We find that the execution time of a function started from a snapshot is 95 memory-resident. We show that the high latency is attributable to frequent page faults as the function's state is brought from disk into guest memory one page at a time. Our analysis further reveals that functions access the same stable working set of pages across different invocations of the same function. By leveraging this insight, we build REAP, a light-weight software mechanism for serverless hosts that records functions' stable working set of guest memory pages and proactively prefetches it from disk into memory. Compared to baseline snapshotting, REAP slashes the cold-start delays by 3.7x, on average.


Revisiting Swapping in User-space with Lightweight Threading

Memory-intensive applications, such as in-memory databases, caching syst...

LIBRA: An Economical Hybrid Approach for Cloud Applications with Strict SLAs

Function-as-a-Service (FaaS) has recently emerged to reduce the deployme...

Exploiting Inter- and Intra-Memory Asymmetries for Data Mapping in Hybrid Tiered-Memories

Modern computing systems are embracing hybrid memory comprising of DRAM ...

Mitigating Cold Starts in Serverless Platforms: A Pool-Based Approach

Rapid adoption of the serverless (or Function-as-a-Service, FaaS) paradi...

Hibernate Container: A Deflated Container Mode for Fast Startup and High-density Deployment in Serverless Computing

Serverless computing is a popular cloud computing paradigm, which requir...

DFlow: Efficient Dataflow-based Invocation Workflow Execution for Function-as-a-Service

The Serverless Computing is becoming increasingly popular due to its eas...

Groundhog: Efficient Request Isolation in FaaS

Security is a core responsibility for Function-as-a-Service (FaaS) provi...

Please sign up or login with your details

Forgot password? Click here to reset