CMU-CS-99-166
Computer Science Department
School of Computer Science, Carnegie Mellon University



CMU-CS-99-166

Coscheduling of Computation and Communication Resources in Push-Pull Communications to Provide End-to-End QoS Guarantees

Kanaka Juvva

August 1999

CMU-CS-99-166.ps
CMU-CS-99-166.pdf


Keywords: Coscheduling, QoS guarantees, end-to-end delay, proxy, topology, push communication


In this paper, we extend the Push-Pull Communication Model to provide end-to-end quality of service (QoS) for clients located in distributed and heterogeneous nodes. Push-pull communications is a middleware service that has been implemented on top of a Resource Kernel . It is a many-to-many communication model, which can easily and quickly disseminate information across heterogeneous nodes with flexible communication patterns. It supports both ``push'' (data transfer initiated by a sender) and ``pull'' (data transfer initiated by a receiver) communications. Nodes with widely differing processing power and networking bandwidth can coordinate and co-exist by the provision of appropriate and automatic support for transformation on data communication frequencies. In particular, different information sources and sinks can operate at different frequencies and also can choose another (intermediate) node to act as their "proxy" and deliver data at the desired frequency.

In this paper, we specifically address the timeliness and bandwidth guarantees of the push-pull model. The location of a proxy, the network topology and the underlying network support can impact the timeliness of data. We formally analyze the problem of choosing an optimal proxy location within a network. We obtain the somewhat counter-intuitive result that if slightly longer end-to-end latencies can be tolerated and unicast protocols are used, locating the proxy at the publisher node is the best. The situation turns complex if multicast protocols are used. We show that this problem of optimal proxy allocation can be formulated as a mixed integer programming problem that can be solved efficiently. As an example, we solve the proxy location problem for a high-speed vBNS network configuration. We obtain our end-to-end timeliness and bandwidth guarantees by using a resource kernel offering CPU guarantees at the end-points and the use of a guaranteed bandwidth network between push-pull clients. We discuss our implementation of this system and carry out a detailed performance evaluation on an integrated RT-Mach - Darwin testbed at Carnegie Mellon. Our results open up interesting research directions for the QoS scheduling of applications which require both computation and communication resources.

23 pages


Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by reports@cs.cmu.edu