QoS Support for Linux - Documentation


TODO Items

Tasks to be done:


This is a modular architecture for integrating advanced Quality of Service (QoS) support into the Linux kernel for soft real-time periodic processes. It is especially suitable for those contexts in which a process presents large fluctuations on the computation demand of its own jobs, and occasional violation of the jobs' deadlines is deemed as acceptable.

The architecture relies on an underlying Resource Reservation scheduler which allows to assign to each process (or group of processes) the fraction of the CPU to be used for its execution. Then, it is possible to use the set of software components defined in this project for the purpose of adapting dynamically the assigned bandwidth for each single job depending on its execution requirements. A "controller" is responsible for assigning, at each job end, the new bandwidth to be used for the next job execution, based on information about the next job execution time that is provided by a separate component, namely a "predictor".

The architecture provides a set of standard predictors and controllers, which have been extensively studied and analyzed in [1]. Furthermore, it allows the application to provide its own controller and/or predictor so to enhance the resource allocation strategy by using application-dependent knowledge of the computations made by a process.

The architecture is reconfigurable in that it allows, at compilation time, placement of the control logics either in user-space, within an application library, or in kernel-space, within a dynamically loadable kernel module. The former is especially recommended during the development and test phases of a new control or prediction algorithm, when a single bug has the potential to crash the entire system. The latter, instead, is recommended for the final deployment phase, when the module has been extensively tested and its placement inside the kernel allows to provide QoS supporting logics at a reduced overhead on the system.


Scuola Superiore Sant'Anna, Pisa, Italy.

Generated on Mon Aug 2 22:38:48 2010 for qosmgr by  doxygen 1.6.3