Dynamic REsource Allocation and Management (DREAM)
Moore's Law suggests a steady reduction in power consumed per operation. However, while each generation of hardware brings increased power efficiency, the demand for power and performance from ever more complex user applications and operating systems is increasing at an even faster rate.
Since performance and energy consumption are tightly coupled, higher performance is usually accompanied with increased energy consumption. While hardware in a high performance state accomplishes a task faster than hardware in a lower performance state, the tasks demanding high performance are generally interleaved with tasks with no specific performance demands. For tasks that demand high performance, a system that provides high performance for the duration of the task completes the task more quickly than a system that provides lower performance, and as a result saves energy by powering down the unneeded components sooner. Providing the same level of performance for tasks that have no specific performance demands is wasteful. The challenge of power management and performance optimization lies in dynamically matching performance levels and resource availability to the demands of a variety of tasks. Similar, tradeoffs are observed when reliability of data storage is concerned. The energy costs go up if we want to provide higher reliability because storage device count increases as well as energy due to data verification.