Complex distributed applications, including virtual environments, tele-medicine and video-on-demand, require quality of service (QoS) guarantees on the end-to-end transfer of information across a network. To generate, process and transfer such information in a manner satisfactory to each application requires the management of all the resources, both communication and computation-bound, along the ‘path’ from source to destination. The problem is complicated by the fact that: (1) the quality of service requirements of each application can vary with time, and (2) the availability of each resource varies depending on the demands from (a potentially variable number of) competing applications. In many such situations, static resource allocation results in poor resource utilization and, hence, poor scalability of service. In order to support more applications and provide better overall quality of service, multiple resources must be managed in a coordinated manner.
The problem addressed by this work is to provide the necessary system support to maximize, or at least maintain, the quality of service for distributed, real-time applications, in situations where the availability of each resource varies due to varying application requirements. Efficient policies and mechanisms are needed to coordinate, allocate and adapt communication and computation resources at run-time, in order to meet real-time and other quality of service constraints. Consequently, in this talk, I describe: (1) the Dionisys quality of service infrastructure, that monitors and adapts service on behalf of each application via one or more service managers, and (2) Dynamic Window-Constrained Scheduling (DWCS) of communication and computation resources. Algorithms such as DWCS are designed to reside in the service managers of a QoS infrastructure like Dionisys. Moreover, DWCS is designed to support real-time applications like those described above, with explicit loss and delay constraints. In certain situations, DWCS is provably optimal in terms of the service it provides to applications.