next up previous
Next: Background on proportional share Up: Constant Bandwidth vs Proportional Previous: Constant Bandwidth vs Proportional

Introduction

There exists a large class of applications that require real-time computation in order to be effective. An interesting example is given by multimedia systems, because they manage Continuous Media (audio and video streams), characterized by implicit temporal semantic, for implementing video conference, telepresence, video on demand and other similar services.

In these systems, one of the main problems is to allocate the computational resources to the application tasks in order to provide some form of real-time execution. In fact, if resources are allocated independently from the temporal requirement of the application, the system may experience a degradation in Quality of Service (QoS), especially under high load conditions.

In the last years, the problem of modifying a conventional operating system in order to obtain fair resource allocation has been investigated. In [7], the authors proposed a variant of the Solaris, based on the SFQ scheduling algorithm. In [16], the Free-BSD scheduler has been modified to implement the EEVDF scheduling algorithm. In [17,18] the Linux kernel has been modified to provide proportional share. All these scheduling policies are essentially based on a common approach referred as Proportional Share resource allocation (PSA). The essence of PSA is to allocate a resource to a task for an uniform fraction of every time interval: in this way, each task makes progress as if it executes alone on a slower processor. Although this "fairness" in tasks management allows to handle QoS requirements, such a spread in process execution can be too restrictive for some applications.

A different approach to the problem of providing QoS in an operating system is to adapt the real-time theory [8] to a more flexible environment. In [12], a fixed priority scheme (derived from the Rate Monotonic algorithm) is used to realize an abstraction called Resource Reservation, which was implemented in Real-Time Mach.

In [1] we presented a Constant Bandwidth resource allocation (CBA) strategy that, like PSA, lies between time sharing and real-time approaches. The essence of CBA is to reserve a fraction of the CPU bandwidth to each task, ensuring that each task can not demand more than the reserved bandwidth. Constant Bandwidth allows uniform execution of Continuous Media (CM) tasks, whose time requirements are not exactly known a priori, without jeopardize the schedulability of possible real-time tasks which may execute in the same system.

In this paper we present a comparative analysis of the PSA and CBA approaches and show that the CBA can be a valid alternative to quantum-based PSA and can be more appropriate for supporting some hybrid real-time multimedia applications.

The paper is organized as follows: Sections 2 and 3 recall the definitions of Proportional Share resource allocation and Constant Bandwidth resource allocation; Section 4 shows the similarities and the differences between them; Section 5 presents some simulation results, and finally in Section 6 we present our conclusions.


next up previous
Next: Background on proportional share Up: Constant Bandwidth vs Proportional Previous: Constant Bandwidth vs Proportional

1999-02-16