Department » Colloquia » Abstracts
"Phase-Aware Software Profiling for Resource-Constrained Devices"

Chandra Krintz
UC Santa Barbara

Thursday, January 20, 2005
1065 Kemper Hall
3 :10-4:00 p.m.


Abstract:

Recent advances in networking and embedded device technology have made the vision of ubiquitous computing a reality; users can access the Internet's vast offerings anytime and anywhere. Moreover, battery-powered devices such as personal digital assistants and web-enabled mobile phones
have successfully emerged as new access points to the world's digital infrastructure.

This ubiquity offers a new opportunity for software developers: users can now participate in the software development, optimization, and evolution process while they use their software. Such participation requires effective techniques for gathering profile information from remote, resource constrained devices. Further, these techniques must be unobtrusive and transparent to the user. Hence, profiles must be gathered using minimal computation, communication, and power. To this end, we present a flexible hardware-software scheme that will enable embedded remote profiling. We rely on the extraction of meta information from executing programs in the form of phases, and then use this information to guide intelligent online sampling and to manage the communication of those samples. Our results indicate that phase-based remote profiling can reduce the communication, computation, and energy consumption overheads by 50-75% over random and periodic sampling.

BIO: Chandra Krintz is an Assistant Professor at the University of
California, Santa Barbara (UCSB). She joined the UCSB faculty
in 2001 after receiving her Ph.D. in Computer Science from the
University of California, San Diego (UCSD) under the advisement
of Dr. Brad Calder. Chandra also received her M.S. degree in
Computer Science from UCSD. Chandra's research interests include
adaptive compiler and runtime techniques that improve program
performance or reduce power consumption by exploiting the
time-varying behavior in underlying resource performance
and program execution.