Abstract
In prior research work, it has been demonstrated that Linux can starve CPU-bound processes in the presence of network I/O. The starvation of Linux CPU-bound processes occurs under the two Linux schedulers, namely the 2.6 O(1) scheduler and the more recent 2.6 Completely Fair Scheduler (CFS). In this paper, we analyze the underlying root causes of this starvation problem and we propose effective solutions that can mitigate such starvation. We present detailed implementations of our proposed solutions for both O(1) and CFS Linux schedulers. We empirically evaluate the effectiveness of our proposed solutions in terms of execution time and incoming traffic load. For our experimental study and analysis, we consider two types of mainboard architectures: Uni-Processing (UP) and Symmetric Multi-Processing (SMP). Our empirical results show that the proposed solutions are highly effective in mitigating the starvation problem for CPU-bound processes with no negative impact on the performance of network I/O-bound processes.
Original language | English |
---|---|
Pages (from-to) | 1899-1914 |
Number of pages | 16 |
Journal | Journal of Systems and Software |
Volume | 85 |
Issue number | 8 |
DOIs | |
State | Published - Aug 2012 |
Keywords
- CPU scheduler
- CPU-bound processes
- Linux
- Network I/O
- Operating system
- Performance
- Starvation
ASJC Scopus subject areas
- Software
- Information Systems
- Hardware and Architecture