How do these techniques apply to different types of systems in order to optimize different kinds of metrics? To clarify the differences, we have divided the power ranges by three orders of magnitudes, namely in the Microwatts, Milliwatts, and Watts and beyond. The table below shows the resulting power ranges and their principal application domains, metrics, technical characteristics, example systems, etc. One can observe here that there is significant divergence in the respective properties of the systems.
Average Power Consumption | Microwatt - Milliwatt | Milliwatt-Watt | Over One Watt |
---|---|---|---|
Application Domain | Ubiquitous Sensor Networks | Standard Embedded Devices | PCs/Workstations, Servers, HPC |
Important Metrics | Longivity: device powering months~years with a single battery, environmental harvesting of power | Long battery life of dedicated, real-time applications | Maintaining high performance, high thermal density |
Technical Characteristics |
Programming of Long Duty Cycle applications in Tiny CPU/Storage Environment Ultra Low Power Wireless Autonomous Configuration amongst a group of nodes Fault Tolerance via Massive Redundancy |
Various “Classical” low power techniques Adjusting CPU speed voltage in periodic real time processings Dynamic reconfiguration via Software/Hardware co-design |
CPU power consumption dominant => “Slow and Parallel” Fine-Grained software control significant – measurement, prediction, planning, (DVS) control Need for low power high performance networking High reliability and scalability |
Example Systems | Mote, TinyOS (UC Berkeley) | Various Embedded OSes | NotePC/Blade Server BlueGene/L Green Destiny |
Examining this table, one might argue that systems in the Microwatt and the Milliwatt ranges do have some similarities, four of which are outlined below:
- Devices in both categories are typically driven by batteries and/or some independent (solar or energy-harvesting) generators, without AC electrical wirings, and as such longevity of battery life is of utmost concern.
- Their application space is dedicated, or at least fairly restricted per each device; they are not meant to be general-purpose computing devices to be used for every possible application. Also the applications tend to be real-time in nature, primarily sensing, device control, and multimedia. These application characteristics have two consequences. First, when combined, these properties allow duty cycling to be performed extensively. For example, the Berkeley Mote envisions applications where a single battery will last for months, with sensing and networking duty cycling in phases of tens of seconds to minutes. Second, they will sometimes allow dedicated and/or reconfigurable hardware to be employed for the performance/energy demanding portion of the application, such as multimedia encoding/decoding. In some cases this will bring about orders of magnitude performance/power ratio improvement.
- Their physical locations tend to be spaced apart, as seen in mobile devices. Coupled with being very low power, thermal density is not the primary concern (although in some modern embedded multimedia devices it may be, but it is not the primary or driving motivation for achieving low power).
- Although in modern applications they are often networked, these devices do not work together in a tightly-coupled fashion to execute a single application, and as a result network bytes/flop is not as demanding as is with HPC systems.