DOI: 10.1145/3861009 ISSN: 1544-3566
PLUGSCHED+: Efficient and General Live Update and Recovery for Linux Scheduler
Zhuo Song, Peng Wang, Yi Tao, Pu Pang, Chengqi Jiang, Quan Chen, Teng Ma, Shuai Xue, Huanle Xu, Tao Ma, Yong Yang, Shoumeng Yan, Minyi GuoThe scheduler is a critical component of the operating system (OS) and is tightly coupled with Linux. Production-level clouds often host various workloads, and these workloads require different schedulers to achieve high performance. Furthermore, the scheduler may encounter faults during runtime, leading to the kernel panic. Thus the capability of updating and recovering the scheduler lively without rebooting the OS is crucial for the production environments. However, existing techniques only apply for the fine-grained function-level updates, or require extra constraints such as virtualization when performing update and recovery.
We therefore propose
Plugsched+
to enable scheduler live update and recovery with two key novelties. First, with the idea of modularization,
Plugsched+
decouples the scheduler from the Linux kernel to be an independent module. Second,
Plugsched+
uses the data rebuild technique to migrate the state from the old scheduler to the new one during live update, or clear anomalous data during live recovery. This scheme can be directly applied to the Linux kernel scheduler in production environments without replacing the kernel. Experimental and production results show that
Plugsched+
can effectively update and recover the scheduler lively, and the downtime is no more than tens of milliseconds.