Fermilab Computing Division

CS Document 2096-v2

Interactivity vs. Fairness in Networked Linux Systems

Document #:
Document type:
Technical Note
Submitted by:
Wenji Wu
Updated by:
Wenji Wu
Document Created:
12 Apr 2007, 09:33
Contents Revised:
02 Aug 2007, 09:14
Metadata Revised:
02 Aug 2007, 09:14
Viewable by:
  • Public document
Modifiable by:

Quick Links:
Latest Version

Other Versions:
22 May 2007, 10:50
In general, the Linux 2.6 scheduler can ensure fairness and provide excellent interactive performance at the same time. However, our experiments and mathematical analysis have shown that the current Linux interactivity mechanism tends to incorrectly categorize non-interactive network applications as interactive, which can lead to serious fairness or starvation issues. In the extreme, a single process can unjustifiably obtain up to 95% of the CPU! The root cause is due to the facts that: (1) network packets arrive at the receiver independently and discretely, and the “relatively fast” non-interactive network process might frequently sleep to wait for packet arrival. Though each sleep lasts for a very short period of time, the wait-for-packet sleeps occur so frequently that they lead to interactive status for the process. (2) The current Linux interactivity mechanism provides the possibility that a non-interactive network process could receive a high CPU share, and at the same time be incorrectly categorized as interactive. In this paper, we propose and test a possible solution to address the interactivity vs. fairness problems. Experiment results have proved the effectiveness of the proposed solution.
Publication Information:
Computer Networks, Elsevier, 2007
DocDB Home ]  [ Search ] [ Authors ] [ Events ] [ Topics ]

DocDB Version 8.8.10, contact Document Database Administrators