This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Studying Energy Trade Offs in Offloading Computation/Compilation in Java-Enabled Mobile Devices
September 2004 (vol. 15 no. 9)
pp. 795-809

Abstract—Java-enabled wireless devices are preferred for various reasons. For example, users can dynamically download Java applications on demand. The dynamic download capability supports extensibility of the mobile client features and centralizes application maintenance at the server. Also, it enables service providers to customize features for the clients. In this work, we extend this client-server collaboration further by offloading some of the computations (i.e., method execution and dynamic compilation) normally performed by the mobile client to the resource-rich server in order to conserve energy consumed by the client in a wireless Java environment. In the proposed framework, the object serialization feature of Java is used to allow offloading of both method execution and bytecode-to-native code compilation to the server when executing a Java application. Our framework takes into account communication, computation, and compilation energies to decide where to compile and execute a method (locally or remotely), and how to execute it (using interpretation or just-in-time compilation with different levels of optimizations). As both computation and communication energies vary based on external conditions (such as the wireless channel state and user supplied inputs), our decision must be done dynamically when a method is invoked. Our experiments, using a set of Java applications executed on a simulation framework, reveal that the proposed techniques are very effective in conserving the energy of the mobile client.

[1] G. Chen, B. Kang, M. Kandemir, N. Vijaykrishnan, M.J. Irwin, and R. Chandramouli, Energy-Aware Compilation and Execution in Java-Enabled Mobile Devices Proc. 17th Int'l Parallel and Distributed Processing Symp., Apr. 2003.
[2] Wireless Devices Continue to Proliferate http://www.clickz. com/stats/markets/wireless/ article.php10094_950001. 2002.
[3] J. Flinn, G. Back, J. Anderson, K. Farkas, and D. Grunwald, Quantifying the Energy Consumption of a Pocket Computer and a Java Virtual Machine Proc. Int'l Conf. Measurement and Modeling of Computer Systems, June 2000.
[4] J. Flinn and M. Satyanarayanan, Energy-Aware Adaptation for Mobile Applications Proc. 17th ACM Symp. Operating Systems Principles, Dec. 1999.
[5] Z. Li, C. Wang, and R. Xu, Computation Offloading to Save Energy on Handheld Devices: A Partition Scheme Proc. Int'l Conf. Compilers, Architectures and Synthesis for Embedded Systems, pp. 238-246, Nov. 2001.
[6] Z. Li, C. Wang, and Z. Li, Task Allocation for Distributed Multimedia Processing on Wirelessly Networked Handheld Devices Proc. 16th Int'l Parallel and Distributed Processing Symp., Apr. 2002.
[7] U. Kremer, J. Hicks, and J. Rehg, A Compilation Framework for Power and Energy Management on Mobile Computers Proc. 14th Int'l Workshop Parallel Computing, Aug. 2001.
[8] B.S. Yang, S.M. Moon, S. Park, J. Lee, S. Lee, J. Park, Y.C. Chung, S. Kim, K. Ebcioglu, and E. Altman, LaTTe: A Java VM Just-in-Time Compiler with Fast and Efficient Register Allocation Proc. Int'l Conf. Parallel Architectures and Compilation Techniques, pp. 128-138, Oct. 1999.
[9] B. Cmelik and D. Keppel, Shade: A Fast Instruction-Set Simulator for Execution Profiling Proc. ACM SIGMETRICS Conf. Measurement and Modeling of Computer Systems, pp. 128-137, May 1994.
[10] N. Vijaykrishnan, M. Kandemir, M. J. Irwin, H. Kim, and W. Ye, “Energy-Driven Integrated Hardware-Software Optimizations Using SimplePower,” Proc. Int'l Symp. Computer Architecture, 2000.
[11] Samsung Semiconductor DRAM Products,http://www.usa. samsungsemi.com/products/ family/browsedram.htm, 2001.
[12] V.K. Garg, K. Smolik, and J.E. Wilkes, Applications of CDMA in Wireless/Personal Comm. Prentice Hall, 1997.
[13] RFMD Data Sheet http://www.rfmd.comDataBooks, RFMD Inc., 2002.
[14] Analog Devices Data Sheet http://www.analog.com/product Selectionpdf , Analog Device Inc., 2003.
[15] Z. Budimlic and K. Kennedy, JaMake: A Java Compiler Environment Computer Science, vol. 2179, pp. 201-209, 2001.
[16] M. Arnold, S. Fink, D. Grove, M. Hind, and P.F. Sweeney, Adaptive Optimization in the Jalapeño JVM Proc. ACM SIGPLAN Conf. Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2000), Oct. 2000.
[17] H. Zeng, X. Fan, C. Ellis, A. Lebeck, and A. Vahdat, ECOSystem: Managing Energy as a First Class Operating Ssystem Resource Proc. Int'l Conf. Architectural Support for Programming Languages and Operating Systems (ASPLOS 2002), Oct. 2002.
[18] Wireless Base Station Design Using Reconfigurable Communications Processors http://www.chameleonsystems.com/whitepapers whitepapers.html. 2000.
[19] J. Cardoso and H. Neto, "Macro-Based Hardware Compilation of Java Bytecodes into a Dynamic Reconfigurable Computing System," Proc. 7th IEEE Symp. FPGAs for Custom Computing Machines (FCCM 99), IEEE CS Press, 1999, pp. 2-11.
[20] Z. Huang and S. Malik, "Exploiting Operation Level Parallelism through Dynamically Reconfigurable Data Paths," Proc. Design Automation Conf. (DAC 02), ACM Press, New York, 2002, pp. 337-342.
[21] G. De Micheli, Synthesis and Optimization of Digital Circuits. McGraw-Hill, 1994.
[22] G. Essakimuthu, N. Vijaykrishnan, and M.J. Irwin, An Analytical Power Estimation Model for Crossbar Interconnects Proc. IEEE Int'l ASIC/SoC Conf., Sept. 2002.
[23] A. Rudenko, P. Reiher, G.J. Popek, and G.H. Kuenning, Saving Portable Computer Battery Power through Remote Process Execution Mobile Computing and Comm. Rev., no. 1, pp. 19-26, Jan. 1998.
[24] M. Othman and S. Hailes, Power Conservation Strategy for Mobile Computers Using Load Sharing Mobile Computing and Comm. Rev., no. 1, pp. 44-50, Jan. 1998.
[25] C. Fabre, Java Compilation for Embedded Systems: Current and Next Generation. Dagstuhl presentation, Aug. 2000.
[26] M.J. Serrano, R. Bordawekar, S.P. Midkiff, and M. Gupta, Quasi-Static Compilation for Java Proc. Conf. Object-Oriented Programming Systems, Languages, and Applications (OOPSLA '00), pp. 66-82, Oct. 2000.
[27] JCod: Java Compilation on Demand http://www.ri.silicomp.fr/technologiescompilers.html . 2003.
[28] J. Palm and J.E.B. Moss, When to Use a Compilation Service? Proc. Languages, Compilers, and Tools for Embedded Systems (LCTES '02)-Software and Compilers for Embedded Systems (SCOPES '02), June 2002.
[29] R. Teodorescu and R. Pandey, Using JIT Compilation and Configurable Runtime Systems for Deployment of Java Programs on Ubiquitous Devices Proc. Ubiquitous Computing 2001, Sept. 2001.
[30] T.L. Cignetti, K. Komarov, and C.S. Ellis, Modeling, Analysis and Simulation of Wireless and Mobile Systems Proc. ACM Int'l Workshop Modeling Analysis and Simulation of Wireless and Mobile Systems (MSWiM 2000), Aug. 2000.
[31] A.R. Lebeck, X. Fan, H. Zeng, and C.S. Ellis, Power Aware Page Allocation Proc. Int'l Conf. Architectural Support for Programming Languages and Operating Systems (ASPLOS 2000), Nov. 2000.
[32] G. Chen, R. Shetty, M. Kandemir, N. Vijaykrishnan, M.J. Irwin, and M. Wolczko, “Tuning Garbage Collection in an Embedded Java Environment,” Proc. Eighth Int'l Symp. High-Performance Computer Architecture (HPCA'02), 2002.

Index Terms:
Client/server, Java, runtime environment.
Citation:
Guangyu Chen, Byung-Tae Kang, Mahmut Kandemir, Narayanan Vijaykrishnan, Mary Jane Irwin, Rajarathnam Chandramouli, "Studying Energy Trade Offs in Offloading Computation/Compilation in Java-Enabled Mobile Devices," IEEE Transactions on Parallel and Distributed Systems, vol. 15, no. 9, pp. 795-809, Sept. 2004, doi:10.1109/TPDS.2004.47
Usage of this product signifies your acceptance of the Terms of Use.