QoS Management


For some applications (i. e. multimedia applications), the respect of task's deadlines isn't critical, but deadline misses can cause a degradation in the quality of the service offered by the application.

In this case, it is not important to guarantee that all the deadline will be respected, but it can be usefull to guarantee a minimum degree of Quality of Service (QOS) provided by the application. The QOS of an application can be specified in several manners, dependig on the application behavior: it can be specied in term of deadline miss probability, mean tardiness, average frame rate experimented, mean delay,...

The QOS provided by an application can be controlled using suitable scheduling algorithms: in particular, we are testin alghoritm for

The Constant Bandwidth Server

One solution for guaranteeing a specified QOS to a task is to reserve a fraction of the CPU band to the task. This can be done serving the task with a server that assigns scheduling deadlines to the task in order to not require more than the reserved bandwidth.

For this purpose, we propose the Constant Bandwidth Server (CBS), inspired to the Dynamic Sporadic Server (DSS) and the Total Bandwidth Server (TBS). As the DSS, the CBS guarantees that, if Us is the fraction of processor time assigned to a server (i.e., its bandwidth), its contribution to the total utilization factor is no greater than Us, even in the presence of overloads. Notice that this property is not valid for a TBS, whose actual contribution is limited by Us only under the assumption that all the served jobs execute no more than the declared WCET. With respect to the DSS, however, the CBS shows a much better performance, comparable with the one achievable by a TBS.

These are some things to be noted about CBS:

In addition to the isolation property, the CBS has the following characteristics:

A Bandwidth-based server for multimedia applications.

The main goal of this research is to study novel techniques for providing support for multimedia soft real-time applications running together with hard ones. Traditional operating systems are not likely to meet this goal as they do not manage system resources according to the requirements of multimedia streams. In fact, scheduling decisions are not based on parameters like the deadlines or the of the application tasks.

However, the use of a hard real-time system for handling soft real-time applications can be inappropriate, because it may be very difficult to provide a precise estimation of worst case execution times (WCETs) for multimedia task, even if the application always runs on the same hardware. Moreover, in a hard real-time environment, if the WCET of a task is not correctly estimated, it could cause the failure of all system tasks. Rather, in a multi-application system, it would be desirable that only the failed application is affected.

In order to provide isolation between different applications the scheduling algorithm has to reserve a fraction of the processor to each application and to prevent it from getting more. Moreover, the temporal behavior of the application must be expressed based on few and simple parameters like the ``execution rate''. Finally, the QoS level provided must be ``tunable'', depending on the importance of the application and on the availabilty of resources.

Starting from the classical resource allocation methods presented in the literature for multi-task systems, the goal is to build a scheduling algorithm for multi-application systems which meets the properties listed above. The algorithm must be independent from the WCETs of the tasks, because these are very difficult to extimate, especially in multimedia applications.

Another problem arise removing the assumption of independent task. The model considered in this research is based on independent applications consisting of tasks which interacts through shared memory. Then, it is necessary to choose the most appropriate concurrency control algorithm to use in this framework. The algorithm must well integrate with the scheduling algorithm in order to mantain the desired properties of QoS control.

As second step, we plan to implement a multi-application system on the top of a real-time microkernel and to show the advantages of the framework described above in running multimedia applications with respect to traditional OS. Moereover, it is important to show that even non-real-time applications can be executed in this novel system without significant loss of QoS.

An elastic task model for dynamic QOS control