  Traditionally, the development of computing systems has been focused on
performance improvements driven by the demand of applications from consumer,
scientific and business domains. However, the ever increasing energy
consumption of computing systems has started to limit further performance
growth due to overwhelming electricity bills and carbon dioxide footprints.
Therefore, the goal of the computer system design has been shifted to power and
energy efficiency. To identify open challenges in the area and facilitate
future advancements it is essential to synthesize and classify the research on
power and energy-efficient design conducted to date. In this work we discuss
causes and problems of high power / energy consumption, and present a taxonomy
of energy-efficient design of computing systems covering the hardware,
operating system, virtualization and data center levels. We survey various key
works in the area and map them to our taxonomy to guide future design and
development efforts. This chapter is concluded with a discussion of
advancements identified in energy-efficient computing and our vision on future
research directions.
