Check out the new USENIX Web site. USENIX - Summaries


Network Aware Mobile Programs

By Mudumba Ranganathan, Anurag Acharya, Shamik Sharma, and Joel Saltz, University of Maryland

Summary by Peter Collinson

This paper was presented by Anurag Acharya. It was the first of two presentations that comprised a session called Client Tricks. The speakers suffered somewhat from the parallel tracks that existed at the conference; presenters had to compete with the muffled sounds of adulation coming from next door where Linus Torvalds was expounding on his latest work on the Linux kernel.

The key idea in this paper is the notion of moving the execution of an application around the network to optimize on its performance in some way. Of course, you can choose several resource constraints that may be used to influence the decision to migrate a program. The authors have chosen to use the network characteristics to influence the decision to move, hence the title of the paper. The paper describes a multiuser chat program that adapts itself to be positioned on the best processor; "best" is where each user obtains maximal performance in terms of network latency.

The vehicle for this work is a specially adapted version of Java. Called Sumatra, the language adds two new primitives to Java: object groups and execution engines. Object groups allow the packaging of sets of objects that can then be moved around the network to different execution engines. The execution engine is an abstraction of a Sumatra interpreter running somewhere in the network. Threads can move between engines using explicit methods that the engines support. Alternatively, one engine can schedule a remote execution of a thread on another engine. The language also has resource monitoring primitives that permit measurement of various resources.

The authors have conducted a study of Internet latency for a variety of host pairs. The basis for measurement is the ICMP ping packet. Well-known hosts in the US and outside were pinged over several weekdays from four US hosts at different locations. These measurements gave the team the basis for a simulation using four machines on a LAN; the delay times acquired in the study were used to inflict realistic delays to test the chat application.

The team has found that network aware placement of computation in latency sensitive distributed programs can provide a significant performance improvement. Second, persistent changes in the network latency (which are the changes that a program would wish to adapt to) occur slowly; sharp changes are undone shortly. Accordingly, coarse-grained measurement is sufficient to achieve most of the gains from being network aware. More information on their research on network aware programs can be found at https://www.cs.umd.edu/users/acha .

Originally published in ;login: Vol. 22, No.2, April 1997.


webster@usenix.org
Last changed: May 28, 1997 pc
Summaries Index
Anaheim Index
Proceedings Index
USENIX home