Check out the new USENIX Web site. next up previous
Next: Application-Level Communication-to-Computation Energy Ratio Up: Observed Energy of Communication, Previous: Observed Energy of Communication,


Raw Communication-to-Computation
Energy Ratio

To quantify the gap between wireless communication and computation, we have measured wireless idle, send, and receive energies on the Skiff platform. To eliminate competition for wireless bandwidth from other devices in the lab, we established a dedicated channel and ran the network in ad-hoc mode consisting of only two wireless nodes. We streamed UDP packets from one node to the other; UDP was used to eliminate the effects of waiting for an ACK. This also insures that receive tests measure only receive energy and send tests measure only send energy. This setup is intended to find the minimum network energy by removing arbitration delay and the energy of TCP overhead to avoid biasing our results.

With the measured energy of the transmission and the size of data file, the energy required to send or receive a bit can be derived. The results of these network benchmarks appear in Figure 3 and are consistent with other studies [20]. The card is set to its maximum speed of 11Mb/s and two tests are conducted. In the first, the Skiff communicates with a wireless card mere inches away and achieves 5.70Mb/sec. In the second, the second node is placed as far from the Skiff as possible without losing packets. Only 2.85Mb/sec is achieved. These two cases bound the performance of our 11Mb/sec wireless card; typical performance should be somewhere between them.

Figure 3: Measured communication energy of
Enterasys wireless NIC
\includegraphics[height=3in, angle=-90]{figures/network-energy.eps}

Next, a microbenchmark is used to determine the minimum energy for an ADD instruction. We use Linux boot code to bootstrap the processor; select a cache configuration; and launch assembly code unencumbered by an operating system. One thousand ADD instructions are followed by an unconditional branch which repeats them. This code was chosen and written in assembly language to minimize effects of the branch. Once the program has been loaded into instruction cache, the energy used by the processor for a single add is 0.86nJ.

From these initial network and ADD measurements, we can conclude that sending a single bit is roughly equivalent to performing 485-1267 ADD operations depending on the quality of the network link ( $\frac{4.17 \times
10^{-7}\,\mathrm{J}}{0.86 \times 10^{-9}\,\mathrm{J}} \approx 485$ or $\frac{1.09 \times 10^{-6}\,\mathrm{J}}{0.86 \times
10^{-9}\,\mathrm{J}} \approx 1267$). This gap of 2-3 orders of magnitude suggests that much additional effort can be spent trying to reduce a file's size before it is sent or received. But the issue is not so simple.


next up previous
Next: Application-Level Communication-to-Computation Energy Ratio Up: Observed Energy of Communication, Previous: Observed Energy of Communication,
Kenneth Barr 2003-03-04