کد مقاله | کد نشریه | سال انتشار | مقاله انگلیسی | نسخه تمام متن |
---|---|---|---|---|
454107 | 695098 | 2011 | 16 صفحه PDF | دانلود رایگان |

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.
Figure optionsDownload as PowerPoint slideHighlights
► We experimentally demonstrate that Linux can starve computation-extensive processes in the presence of heavy network load.
► Results show that starvation only occurs at specific network loads and with different type of network and system configurations.
► Starvation exists regardless of the type of Linux schedulers being used.
► Solution to this starvation problem has been proposed.
Journal: Computers & Electrical Engineering - Volume 37, Issue 6, November 2011, Pages 1090–1105