QLinux 2.2.x: A QoS enhanced Linux Kernel for Multimedia Computing

Table of Contents

QLinux is a Linux kernel that can provide quality of service guarantees. QLinux, based on the Linux 2.2.x kernel, combines some of the latest innovations in operating systems research. It includes the following features:

The H-SFQ CPU scheduler enables hierarchical scheduling of applications by fairly allocating cpu bandwidth to individual applications and application classes. The H-SFQ packet scheduler provides rate guarantees and fair allocation of bandwidth to packets from individual flows as well as flow aggregates (classes). Lazy receiver processing enables accurate charging of TCP/UDP protocol processing overhead (including interrupt processing) to the appropriate process. The Cello disk scheduler supports multiple application classes such as interactive best-effort, throughput-intensive best effort and soft real-time and fairly allocates disk bandwidth to these classes (support for Cello is not stable yet, please contact the authors for the latest version).

When enabled, these features replace the standard features/schedulers available in Linux. The current release provides the flexibility of allowing any combination of these features to be compiled as needed.

The current version for QLinux (based on the 2.2.0 kernel) is available for download from here. The QLinux developers can be reached at qlinux@cs.umass.edu. QLinux announcements are available by subscribing to the qlinux-announce mailing list. To subscribe, please send a mail to majordomo@cs.umass.edu with the text "subscribe qlinux-announce".


QLinux is a joint effort between AT&T Labs-Research, Distributed Multimedia Computing Laboratory (University of Texas) and the Laboratory for Advanced System Software (University of Massachusetts). QLinux was developed by the following people:

The following people provided inputs and/or resources for the QLinux project


QLinux is based on the following research publications:

[1] P. Goyal and X. Guo and H.M. Vin, A Hierarchical CPU Scheduler for Multimedia Operating Systems, Proceedings of 2nd Symposium on Operating System Design and Implementation (OSDI'96), Seattle, WA, pages 107-122, October 1996.

[2] P. Goyal and H. M. Vin and H. Cheng, Start-time Fair Queuing: A Scheduling Algorithm for Integrated Services Packet Switching Networks, Proceedings of ACM SIGCOMM'96, pages 157-168, August 1996.

[3] P. Druschel and G. Banga, Lazy Receiver Processing (LRP): A Network Subsystem Architecture for Server Systems, Proceedings of the 2nd Symposium on Operating System Design and Implementation (OSDI'96), Seattle, WA, Pages 261-275, October 1996

[4] P Shenoy and H M. Vin, Cello: A Disk Scheduling Framework for Next Generation Operating Systems, Proceedings of ACM SIGMETRICS Conference, Madison, WI, pages 44-55, June 1998.

Download QLinux

QLinux is open-source and is freely downloadable under Gnu General Public License.

The latest version is 2.2.0 (based on the 2.2.0 kernel). You can download the entire source code from here (14MB gzip'd) Alternatively, a patch for the 2.2.0 kernel is available from here (435KB gzip'd)

Release notes are available here You can also download sample applications and man pages for QLinux.

Note: A version based on the Linux 2.2.9 kernel will be available later this summer.

Prashant Shenoy
Last modified: Thu Jul 1 14:52:41 EDT 1999