ACM Home Page
Please provide us with feedback. Feedback
Towards understanding algorithmic factors affecting energy consumption: switching complexity, randomness, and preliminary experiments
Full text PdfPdf (235 KB)
Source Workshop on Discrete Algothrithms and Methods for MOBILE Computing and Communications archive
Proceedings of the 2005 joint workshop on Foundations of mobile computing table of contents
Cologne, Germany
SESSION: Energy-aware mechanisms table of contents
Pages: 70 - 79  
Year of Publication: 2005
ISBN:1-59593-092-2
Authors
Ravi Jain  DoCoMo Communications Laboratories
David Molnar  DoCoMo Communications Laboratories
Zulfikar Ramzan  DoCoMo Communications Laboratories
Sponsors
SIGMOBILE: ACM Special Interest Group on Mobility of Systems, Users, Data and Computing
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 58,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1080810.1080823
What is a DOI?

ABSTRACT

Mobile devices consider energy to be a limiting resource. Over the past decade significant research has gone into how one can reduce energy consumption at the hardware level, network protocol level, operating system level, and compiler level. In almost all algorithm analysis, a single resource such as time or communication is often taken as a proxy for energy. We address this problem by defining an algorithmic model for energy, designing algorithm variants that reduce energy cost in this model, and then performing preliminary experiments to test the model.Our starting point is an algorithmic energy model inspired by work from the compilers community [26]. Augmenting and simplifying this model motivates the need to consider an algorithm's "switching" complexity; this measure captures the extent to which one switches between different functional units during execution. We carry out preliminary experiments on the Itsy pocket computer, which contains a StrongARM SA-1100 processor running Linux, to compare "high-switch" versions of bubble sort and other algorithms to optimized "low-switch" versions. Our preliminary results show that switching does not appear to affect energy consumption at the algorithmic level.We then look at a factor that does not appear to have been studied, namely the cost of generating (pseudo)random bits. Derandomization is a goal in cryptography and complexity theory. To our knowledge the energy cost of randomness itself has not been studied. Nonetheless, many mobile protocols and algorithms might utilize randomness, for example to handle contention resolution, generate cryptographic keys, or to accomplish efficient sorting. We consider three common mechanisms for generating randomness: the standard C library random number generator, and the Linux /dev/random, and /dev/urandom generators. We perform tests that compare the energy consumed by these generators compared to thecost of performing basic arithmetic instructions. We use Quicksort as an example of a classic basic application-level algorithm to understand the energy cost of randomness, and compare the energy consumed by randomized Quicksort to standard Quicksort. Our preliminary results show that generating randomness does in fact incur a significant energy cost, and /dev/random is the most expensive of the three mechanisms.We conclude that understanding energy consumption at the algorithmic level is an important but overlooked area of investigation, and discuss the implications of our results. We end with directions for for further work.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
A. Abnous and J. Rabaey. "Ultra-low-power domain specific multimedia processors," Proc. VLSI Signal Processing IX, Nov 1996.
 
2
B. Alpern, L. Carter, E. Feig, and T. Selker. "The Uniform Memory Hierarchy Model of Computation." Algorithmica, 12(2/3):72--109. Aug-Sep 1994.
3
4
 
5
6
 
7
 
8
 
9
F. Douglis, F. Kaashoek, B. Marsh, R. Caceres, K. Li, and J. Tauber. "Storage Alternatives for Mobile Computers," Proc. OSDI 1994.
 
10
 
11
 
12
P. J. M. Havinga. "Mobile Multimedia Systems" Ph.D. thesis, University of Twente, Feb 2000.
 
13
 
14
IEEE Standard for Wireless LAN-Medium Access Control and Physical Layer Specification, P802.11, 1999.
 
15
R. Jain, D. Molnar, and Z. Ramzan "Towards A Model of Energy Complexity for Algorithms." WCNC 2005.
 
16
17
 
18
M. Koegst, G. Franke, S. Ruelke, and K. Feske. "Lower power design of FSMs by state assignment and disabling self-loops," Proc. Euromicro 1997. Pages 323--330, September 1997.
 
19
B. List, M. Maucher, U. Schöning, R. Schuler. "Randomized Quicksort and the Entropy of the Random Number Generator." Electronic Colloquium on Computational Complexity Rept 59, 2004.
 
20
 
21
 
22
C. Papadimitriou. "Computational Complexity," Addison-Wesley Publishing Company, Reprinted with corrections, 1995.
 
23
Rambus, Inc. http://www.rambus.com.
 
24
 
25
 
26
S. Steinke, M. Knauer, L. Wehmeyer, and P. Marwedel. "An Accurate and Fine Grain Instruction-Level Energy Model Supporting Software Optimizations," Proc. PATMOS 2001.
 
27
28
29
30
 
31
J. Lorch and A. J. Smith. "Software strategies for portable computer energy management," IEEE Personal Communications Magazine, 5(3):60-73, June 1998.
 
32
X. Wang, D. Feng, X. Lai, and H. Yu. "Collisions for Hash Functions MD4, MD5, HAVAL 128, and RIPEMD," Cryptology E-print Archive, report 199-2004. Available from http://eprint.iacr.org.
 
33
X. Wang, H. Yu. "How To Break MD5 and Other Hash Functions," EUROCRYPT 2005.


Collaborative Colleagues:
Ravi Jain: colleagues
David Molnar: colleagues
Zulfikar Ramzan: colleagues