Assessment of Software Lifecycle Energy and its Contribution to Green House Gas Emissions Vasily G. Moshnyaga Dept. Electronics Engineering and Computer Science, Fukuoka University Fukuoka 814-0180, Japan vasily@fukuoka-u.ac.jp AbstractThis paper analyzes the total energy consumption associated with software production, delivery and use and assesses their contribution to green-house gas emissions. The results show that as software grows in size, the energy consumed at the production stage dominates the total lifecycle energy However, if software is widely used, majority of the lifecycle energy is consumed at the use stage. For software as big as Linux 3.2 kernel, the total lifecycle energy exceeds 51GWh (equivalent of 31kilotons of CO2 emission). Reducing this environmental load requires energy–conscious software development and management. Keywords—energy consumption, software, lifecycle assessment, carbon emission I. INTRODUCTION With emerging problems of global warming and increasing energy costs, minimizing energy associated with computers becomes very important. A computer usually consists of hardware, i.e. physical devices, and software, i.e. programs that direct hardware to perform specific operations. Software does not consume energy by itself; it controls the processing flow in hardware and thereby affects the energy efficiency of hardware. For example, the IT built software shrinks the battery life of notebook by 1/3 even though the notebook does nothing but idling with no user interaction [1]. The electrical energy consumed during software usage is only a part of energy associated with software lifecycle, i.e. production, usage and disposal. However, while usage energy has been a focus of research for more than a decade, no efforts have been done (up to our knowledge) to assess energy dissipated during software development i.e. at the production stage. This article is the first attempt to assess the energy consumed by software at the production and usage stages and evaluate its contribution to green-house gas emissions. The paper describes software lifecycle energy assessment methodology and results obtained for generic software as well as several Linux kernels. I. ENERGY ASSESSMENT METHODOLOGY We define the energy associated with software lifetime as the sum of the production energy (E PR ) and the energy of software operation or use (E USE ), i.e. E TOTAL = E PR + E USE . (Note, the energy taken by ending the software life is ignored as it requires simple uninstall). The production energy can be expressed as, E PR = E SUM + E A + E RV , where E SUM is the total process-sum energy required for carrying out software development processes, such as requirements elaboration, analysis, design, implementation, testing, and deployment; E A is additive energy factor for calculating the energy of producing a unit from industries or sectors, which have specific economic (not process) data available; E RV is the “remaining value”, which represents energy associated with the CD fabrication, transport, wholesale trade and processes not covered in the analysis. We compute E SUM based on staff and schedule requirements for each process stage evaluated based on the COCOMO-II cost model [2]. Given parameters of a target software in terms of code size (in SLOC), and ratings of 17 cost drivers, the model evaluates activity distribution, development schedule, staff requirements and economical cost across processes and production stages. Having the activity distribution (in terms of time, T i,k , and staff, S i,k ) for a stage i of a process k, and the average power (P i ) consumed by a staff at his/her workplace at time T i,k , we calculate the total process-energy as E SUM = (S i,k ×T i,k ×P i,k ) , where P i is the total power consumed by ICT and electrical goods (computers, printers, servers, air-conditioner (heater), lighting, power supply backups, etc.) per staff during the software production. The additive factor (E A ) is computed as a sum of expenditures, Exp j, each of which determined by multiplying the supply chain intensity H j of the relevant sector by the product price (C j ) and the ratio, R j , of added and replaced units of category j to the total number of units of same category used for the previous software development, i.e. E A = Exp j =C j ×H j ×R j . The value chain intensities (in terms of MJ/$) are obtained by the EIO-LCA tool [3] through estimation of total energy affiliated with economic activity of producing one dollar of goods in corresponding industry. The producer prices are derived from internet. The “remaining value” factor (E RV ) is estimated by assuming that delivery of a software to a final customer is done similarly to delivery of one album of music [4]; that is either via traditional retail or e- commerce sales with corresponding ground and air-based delivery, or fully via a digital download. The electrical energy consumed by software during operation is defined as E USE = (P×T USE + R IN ×P IN ×T IN + R UP ×E UP )×N, where P is the mean power consumed by an application; T USE is the average time of software use; N is the number of software copies used, R IN , P IN , T IN are the frequency, the power consumption and the duration of software (re)installation, respectively; R UP is the frequency of software upgrades and updates, E UP is energy consumed by an update. II. EVALUATION RESULTS A. Generic software In our first study, we estimated the energy associated with development and use of generic software of five different sizes: 10K, 50K, 100K, 500K and 1M source lines of code (SLOC). The evaluation has been based on the following assumptions: software has typical complexity (all cost drivers in COCOMO-II model are nominal); the office power density is 1.4kWh per staff (or 14W per square foot), corresponding to 75th percentile level of electricity intensities in office buildings[5]; an employee works 156 h/month; the number of computer systems required for software production equals the number of developers; computers have lifetime of 5 years; software is delivered to customer through a store; each software copy runs on a different computer; R UP is once a month; time of an update does not exceed 5min, so E UP = 0.083×P+1944 (Wh) a year. The 2013 IEEE Third International Conference on Cloud and Green Computing 978-0-7695-5114-2/13 $26.00 © 2013 IEEE DOI 10.1109/CGC.2013.37 197 2013 IEEE Third International Conference on Cloud and Green Computing 978-0-7695-5114-2/13 $26.00 © 2013 IEEE DOI 10.1109/CGC.2013.37 197 2013 IEEE Third International Conference on Cloud and Green Computing 978-0-7695-5114-2/13 $26.00 © 2013 IEEE DOI 10.1109/CGC.2013.37 197