QLinux 2.4.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.4.4 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). 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.

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. Please contact Vijay Sundaram for a QLinux patch to the 2.4.4 version of the kernel. The QLinux developers can be reached at qlinux. 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".

Prior Versions

Prior versions of QLinux are still available. Click here to download them

People

The following people were involved in developing the latest verion (2.4.4) of QLinux:

For a list of people who contributed to prior versions, click here

References

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 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.

[4] Vijay Sundaram, Abhishek Chandra, Pawan Goyal and Prashant Shenoy, Application Performance in the QLinux Multimedia Operating System , Proceedings of the Eighth ACM Conference on Multimedia, Los Angeles, CA, pages 127-136, November 2000. November 2000.


Download QLinux

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

The latest version is 2.4.4 (based on the 2.4.4 kernel) is currently unavailable.

QLinux was originally implemented in the 2.2.0 kernel. For this version of QLinux click here

Release notes are available here You can also download sample applications. Here are the man pages for the system calls related to the HSFQ CPU scheduler and the HSFQ packet scheduler. This document describes how to use the Cello disk scheduler specific system calls.


Prashant Shenoy
Last modified: Wed Feb 13 11:04:49 EST 2002