Abstract
Most research on QoS-aware computing considers systems where code is generally partitioned into separately schedulable tasks with associated timing constraints. In sharp contrast to such systems is a myriad of mainstream off-the-shelf applications and services such as Web servers, caches, mail servers, and content distribution proxies where QoS guarantees may be needed, yet the software follows a best-effort one-size-serves-all model. In this model, different traffic classes are not mapped to different schedulable entities (tasks), making it impossible to use real-time scheduling meaningfully to satisfy application QoS. This paper presents a kernel-level solution to the problem of retrofitting such best-effort systems with QoS support without changing application code. The solution has been implemented in Linux. By downloading a few kernel patches and configuring the patched kernel appropriately, a system administrator can endow a best-effort service with QoS assurances transparently to the legacy server. An extensible library is provided in a separate QoS manager that allows implementing different types of QoS guarantees within the extended service. The performance of the resulting system is evaluated on the implemented Linux-based prototype. It is shown that QoS-sensitive behavior is successfully achieved.
Original language | English (US) |
---|---|
Article number | 1203041 |
Pages (from-to) | 96-105 |
Number of pages | 10 |
Journal | Real-Time Technology and Applications - Proceedings |
DOIs | |
State | Published - 2003 |
Externally published | Yes |
Event | 9th IEEE Real-Time and Embedded Technology and Applications Symposium, RTAS 2003 - Toronto, ON, Canada Duration: May 27 2003 → May 30 2003 |
ASJC Scopus subject areas
- Computer Networks and Communications
- Hardware and Architecture
- Software