Raptor: Distributed Scheduling for Serverless Functions
<|reference_start|>Raptor: Distributed Scheduling for Serverless Functions: Serverless platforms that poorly schedule function requests inspire developers to implement workarounds to issues like high cold start latencies, poor fault tolerance, and limited support for parallel processing. These solutions litter environments with idle containers and add unnecessary pressure to the already underperforming scheduling services. An effective serverless scheduling policy should encourage developers to write small and reusable snippets of code, and give operators the freedom to administer cluster workloads however necessary in order to meet their operational demands. To this end, we have designed a distributed scheduling service that integrates with existing serverless frameworks. Our service addresses three key issues that affect modern serverless platforms; high cold start latencies, poor fault tolerance, and limited native support for parallel processing patterns like fork-join and map-reduce. We have built a prototype that integrates with the existing OpenWhisk services, and is fully backwards compatible with the existing implementation. The updated architecture improves performance and adds new scheduling and security features. Our empirical results demonstrate that our scheduler reduces cold start execution latencies by up to 80, steady state latencies by up to 10, and does so with negligible time and memory overhead.<|reference_end|>
@article{exton2024raptor:,
    title={Raptor: Distributed Scheduling for Serverless Functions},
    author={Kevin Exton and Maria Read},
    journal={arXiv preprint arXiv:2403.16457},
    year={2024},
    archivePrefix={arXiv},
    eprint={2403.16457},
    primaryClass={cs.DC}
}