Understanding The Linux Kernel
Understanding The Linux Kernel
Operating System Concepts
Linux Kernel Development (2nd Edition) (Novell Press)
Linux Kernel Development (2nd Edition) (Novell Press)
On Linux starvation of CPU-bound processes in the presence of network I/O
Computers and Electrical Engineering
Mitigating starvation of Linux CPU-bound processes in the presence of network I/O
Journal of Systems and Software
Deadline prediction scheduling based on benefits
Future Generation Computer Systems
Dynamic threshold for imbalance assessment on load balancing for multicore systems
Computers and Electrical Engineering
VSA: An offline scheduling analyzer for Xen virtual machine monitor
Future Generation Computer Systems
Hi-index | 0.00 |
The Operating System scheduler is designed to allocate the CPU resources appropriately to all processes. The Linux Completely Fair Scheduler (CFS) design ensures fairness among tasks using the thread fair scheduling algorithm. This algorithm ensures allocation of resources based on the number of threads in the system and not within executing programs. This can lead to fairness issue in a multi-threaded environment as the Linux scheduler tends to favor programs with higher number of threads. We illustrate the issue of fairness through experimental evaluation thus exposing the weakness of the current allocation scheme where software developers could take advantage by spawning many additional threads in order to obtain more CPU resources. A novel algorithm is proposed as a solution towards achieving better fairness in the Linux scheduler. The algorithm is based on weight readjustment of the threads created in the same process to significantly reduce the unfair allocation of CPU resources in multi-threaded environments. The algorithm was implemented and evaluated. It demonstrated promising results towards solving the raised fairness issue. We conclude this paper highlighting the limitations of the proposed approach and the future work in the stated direction.