Developing Process Scheduling Policies in User Space with Common OS Features

Kenichi Yasukata, Kenta Ishiguro · 2024

This paper explores a programming technique that enables process scheduling policy development in user space by only using common Operating System (OS) features. We propose a mechanism called the priority elevation trick that actively manipulates the priorities of processes to realize a certain process scheduling policy atop a conventional kernel-space process scheduler. Our experiments quantify its overheads on bare-metal and Virtual Machine (VM) setups and demonstrate that its three use cases, microsecond-scale time slicing, table-driven scheduling, and preemptive scheduling, contribute to networked server performance.

Read the paper · More papers on PaperTik