English

Agile Development of Linux Schedulers with Ekiben

Operating Systems 2023-06-28 v1

Abstract

Kernel task scheduling is important for application performance, adaptability to new hardware, and complex user requirements. However, developing, testing, and debugging new scheduling algorithms in Linux, the most widely used cloud operating system, is slow and difficult. We developed Ekiben, a framework for high velocity development of Linux kernel schedulers. Ekiben schedulers are written in safe Rust, and the system supports live upgrade of new scheduling policies into the kernel, userspace debugging, and bidirectional communication with applications. A scheduler implemented with Ekiben achieved near identical performance (within 1% on average) to the default Linux scheduler CFS on a wide range of benchmarks. Ekiben is also able to support a range of research schedulers, specifically the Shinjuku scheduler, a locality aware scheduler, and the Arachne core arbiter, with good performance.

Keywords

Cite

@article{arxiv.2306.15076,
  title  = {Agile Development of Linux Schedulers with Ekiben},
  author = {Samantha Miller and Anirudh Kumar and Tanay Vakharia and Tom Anderson and Ang Chen and Danyang Zhuo},
  journal= {arXiv preprint arXiv:2306.15076},
  year   = {2023}
}

Comments

13 pages, 5 figures, submitted to Eurosys 2024