Beyond CPU: Considering Memory Power Consumption of Software
Total Page:16
File Type:pdf, Size:1020Kb
Beyond CPU: Considering Memory Power Consumption of Software Hayri Acar1, Gülfem I. Alptekin2, Jean-Patrick Gelas3 and Parisa Ghodous1 1LIRIS, University of Lyon, Lyon, France 2Galatasaray University, Istanbul, Turkey 3ENS Lyon, LIP, UMR 5668, Lyon, France Keywords: Power Consumption, Sustainable Software, Energy Efficiency, Green IT. Abstract: ICTs (Information and Communication Technologies) are responsible around 2% of worldwide greenhouse gas emissions (Gartner, 2007). And according to the Intergovernmental Panel on Climate Change (IPPC) recent reports, CO2 emissions due to ICTs are increasing widely. For this reason, many works tried to propose various tools to estimate the energy consumption due to software in order to reduce carbon footprint. However, these studies, in the majority of cases, takes into account only the CPU and neglects all others components. Whereas, the trend towards high-density packaging and raised memory involve a great increased of power consumption caused by memory and maybe memory can become the largest power consumer in servers. In this paper, we model and then estimate the power consumed by CPU and memory due to the execution of a software. Thus, we perform several experiments in order to observe the behavior of each component. 1 INTRODUCTION more possible to obtain accurate and efficient results for energy consumption. However, using these types ICTs (Information and Communication of devices is complicated because it is necessary to Technologies) are responsible around 2% of have these devices and connect them to different worldwide greenhouse gas emissions (Gartner, components. What is more with this method, it is 2007). And according to the Intergovernmental Panel impossible to measure the energy consumed by on Climate Change (IPPC) recent reports, CO2 virtual machines and applications on process. emissions due to ICTs are increasing widely. For this In later years, a new methology has appeared reason, many works tried to propose various tools to which consists of estimating the energy consumed by estimate the energy consumption due to software in a software based on mathematical formula order to reduce carbon footprint. established according to the characteristics of each Since a few years, we have been able to find components susceptible to consume power. But, these several research, on the web tools, (Power Supply tools (Kansal et al., 2010); (Wang et al., 2011); Calculator, 2014), (eXtreme Power Supply (Noureddine et al., 2012), in the majority of cases, Calculator, 2006), (Computer Power Consumption takes into account only the CPU and neglects all Calculator) that allow estimating the energy others components. Moreover, the trend towards consumed by each component of a computer. Doing high-density packaging and raised memory involve a so, the user chooses the feature of the component and great increase of power consumption caused by an estimation is given about related power memory and maybe memory can become the largest consumption. However, this approach provides quite power consumer in servers (Minas and Ellison, 2012). vague results so that a developer cannot use them as In this paper, we will present a methodology to a guide when developing the software. estimate the energy consumed by CPU and memory. That is the reason of the appearance of other Through different experiments we show the measurement means: Measurement of power performance of the proposed methodology. consumption via hardware devices such as power meter or printed circuits (Kern et al., 2013); (Joseph et al., 2001); (Kamil et al., 2008). Using them, it is 417 Acar, H., Alptekin, G., Gelas, J-P. and Ghodous, P. Beyond CPU: Considering Memory Power Consumption of Software. In Proceedings of the 5th International Conference on Smart Cities and Green ICT Systems (SMARTGREENS 2016), pages 417-424 ISBN: 978-989-758-184-7 Copyright c 2016 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved SMARTGREENS 2016 - 5th International Conference on Smart Cities and Green ICT Systems 2 CPU MODELIZATION E it . V . dt (4) For a long time the CPU was considered the largest We also know that the current is given with the energy consumer component (Kim et al., 2014) in a following expression (5): computer. That is why, in each research work, the modelization of his structure has been taken into dv i t C . (5) account to estimate the energy consumed by an dt computer program only. Thus, the expression (4) becomes (6): Several factors contribute to the CPU power consumption and globally it is possible to give the E V .C dt following formula (1) in order to describe the power (6) E V .C consumed by the CPU: We assume that in a switching cycle, there are low- P P, P, P, (1) to-high and high-to-low transition. So, we can obtain where represents dynamic power the power formulate (7) of this gate: , consumption, corresponds to short-circuit , P f .V .C (7) power consumption and , power loss due to , where f is the frequency. transistor leakage currents and varies with the For N gates, we must multiply the power by N. In temperature (Zapater et al., 2015). The last two power a complex circuit the situation is more complicated, are due to at the hardware manufacturing. Hence, as not all the gates commute at the same frequency. only the manufacturer can reduce the energy Hence, we can define a parameter α < 1 as the average consumption due to hardware. So, it is possible to fraction of gates that commute at every cycle. group this two power in order to obtain a static power Thus, the next expression of the power (8): on the equation (2): P f .V .C . N . α (8) P, P, P, (2) By combining the constants as follows (9): Thus, it is possible to reformulate the equation (1) as follows (3): βC .N.α (9) P P, P, (3) we obtain (10): In our case, we want to reduce the energy consumed P, β .f . V (10) by software. For this, we take account only to have more accurate and efficient Moreover, we want to obtain the power consumed by , the program. Thus, the percentage of the process Id results. The CPU, like many integrated circuit, is a set of () is multiplied with the previous expression (10) as follows (11): switches. So the main power consumption in CPU is due to charge and discharge of capacitors during P,, P, . N (11) computations that we can represent with the following figure 1: Thanks to these formulas, we can say that there are several ways to reduce the power consumption due to CPU: Table 1: Possibilities to reduce power consumption of the CPU. Solutions Technics Dual voltage CPUs Voltage reduction Dynamic voltage scaling Overvolting/Undervolting Underclocking Frequency reduction Dynamic frequency scaling Capacitance reduction Integrated circuits Figure 1: One switch in CPU. Dual voltage CPUs consist of uses a split-rail design to allow lower voltages to be used in the The energy can be expressed (4) as follows: 418 Beyond CPU: Considering Memory Power Consumption of Software processor core while the external Input/Output (I/O) . Read power; voltages remain unchanged. Write power. Dynamic voltage scaling: the voltage used is To modelize these powers, we need to understand the increased (Overvolting) or decreased (Undervolting) functionality of a DDR3 SDRAM. The master depending upon circumstances. operation is controlled by clock enable (CKE) that Underclocking: modify timing settings to run at a must be high to allow the DRAM to receive activate, lower clock rate than is specified. precharge, read, and write commands. And in this Dynamic frequency scaling: the frequency of a situation, commands begin to propagate across the microprocessor can be automatically adjusted for DRAM command decoders, and the activity rises the saving energy. power consumption. Integrated circuits: replace PCB (Printed Circuit We regroup all the parameters that we will use to Board) traces between two chips. calculate the following powers in the table 2. So, we defined a mathematical formula in order to estimate the power consumed by the CPU. And, we 3.1 Activate Power noted the different ways to save energy. Thus, should be limited to the energy The first command sent to the DRAM, during normal consumption of the CPU or does it take into account working, is an activate command that chooses a bank other components whose energy consumption could and row address in order to allow a DDR3 SDRAM be represent an importance compare to the CPU ? to read or write data. The data, that is stored in the That is why, we will try to model the energy cells of the chosen row, is then transferred from the consumption due to Memory. array into the sense amplifiers. Then, the DRAM past in the active state. The precharge command restores the data from the sense amplifiers into the memory 3 POWER CONSUMPTION OF array and resets the bank for the next activate DRAM command. This leaves the bank in its precharge condition. According to (Minas and Ellison, 2012), the power Thus, the following expression (12) can be used used on servers is increasing and the two largest to estimate activate power: consumers of power are the processor and the P PsysACT_PDN memory. Otherwise, several research works try to PsysACT_STBY (12) optimize systems to reduce DRAM power PsysACT consumption: . (Kang et al., 2010); where: . (Hur and Lin, 2008); PsysACT_PDN IDD3P ∗ Vcc . (Emma et al., 2008); ∗BNK_PRE ∗ CKE_LO_ACT (13) . (Zheng et al., 2008); ∗ Vdd / Vcc² . (Vogelsang, 2010). ∗syst_ck_freq / 1000 ∗Tck_used There are also some memory system simulator: . DRAMSim2 (Rosenfeld et al., 2011); PsysACT_STBY IDD3N ∗ Vcc ∗ 1 . Cacti 5.1 (Thoziyoor et al., 2008); BNK_PRE ∗ 1 CKE_LO_ACT (14) . Micron System Power Calculator (Micron, 2007). ∗ Vdd / Vcc² That is why, we choose to study the DRAM in order ∗syst_ck_freq / 1000 to model his power consumption.