Dirigent: Lightweight Serverless Orchestration
CoRR(2024)
Abstract
While Function as a Service (FaaS) platforms can initialize function
sandboxes on worker nodes in 10-100s of milliseconds, the latency to schedule
functions in real FaaS clusters can be orders of magnitude higher. We find that
the current approach of building FaaS cluster managers on top of legacy
orchestration systems like Kubernetes leads to high scheduling delay at high
sandbox churn, which is typical in FaaS clusters. While generic cluster
managers use hierarchical abstractions and multiple internal components to
manage and reconcile state with frequent persistent updates, this becomes a
bottleneck for FaaS, where cluster state frequently changes as sandboxes are
created on the critical path of requests. Based on our root cause analysis of
performance issues in existing FaaS cluster managers, we propose Dirigent, a
clean-slate system architecture for FaaS orchestration with three key
principles. First, Dirigent optimizes internal cluster manager abstractions to
simplify state management. Second, it eliminates persistent state updates on
the critical path of function invocations, leveraging the fact that FaaS
abstracts sandboxes from users to relax exact state reconstruction guarantees.
Finally, Dirigent runs monolithic control and data planes to minimize internal
communication overheads and maximize throughput. We compare Dirigent to
state-of-the-art FaaS platforms and show that Dirigent reduces 99th percentile
per-function scheduling latency for a production workload by 2.79x compared to
AWS Lambda and can spin up 2500 sandboxes per second at low latency, which is
1250x more than with Knative.
MoreTranslated text
AI Read Science
Must-Reading Tree
Example
![](https://originalfileserver.aminer.cn/sys/aminer/pubs/mrt_preview.jpeg)
Generate MRT to find the research sequence of this paper
Chat Paper
Summary is being generated by the instructions you defined