Integrated CPU and network-I/O QoS management in an endsystem

Realtime multimedia applications such as conferencing, broadcast video, and distributed virtual reality demand predictable QoS from both endsystem and network resources. We argue that in a general-purpose computer, applications do not know the exact resource requirements in advance, and resource requirements and resource availability change at runtime. To provide predictable QoS in such an environment, we have designed a resource-management architecture in which applications and the OS cooperate to dynamically adapt to variations in resource requirements and availability. We have implemented the resulting OS architecture, called AQUA (Adaptive Quality of service Architecture), in the Sun Solaris(TM) OS. This paper describes how AQUA can be used to manage CPU to provide predictable QoS. In addition, we describe how to manage the CPU and Network-I/O resources in an integrated fashion. The paper also presents the results of an experimental evaluation.