|
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
|
William R. Hamburgen , Deborah A. Wallach , Marc A. Viredaz , Lawrence S. Brakmo , Carl A. Waldspurger , Joel F. Bartlett , Timothy Mann , Keith I. Farkas, Itsy: Stretching the Bounds of Mobile Computing, Computer, v.34 n.4, p.28-36, April 2001
[doi> 10.1109/2.917534]
|
 |
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.
|
|