On Linux starvation of CPU-bound processes in the presence of network I/O

  • Authors:
  • K. Salah;A. Manea;S. Zeadally;Jose M. Alcaraz Calero

  • Affiliations:
  • Computer Engineering Department, Khalifa University of Science Technology and Research (KUSTAR), Sharjah, United Arab Emirates;Department of Information and Computer Science, King Fahd University of Petroleum and Minerals, Dhahran 31261, Saudi Arabia;Department of Computer Science and Information Technology, University of the District of Columbia, Washington, DC 20008, USA;Department of Communications and Information Engineering, University of Murcia, Murcia 30011, Spain and Hewlett-Packard Labs, Cloud and Security Lab, Bristol BS34 8QZ, UK

  • Venue:
  • Computers and Electrical Engineering
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Process starvation is a critical and challenging design problem in operating systems. A slight starvation of processes can lead to undesirable response times. In this paper, we experimentally demonstrate that Linux can starve CPU-bound processes in the presence of network I/O-bound processes. Surprisingly, the starvation of CPU-bound processes can be encountered at only a particular range of traffic rates being received by network processes. Lower or higher traffic rates do not exhibit starvation. We have analyzed it under different network applications, system settings and network configurations. We show that such starvation may exist for the two Linux scheduler, namely the 2.6 O(1) scheduler and the more recent 2.6 Completely Fair Scheduler (CFS). We instrumented and profiled the Linux kernel to investigate the underlying root causes of such starvation. In addition, we suggest possible mitigation solutions for both schedulers.