Computer Science Department
School of Computer Science, Carnegie Mellon University
Coscheduling of Computation and Communication Resources in Push-Pull Communications to Provide End-to-End QoS Guarantees
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.