2026 Volume 34 Pages 987-997
One of the schedulers in the Linux kernel is the deadline scheduler (DS) mainly designed for hard real-time systems. When attempting to assign DS to a task, the kernel calculates the sum of the utilizations of all tasks, including the target task, that have already been assigned DS. If the sum exceeds the number of cores, the kernel does not assign DS to the target task. This condition is too severe for soft real-time systems. When using DS in soft real-time systems, assigning DS to a task may fail even when CPU resources remain available. To address this problem, this paper proposes the soft deadline scheduler (SDS), an extension of DS to achieve effective CPU utilization for soft real-time systems. Its main idea is to dynamically reduce the execution time of every task run by SDS if necessary so that the task is executed within the task's specified runtime. This paper presents an algorithm that appropriately calculates reduced execution times for all tasks and demonstrates the effectiveness of SDS by implementing it in the Linux kernel.