SOCK: Rapid Task Provisioning with Serverless-Optimized Containers

Lean containers + generalized Zygote provisioning + three-tier package-aware caching → 45× cold-start speedup

Featured image

Venue: ATC 2018

Topic: Container initialization and Python package import are the main sources of slow serverless cold starts. SOCK addresses both with lean isolation primitives, Zygote-based provisioning, and three-tier caching.


Summary

FaaS cold starts are dominated by two costs: (1) container initialization overhead (network/mount namespace scalability bottlenecks), and (2) Python package import time (~100 ms for popular packages). SOCK (Serverless-Optimized Containers) integrates with OpenLambda and provides:


Background

Container initialization bottlenecks

Python package import costs


Key Idea

Three techniques

1. Lightweight isolation primitives

2. Generalized Zygote provisioning

3. Three-tier package-aware caching


Design

  1. Lean container system: replaces Docker with SOCK for Python handler sandboxing in OpenLambda.
    • Avoids kernel scalability bottlenecks in network/mount namespaces.
  2. Generalized Zygote provisioning: scales Zygote approach to large sets of untrusted packages.
  3. Three-layer caching: reduces package install and import costs systematically.

Evaluation


Meeting Notes

(to be filled)