Paper 2016 Science Direct
Paper 2016 Science Direct
ScienceDirect
Dept of Electronics Engineering, JSS Academy of Technical Education, C-20/1, Sector 62, Noida, UP 201301,
India
KEYWORDS Summary The increasing demand for ultra-low power electronic systems has motivated
research in device technology and hardware design techniques. Experimental studies have
Software energy;
proved that the hardware innovations for power reduction are fully exploited only with the
Embedded system;
proper design of upper layer software. Also, the software power and energy modelling and anal-
Green energy;
ysis — the first step towards energy reduction is complex due to the inter and intra dependencies
Modelling;
of processors, operating systems, application software, programming languages and compilers.
Power awareness
The subject is too vast; the paper aims to give a consolidated view to researchers in arriving at
solutions to power optimization problems from a software perspective. The review emphasizes
the fact that software design and implementation is to be viewed from system energy con-
servation angle rather than as an isolated process. After covering a global view of end to end
software based power reduction techniques for micro sensor nodes to High Performance Com-
puting systems, specific design aspects related to battery powered Embedded computing for
mobile and portable systems are addressed in detail. The findings are consolidated into 2 major
categories — those related to research directions and those related to existing industry prac-
tices. The emerging concept of Green Software with specific focus on mainframe computing is
also discussed in brief. Empirical results on power saving are included wherever available. The
paper concludes that only with the close co-ordination between hardware architect, software
architect and system architect low energy systems can be realized.
© 2016 Published by Elsevier GmbH. This is an open access article under the CC BY-NC-ND license
(http://creativecommons.org/licenses/by-nc-nd/4.0/).
Introduction
夽 This article belongs to the special issue on Engineering and Mate-
Traditionally, power reduction meant hardware power
rial Sciences. reduction in VLSI systems in portable and mobile bat-
∗ Corresponding author.
tery operated systems. With faster processors, cheaper
E-mail addresses: [email protected]
memories and vast choice of programming languages and
(P. Kumari K.S.), [email protected]
(S. Kumar), [email protected] (S. Sinha). development support, today’s software intensive systems
http://dx.doi.org/10.1016/j.pisc.2016.06.035
2213-0209/© 2016 Published by Elsevier GmbH. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/
licenses/by-nc-nd/4.0/).
612 P. Kumari K.S. et al.
need a thorough analysis of the software dependent energy VLSI based Embedded, portable and mobile systems where
reduction schemes in overall system power management. the major concern is battery Ampere hour rating. For the
Although energy consumption is dictated by hardware, soft- sake of completeness a section on Green software for larger
ware dictates the way the energy is consumed. Initiative computing installations is also included.
to reduce power should first identify the sources of power,
techniques to model and means to measure. Literature
covers software energy management from different per- Research findings
spectives with respect to software layers, application areas
and system architectural complexities in isolation. But there Processor instructions abstract processor architecture and
is lot of interplay between software units and a consolidated research on software energy centred on instruction sets orig-
view is essential in realizing energy efficient systems. An inated in the 1990s by embedded system developers with
insight into the role of software in the overall power sav- upper layers treated as black boxes (Tiwari et al., 1994).
ing techniques would help designing systems optimized for Further, source code optimization for compiler construc-
power. Fig. 1 shows (a) the functional overview of the soft- tion along with compilation techniques evolved. Compilers
ware blocks related to Software Energy Management and (b) which reduce bus switching activity through instruction
compiler model relevant in the following discussions. re-ordering/scheduling, reduced memory operations and
The survey is based on articles published by jour- memory hierarchy utilization improved energy efficiency by
nals/books by academicians and white papers published by almost 14%. Choice of algorithm, data type and data struc-
industry giants like Intel, IBM, Microsoft, etc. till December ture for coding in addition to optimization techniques like
2015. ‘Related terminologies’ section gives an overview of loop unrolling, software pipelining and recursion free soft-
the related terminologies. ‘Literature survey’ section deals ware designs were found highly effective (Simunic et al.,
with survey of literature, observations and discussions based 2000; Mehta et al., 1997). Parallelism at run time and com-
on the survey. ‘Conclusions and future research’ section cov- pile time combined with power aware scheduling techniques
ers conclusions and future research areas. aiming reduced switching activities between instructions
was also proved to be effective from energy point of view.
Related terminologies The strong interaction of the middle layer operating sys-
tems with the application software, hardware, peripherals
Though terms Energy (Joules) and Power (Watts) are used and users necessitated detailed energy models for each
interchangeably in literature, energy is relevant in situa- of these components (Mera and Santiago, 2010; Belleudy
tions with battery operated systems where the system has et al., 2012). Power optimization of O.S in terms of O.S ser-
to run for longer duration and at the same time energy vices thus emerged in due course with strong influence of
is a constraint. In cases where energy (power*execution application software features and machine level features.
time) constraints are not experienced, instantaneous power Experiments proved that that Processor idle state manage-
consumption is the prime issue. The design objective of ment saves energy from 11% to 25% depending on application
lowpower/energy system is to minimize power whereas sys- (Kambadur and Kim, 2014).
tem power awareness built into systems enables the system Power efficient design of high level application software
to minimize energy consumption by adapting to changes in at source code level had also been extensively studied.
operating conditions. Both concepts are relevant for man- Algorithm design eliminating complex dynamic memory
aging power. allocations, reduced code size, data type choice (fixed,
floating, integer, double, etc.) is proved to be effective
Literature survey (Kambadur and Kim, 2014). With multi processors and multi
cores dominating the computing systems, parallel program-
Discussions are broadly classified into those related to aca- ming techniques enhance energy efficiency (Kambadur and
demics and R&D and those related to Industry. Prime focus is Kim, 2014). The increased demand for mobile systems and
VLSI systems energy management from a software perspective 613
internet of things furthered focused research in com- context, underlying hardware and the overall system func-
bined effects of O.S and application software elements tionalities. In a nut shell, the co-ordinated concentrated
(Liu et al., 2015; Crowcroft and Vallina-Rodriguez, 2013). efforts of system architect, hardware architect and soft-
Much Research in Wireless Sensor Networks and Body Area ware architect alone will bring out energy efficient systems.
Networks demanding energy aware low power software The tight interplay between energy-oriented hardware and
development solutions is also contributing to the ultra-low energy-aware software calls for innovative structural, func-
energy sector. tional and mathematical models for analysis and design.
Innovations in the above areas are highly supported by Model based Software engineering practices supported by
embedded systems hardware — software co — design tools, appropriate tools will definitely accelerate development of
reconfigurable computing tools, power monitors, simulators modern complex VLSI systems operating under severe energy
and profilers from chip vendors and academic researchers. constraints.