Distributed Resource Monitors for Mobile Objects

M. Ranganathan, Anurag Acharya, Joel Saltz To appear in IWOOOS'96

We present our position on resource monitoring as three working hypotheses. First, a resource-aware placement of components of a distributed application can provide significant performance gains over a resource-oblivious placement. Second, effective mobility decisions can be based on coarse-grained monitoring. Finally, a simple and cheap distributed resource monitoring scheme can provide sufficient information for effective mobility decisions. We present a design for distributed resource monitors which we believe can provide effective resource information at an acceptable cost.

First, we present results from a recent investigation on network-aware mobile programs, that is, programs that can use mobility as a tool to adapt to variations in network characteristics. We studied how an object-oriented Internet chat server can take advantage of mobility to adapt to variations in network latency as well as variations in the distribution of clients. Our results showed that network-aware placement of components of a distributed application can provide significant performance gains over a network-oblivious placement and that effective mobility decisions can be based on coarse-grained monitoring. Next, we present our design for distributed resource monitors. Based on this design, we have implemented Komodo , a distributed network latency monitor. The object-oriented chat server mentioned above uses latency information provided by Komodo to decide when and where to move the chat-board object. To quantify the cost and the scalability of our approach to monitoring, we performed a sequence of experiments with Komodo. We found that continuous monitoring of UDP-level network latency between sixteen hosts consumed about 0.5% of CPU cycles and generated 256 bytes/second of network traffic. We also found that latency-sensitive applications that run for at most an hour or so gain little from continuous monitoring and that most of the gains for these applications can be achieved by on-demand determination of resource levels. On-demand monitoring would also be suitable for for resources that are more expensive to monitor, for example, network bandwidth.

Postscript (compressed 57K) A previous version is available as CS-TR-3661.