**1. Introduction**

352 Energy Efficiency – The Innovative Ways for Smart Energy, the Future Towards Modern Utilities

ZIGBEE (2007). *ZigBee PRO Specification*, ZigBee Alliance.

2005.

Watteyne, T; Pister, K.; Barthel, D.; Dohler, M.; Augeblum, I. (2009) Implementation of Gradient Routing in Wireless Sensor Networks. Proceedings of GLOBECOM'09

Proceedings of the 28th IEEE conference on Global telecommunications, 2009. Ye, F.; Zhong, G.; Lu, S.; Zhang, L. (2005). GRAdient Broadcast: A Robust Data Delivery Protocol for Large Scale Sensor Networks, *ACM Wireless Networks*, vol. 11, pp. 285–298,

> Energy efficiency is finally becoming a mainstream goal in a limited world where consumption of resources cannot grow forever. ICT is both a key player in energy efficiency, and a power drainer. The Climate Group reported that the total footprint of the ICT sector was 830 MtCO2e and that the ICT was responsible for 2% of global carbon emissions [13]. Even if energy efficient IT technologies were developed and implemented, this figure would still grow up at a rate of 6% per year until 2020. Recently, much of the attention in green IT discussions focuses on data centers. However, it is foreseen that data centers will only add up to less than 20 percent of the total emissions of ICT in 2020. The majority (57 percent) will come from PCs, peripherals, and printers, as shown in Figure 1 [13].

**Figure 1.** The 2020 global footprint by subsector

This is because of the enormous number of machines used by individuals and businesses: it is estimated there will be 4 billion PCs in the world by 2020. So the vast number of PCs is going to dominate ICT energy consumption. Finding precise figures of the current energy consumption of computer systems and ICT equipment is essential, in order to understand how to reduce their power consumption and improve their energy efficiency. Today these figures are incomplete and not precise.

©2012 Procaccianti et al., licensee InTech. This is an open access chapter distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. © 2012 The Author(s). Licensee InTech. This chapter is distributed under the terms of the Creative Commons Attribution License http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### 2 Will-be-set-by-IN-TECH 354 Energy Effi ciency – The Innovative Ways for Smart Energy, the Future Towards Modern Utilities Energy Efficiency in the ICT - Profiling Power Consumption in Desktop Computer Systems <sup>3</sup>

The management of system components can be done either in hardware or software. When we buy a device and it is not programmable, we can not do anything to limit its energy consumption. The designers have already made choices in terms of selection of components and in terms of resource management. On the other hand, if a system can be programmed, choices made by developers will affect the management of energy the device consumes. Looking at embedded systems, all the responsibilities in terms of management of energy resources are dependent on the hardware management and on the firmware. Firmware optimizations have immediate effects that can be verified directly by measuring the current the device consumes. If we consider a general purpose device, the hardware and the operating system have an important role in global energy management, but it is not the only one. On this type of device is it possible to install a multitude of programs that will impact on the management of energy resources. For example, if a third party software uses a particular peripheral incorrectly, it could increase its energy demand even when not needed.

a common laptop across six scenarios and different browsers. They allowed each scenario to run for 7 minutes and calculated the average power consumption over that duration. Authors ran *IE9*, *Firefox*, *Opera* and *Safari* for each scenario, maintaning a fixed running duration, and then they made a comparison of the obtained results. Notable differences arose regarding power consumption and laptop battery life. Namely, using IE9 the battery lasted 3:45 hours, while using Opera the battery ran out of power after 2:45 hours. Hence, software can impact on energy consumption, as we also found in our previous work [15], where we monitored three servers for a whole year, observing that one of them consumed up to 75% more when

Energy Effi ciency in the ICT - Pro ling Power Consumption in Desktop Computer Systems 355

Kansal et al. [8] presented a solution for VM power metering. Since measuring the power consumption of a Virtual Machine is very hard and not always possible, authors built power models to get power consumption at runtime. This approach was designed to operate with low runtime overhead. It also adapts to changes in workload characteristics and hardware configuration. Results showed 8% to 12% of additional savings in virtualized data centers. Another related work is PowerScope [6]: this tool uses statistical sampling to profile the energy usage of a computer system. Profiles are created both during the data collection stage and during the analysis stage. During the first stage, the tool samples both the power consumption and the system activity of the profiling computer and then generates an energy profile from this data without profiling overhead. During data collection, authors use a digital multimeter to sample the current drawn by the profiling computer through its external power input. After that, they modified Odyssey platform for mobile computing. When there is a mismatch between predicted demand and available energy, Odyssey notifies applications to

In 1995, the first attempts were made to profile the energy performance of a computer. Lorch [9] in his M.S. thesis explained that there are two aspects to consider while measuring the breakdown of power consumption on a portable computer: I) Measuring how much power is consumed by each component, II) Profiling how often each component is in each state.

Other works about profiling and measuring energy consumption are related to embedded systems. For instance, JouleTrack [12] runs each instruction or short sequences of instruction in a loop and measure the current/power consumption. The user can upload his C source code to a Web Server which compiles, links and executes it on an ARM simulator. Program outputs, assembly listing and the run-time statistics (like execution time, cycle counts etc.) are then available and passed as parameters to an engine which estimates the energy consumed and produces graphs of different energy variables. Results showed that the error of predictions was between 2% and 6%. The concept of energy-awareness is based upon a complete knowledge on how and where energy is consumed on a device. Carroll and Heiser [3] present a detailed analysis of power consumption in a mobile device, focusing on the hardware subsystems, through common and realistic usage scenarios. Results show that the GSM module and the display are the most power-consuming components: for example, a GSM phone call on OpenMoko Neo Freerunner, HTC Dream G1 and Google Nexus One consumes

Usually, an accurate power consumption analysis of mobile or embedded devices is component-based. However, instantaneous information about discharge current and remaining battery capacity is not always available, because most devices do not have built-in sensors to collect these data. PowerBooter [17] has been proposed as a technique to build a battery-based model automatically. Authors motivate this decision by considering that

adapt. This is one of the first examples of *Energy-Aware* software.

1135 mW, 822 mW and 846 mW respectively.

used for graphical operations.

The underlying idea is that power consumption depends not only on hardware features, but also (and probably mostly) on software usage and software internal characteristics. For instance, a more complex software will require more CPU cycles, or a single long write operation on disk can be less power consuming rather than several small write operations. The energetic impact of software will also be analyzed in order to understand the effect of human behaviour on power consumption: for example we can check whether customized power management profiles are more efficient than default ones. Usually, if a person is aware of how much he is consuming, he is able to find his own solution that is the most appropriate for his device usage, and to save more power.

This chapter deals with the matter of finding relationships between software usage and power consumption. For this purpose, two experiments have been designed, consisting in running benchmarks1 on two common desktop machines, simulating some typical scenarios and then measuring the energy consumption in order to make some statistical analysis on results.

This chapter is organized as follows:

