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
Abstract— This 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