Balancing performance, energy, and quality in pervasive computing

We describe Spectra, a remote execution system for battery-powered clients used in pervasive computing. Spectra enables applications to combine the mobility of small devices with the greater processing power of static compute servers. Spectra is self-tuning: it monitors both application resource usage and the availability of resources in the environment, and dynamically determines how and where to execute application components. In making this determination, Spectra balances the competing goals of performance, energy conservation, and application quality. We have validated Spectra's approach on the Compaq Itsy v2.2 and IBM ThinkPad 560X using a speech recognizer a document preparation system, and a natural language translator. Our results confirm that Spectra almost always selects the best execution plan, and that its few suboptimal choices are very close to optimal.

[1]  David A. Nichols,et al.  Using idle workstations in a shared computing environment , 1987, SOSP '87.

[2]  Mahadev Satyanarayanan,et al.  Disconnected Operation in the Coda File System , 1999, Mobidata.

[3]  Ralf D. Brown,et al.  The Pangloss-Lite machine translation system , 1996, AMTA.

[4]  Alexander H. Waibel,et al.  Interactive Translation of Conversational Speech , 1996, Computer.

[5]  Mahadev Satyanarayanan,et al.  Agile application-aware adaptation for mobility , 1997, SOSP.

[6]  Charles E. Perkins,et al.  Service Location Protocol , 1997, RFC.

[7]  Geoffrey H. Kuenning,et al.  Saving portable computer battery power through remote process execution , 1998, MOCO.

[8]  Miron Livny,et al.  Improving Goodput by Coscheduling CPU and Network Capacity , 1999, Int. J. High Perform. Comput. Appl..

[9]  Galen C. Hunt,et al.  The Coign automatic distributed partitioning system , 1999, OSDI '99.

[10]  Geoffrey H. Kuenning,et al.  The remote processing framework for portable computer power saving , 1999, SAC '99.

[11]  Hari Balakrishnan,et al.  The design and implementation of an intentional naming system , 1999, SOSP.

[12]  James M. Rehg,et al.  Compiler-Directed Remote Task Execution for Power Management , 2000 .

[13]  Amin Vahdat,et al.  Every joule is precious: the case for revisiting operating system design for energy efficiency , 2000, ACM SIGOPS European Workshop.

[14]  Mahadev Satyanarayanan,et al.  Using history to improve mobile application adaptation , 2000, Proceedings Third IEEE Workshop on Mobile Computing Systems and Applications.

[15]  Gregory R. Ganger,et al.  Dynamic Function Placement for Data-Intensive Cluster Computing , 2000, USENIX Annual Technical Conference, General Track.

[16]  Thomas Kunz,et al.  A mobile code toolkit for adaptive mobile applications , 2000, Proceedings Third IEEE Workshop on Mobile Computing Systems and Applications.

[17]  J. Flinn,et al.  Energy-aware adaptation for mobile applications , 1999, SOSP.

[18]  Joel F. Bartlett,et al.  Itsy: Stretching the Bounds of Mobile Computing , 2001, Computer.

[19]  Mahadev Satyanarayanan,et al.  Pervasive computing: vision and challenges , 2001, IEEE Wirel. Commun..