In Serverless, OS Scheduler Choice Costs Money A Hybrid Scheduling Approach for Cheaper FaaS
| Authors |
|
|---|---|
| Publication date | 2024 |
| Book title | Middleware '24 |
| Book subtitle | Proceedings of the Twenty-Fifth ACM International Middleware Conference : December 2-6, 2024, Hong Kong, Hong Kong |
| ISBN (electronic) |
|
| Event | 25th ACM International Middleware Conference, Middleware 2024 |
| Pages (from-to) | 172-184 |
| Number of pages | 13 |
| Publisher | New York, New York: Association for Computing Machinery |
| Organisations |
|
| Abstract |
In Function-as-a-Service (FaaS) serverless, large applications are split into short-lived stateless functions. Deploying functions is mutually profitable: users need not be concerned with resource management, while providers can keep their servers at high utilization rates running thousands of functions concurrently on a single machine. It is exactly this high concurrency that comes at a cost. The standard Linux Completely Fair Scheduler (CFS) switches often between tasks, which leads to prolonged execution times. We present evidence that relying on the default Linux CFS scheduler increases serverless workloads cost by up to 10×. In this article, we raise awareness and make a case for rethinking the OS-level scheduling in Linux for serverless workloads composed of many short-lived processes. To make serverless more affordable we introduce a hybrid two-level scheduling approach that relies on FaaS characteristics. Short-running functions are executed in FIFO fashion without preemption, while longer-running functions are passed to CFS after a certain time period. We show that tailor-made OS scheduling is able to significantly reduce user-facing costs without adding any provider-facing overhead. |
| Document type | Conference contribution |
| Language | English |
| Published at | https://doi.org/10.1145/3652892.3700757 |
| Other links | https://www.scopus.com/pages/publications/85215517044 |
| Downloads |
3652892.3700757
(Final published version)
|
| Permalink to this page | |
