The Weight-Watcher Service and its Lightweight Implementation

This paper presents the weight-watcher service. This service aims at providing resource consumption measurements and estimations for software executing on resource-constrained devices. By using the weight-watcher, software components can continuously adapt and optimize their quality of service with respect to resource availability. The interface of the service is composed of a profiler and a predictor. We present an implementation that is lightweight in terms of CPU and memory. We also performed various experiments that convey (a) the tradeoff between the memory consumption of the service and the accuracy of the prediction, as well as (b) a maximum overhead of 10% on the execution speed of the VM for the profiler to provide accurate measurements.

[1]  Richard Wolski,et al.  The network weather service: a distributed resource performance forecasting service for metacomputing , 1999, Future Gener. Comput. Syst..

[2]  Mahadev Satyanarayanan,et al.  Multi-fidelity algorithms for interactive mobile applications , 1999, DIALM '99.

[3]  Reinhold Heckmann,et al.  Worst case execution time prediction by static program analysis , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[4]  Yanhong A. Liu,et al.  Optimized Live Heap Bound Analysis , 2002, VMCAI.

[5]  James F. Power,et al.  Platform independent dynamic Java virtual machine analysis: the Java Grande Forum benchmark suite , 2001, JGI '01.

[6]  Kathryn S. McKinley,et al.  Data flow analysis for software prefetching linked data structures in Java , 2001, Proceedings 2001 International Conference on Parallel Architectures and Compilation Techniques.

[7]  Walter Binder,et al.  Continuous Bytecode Instruction Counting for CPU Consumption Estimation , 2006, Third International Conference on the Quantitative Evaluation of Systems - (QEST'06).

[8]  Mahadev Satyanarayanan,et al.  Predictive Resource Management for Wearable Computing , 2003, MobiSys '03.

[9]  Middleware Track A Portable CPU-Management Framework for Java , 2004 .

[10]  Martin Hofmann,et al.  Static prediction of heap space usage for first-order functional programs , 2003, POPL '03.

[11]  Sergio Yovine,et al.  A Static Analysis for Synthesizing Parametric Specifications of Dynamic Memory Consumption , 2006, J. Object Technol..

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

[13]  Walter Binder,et al.  Program transformations for portable CPU accounting and control in Java , 2004, PEPM '04.

[14]  Sébastien Lafond,et al.  An Energy Consumption Model for an Embedded Java Virtual Machine , 2006, ARCS.

[15]  Lonnie R. Welch,et al.  Heterogeneous resource management for dynamic real-time systems , 2000, Proceedings 9th Heterogeneous Computing Workshop (HCW 2000) (Cat. No.PR00556).

[16]  Shengchao Qin,et al.  Memory Usage Verification for OO Programs , 2005, SAS.

[17]  Chang Yun Park,et al.  Predicting program execution times by analyzing static and dynamic program paths , 1993, Real-Time Systems.