DATE: Thursday, May 9, 2002
TIME: 12 Noon to 1:00 pm
PLACE: Wean Hall 8220

Dushyanth Narayanan
SCS, Carnegie Mellon University

Improving Interactive Response in Mobile Environments

The synergy between two technologies, both at the cutting edge of research today, will enable a wide range of exciting new applications. Augmented reality software combined with wearable hardware will have uses ranging from aircraft maintenance to games. However, the mismatch between resource-poor mobile hardware on the one hand, and expensive yet latency-bound computations on the other, is a serious technical obstacle to the convergence of the two.

In this talk I will describe how such resource-intensive, interactive applications can bound latency in spite of resource scarcity and variability. I advocate a solution based on multi-fidelity computation, which provides a simple yet powerful programming model for applications to dynamically trade off output quality for resource consumption. Four case studies show that the cost of porting legacy applications to this model is modest.

I then describe how a middleware layer can effectively support such computations without any special support from the underlying OS, using predictive resource management. I describe the architecture of our system prototype, and present experimental results that show that it successfully improves latency in real applications.

The last part of the talk describes history-based demand prediction, a technique that is essential to our resource management framework. I will present a case study of GLVU -- a virtual walkthrough application -- and show how its CPU demand can be predicted with a time-varying linear model.

Dushyanth Narayanan is a student at CMU-CS, and hopes to obtain his Ph.D. this summer, at which point he will promptly forget everything presented in this talk. Prior to this work, he attempted to build a location tracking system; briefly worked on optimizing large storage systems; helped to implement the Odyssey system; and, in the distant past, tried to figure out if two polygons intersected each other.

For Further Seminar Info: