Yuanzhuo Yang
University of Wisconsin-Madison
Kwangjong Choi
University of Wisconsin-Madison
Keting Chen
University of Wisconsin-Madison
Tyler Caraza-Harter
University of Wisconsin-Madison

Forklift: Fitting Zygote Trees for Faster Package Initialization

Presentation: PDF

Fast cold start is critical for many serverless applications. For Python, startup is typically dominated by module initialization. In this work, we analyze the dependencies of 9,678 Python applications and create ReqBench, a new benchmark for stressing module initialization. Informed by our findings, we design Forklift, a new algorithm for training zygote trees based on invocation history. Each zygote pre-imports some modules and can be forked to create other zygotes or function instances. We integrate Forklift with OpenLambda, improving median invocation latency by about 5x while using only a modest memory footprint (<6 GB).