Energy Efficient Algorithms

stagetofuAI and Robotics

Oct 29, 2013 (4 years and 8 months ago)


Energy Efficient Algorithms

Andy Meidl

Computer Science

University of Wisconsin

Platteville, 53818


Energy efficiency has always been important when it comes to
electronics since every electronic
device consumes

some amount of energy. Energy
efficient algorithms are used in order to
reduce the consumed energy of a device while still attempting to maintain reasonable
performance. Since technology is continuing to advance and improve, there is an increasing
need to improve algorithms in order t
o increase efficiency. When the first computers came into
existence people thought that technology was at its finest. But as we can all tell, technology

improved and advanced and so was the need for better algorithms that would help reduce the

reduction costs.

What Are Energy
Efficient Algorithms

Electronics and Energy

Algorithms are a finite set of instructions that can be executed numerous times and never break.
An energy efficient algorithm can be compared to a recipe. There are a s
et of instruction

and if
followed correctly the result will be successful. Similarly, if one ingredient from the recipe is
either not used, used out of order, or gets completely overused

he end result may not be what
was expected. Each step in the
instructions must be executed in the correct order so energy is
neither overused nor underused. Using too little energy could delay the job completion time of a
device. Using too much energy will increase the total energy required for performance and
rease the cost for the total energy.

Energy efficient algorithms are incorporated within electronic devices. Energy efficient
algorithms are rooted around controlling the traffic of energy being consumed by a device as
well as trying to have little to no

change to the performance of a device. All electrical devices
consume a certain amount of energy which in turn costs money. Some systems use a finite
amount of battery power and once that energy depletes, the system then begi
ns to have

performance issue
s. If for example, a safety alert system experiences performance issues and an
alert message is not sent

out when it needed to. The people’s safety is at risk.

Also, for electronic devices, energy is converted into heat. Processors can process jobs at
speeds making the device's
temperature begin to rise. This heat produces wear on the
internal components which can greatly affect its reliability and performance over its lifetime [1].
If a device creates too much heat from its energy, the inte
rnal components of that device can get
damaged and the device could fail to work properly. Thus adding repair costs to the already
increasing energy cost. For a large energy consuming device to continually run for a long time,
it requires a good amount o
f energy to be able to sustain a certain level of performance or
possibly increase the speed at which a system operates. Energy efficient algorithms are in place
to reduce the maximum amount of energy used within a system
while creating

little to no chang
in performance.

The e
nergy efficient algorithms are being used all over the world. Energy efficient algorithms
are specifically designed and created to reduce the energy consumed by a given system or
device. These algorithms are designed to be reliabl
e and almost never break because energy
costs money and having a device that can run smoother than it originally did is always needed.

Energy efficient algorithms used in a device must allow the device to be reliable, and consistent
to the user

s needs.

Uses of Energy Efficient Algorithms

own Mechanisms

efficient algorithms
are used in a plethora of
electronic devices. Mobile phones and
personal computers utilize these algorithms. The devices' stand
by mode is an excellent example
energy efficient algorithms. In office buildings, which hold numerous amounts of computers,
sleep state is a must in order to save energy while the computers are not in use. For example, a
computer can consists of three states including

an active state,
idle state, and sleep state. An
energy efficient algorithm takes part in deciding whether to go into the idle state, sleep state, or
active state. When the computer is not being used for a selected period of time, the computer
switches itself into the nex
t state. Eventually the computer turns the screen off and enters a sleep
state where all major jobs are stalled [1]. In laboratories computers would remain in the active
state longer, and if each computer was not able to reduce its own energy consumption

entering a sleep mode it would result in a lot of energy being wasted. Since it is very rare to
have every computer being used at the same, algorithms must be used to put computers into a
low energy power state [1].


Figure 1: Energy vs. Time in a
system with four states

Figure 1 shows that for system which contains four states, the amount of energy being used in
state one over a short amount of time is substantial larger than the energy used over longer
periods of time. According to figure 1, bot
h state one and state two have the same ending
energy, but state two took roughly twice as long to reach the same point. Algorithms that deal
with energy conservation and efficiency can control the energy in a more effective manner.

well as preserve

devices battery or power lifetime.

Radio Frequency Identification

Radio Frequency Identifiers (RFID),

are for the most used in warehouses to keep track of
inventory and maintain a high level of theft control. With the use of energy efficient algorithms,
thousands of id tags can be read in a matter of seconds [2]. Also, each id tag runs on its own
ies and must be recharged when dead
. I
n large

recharging the dead batteries
can be very tedious and labor some. There is a great need to have proper energy efficient
algorithms in place to prevent the tags from using up its power quickly


By conserving
energy, each id tag can last longer and fewer recharge actions will need to take place. A
warehouse id tag reader must reader through tons of id tags in order to make sure that all items
are in the inventory. The faster it reads the tags
the quicker a detection can be found and handled

Wireless Sensor Networks

Most information regarding energy

efficient algorithms involves wireless sensor networks
(WSN). Wireless sensor n

mainly of sensors that can transmit and rec
collections of data to each other

sink nodes
, and Base Stations (BS)
. A sensor node has its own
personal supply of life power or energy, and once that energy is depleted a message cannot be

sent or received from that particular node [3]. It must fi
rst be recharged, a new battery is
replaced with the old one, or the system must rely on the remaining nodes. Sensory nodes are
usually used to monitor physical and environmental conditions, and some sensor nodes are used
to gather data within volcanoes,
in a battlefield, or in
places all over the sea
. That being said, if
any of the nodes within any of those harsh places depletes its energy supply, the battery must be
either recharged or replaced [3]. In order to not send someone to the possible harsh en
energy efficient algorithms within the nodes are needed in order to make the life

of a node
last longer. Thus significantly reducing the number of times someone must charge or change
the batteries within a node.

Energy efficient algorithm
s play a crucial role in wireless sensor networks
when nodes transmit
to sink nodes. It was noticed that sensor nodes near the sink would tend to lose their
battery supply faster than o
ther nodes in other


[3]. When this resulted in the nod
es closest
to the sink to completely run out of battery power, no more messages could get sent to the sink
and the network life would stop. This was because there were poor algorithms set in place to
prevent or notice that nodes around a sink were depleti
ng battery life faster than others. The
network lifetime would then end much sooner than it should have and most of the other nodes
still had quite a bit of battery life left [3]. With an energy efficient algorithm that took into
consideration the nodes
around the sink node, the network would stay active much longer,
allowing those who needed it to continue doing the data gathering.

Forms of Energy
Efficient Algorithms

There are different types of energy efficient algorithms that are designed to handle

certain cases,
but generally they all try to conserve energy and make a system perform more efficiently.
etworks can have short network lifetimes because of the limited amount of
energy a node has available to it. In order to prolong th
at lifetime algorithms that make energy
usage more efficient are used to prolong the lifetime of a sensor network.
The following is a list
of some general forms of energy efficient algorithms used today:

Energy Efficient Routing Algorithms

Energy Efficie
nt Cluster Algorithms

Energy Efficient Scheduling Algorithms

Energy Efficient Aggregation Algorithms

Energy Efficient Localization Algorithms

This list is only a portion of energy efficient algorithms that exist.
I will

cover a couple of them
to further
the understanding of
energy efficient

algorithms within a
Nodes need to be able to conserve energy and last longer so that the lifetime of a network can be

Energy Efficient Leaping
Based Routing Algorithm


wireless sensor networks are used to collect data on environmental conditions
, these

network systems have been used in monitoring systems within coal mines. The monitoring
systems are used for safety management and require the lifetime of the network
to b

fast and
long lasting.
f a problem occurs and the network fails to catch that problem due to an energy
problem, coal workers lives

be in danger.

In this sensor network there are fixed nodes and mobile nodes. With the use of the energy
efficient leaping
based routing algorithm (LBR), a reduction in the fixed nodes can be obtained
and the energy of the mobile nodes can then be used more effectively
[4]. This would in turn
result in an increase in speed and prolong the network life cycle. The network life cycle

when the network initially starts collecting data

the life cycle

ends when the first node
depletes its energy [4]. Since a good

portion of energy is used during communication and
it is
the most effective way to determine if an algorithm is effectively better than
the current algorithm

or other candidate algorithms
. Consumed energy in sending
message m
ust first be calculated. Figure 2 shows just a minor set of formulas used to determine
such values [4].

Figure 2: Formula used to calculate in and out energy consumption

The equation with Efs is called the free space model, and Emp is called the mult
channel model.
This formula can then be used in the leaping based routing algorithm. The meaning of the each
variable is shown in reference [4].

In a

based algorithm

when given a certain node,
node A for example,

needs to relay a
message back

to the sink node

it searches the closest nodes to it that would require only
one hop. It searches for the node with a residual energy level greater than its own. If node A
was not

successful in finding a node with more residual energy than itself
, it then searches nodes
that are two hops away. Again if it fails it searches the next set of nodes. If there were no nodes
that were larger than node A then
searches for a node with the next highest residual energy that
would also require the fewest


of hops to get to


The routing algorithm can quickly and easily set up a routing table which each node uses when
searching for a possible hop. When a hop occur

the surrounding nodes will update their tables
due to the change in energy

after sending data. Figure 3

the results from a simulation that was
Liu Kai
and his colleagues
[4]. Leaping based routing almost double the number
of rounds that were done.


Figure 3: Simulation of Leaping
based compared to other

Energy Efficient Cluster Algorithm

There are numerous amounts of sensors within a network and there are a
lso Base S


which can co
nnect to other networks. Base S
tations are capable of handling large amounts of
data processing and
they can also

store data. A clustering algorithm is designe
d to prolong the
lifetime of a wireless sensor network

and reduce the energy consumption throughout the network
[5]. There are two phases that the nodes go through. The first phase is called the

set up phase

is called the steady state phase. During the setup phase nodes are grouped
together and one of the nodes is selected to become the cluster head. During the steady state
phase, transfer of data to the Base S
tation occurs [

The clustering algorithm is able to reduce energy consumption and prolong the lifetime of the
network by creating unequal groups of nodes with fewer overhead control. First
the Base S
distributes a message to all the nodes located in the netwo
rk. Each node

received the
message is able to c
alculate its distance from the Base S
tation based on the signal strength and

its level [5]. The level is basically what section
the node

belongs to within the
network. The non
cluster h
eads send their current energy level to the cluster head so that an
average and maximum energy count can be calculated and
that is

sent to the Base S
tation [5].
Base Station

then calculates the average and maximum energy
count of each level. Once
t is


the B

sends the information to all the cluster heads so that every node can
know the averages and maximums.


Figure 4: Shows the layout of the network with the levels
) [5].

Nodes that have more residual energy than the average of the network begin to broadcast an
advertisement message (ADV). The

message allows the node to possibly become
a cluster head when a cycle ends. The clustering algorithm described here

is called a Level
based and time
based algorithm. By creating unequal groups of nodes with little overhead
control, more energy is conserved than in other algorithms [5]. By using a time
based algorithm
more control goes into making sure energy is not b
eing depleted longer than it should

thus also
improving the lifetime of the network.


Energy efficient algorithms are used in many different systems throughout the world. I have
touched only a small portion of the different types of energy
efficient algorithms. E

algorithms are crucial when being used in situations where there exists limited energy or
battery life. E
nergy efficient

algorithms not only prolong the sensor network lifetime but can
also reduce the time it takes
to send or receive a message.
This is crucial in networks that are
collecting data from environmental places such as coal mines
as mentioned before

Sensor networks are beings used in battlefields and hospitals where preventing someone from
dying is very

If a network fails to remain active and the network lifetime ends. In the
case where the network is being used hospitals, messages aren’t being sent and received by the

or staff

As technology continues to improve so will the need f
or more efficient
There have been technological breakthroughs that would not have been thought

in the past.

For example, in the early stages of the computer it was thought that
technology was at its finest.

People marveled at the id
ea that computers could do calculations

and a few other tasks repeatedly.
Energy e
fficiency helps

and devices
run smoother

and longer

with less drainage of finite energy




[1] Albers, Susanne. (2010)
Efficient Algorithms
Communications of the ACM, Vol. 53
No. 5, pg 86

[2] Li, Tao. Wu, Samuel S. Chen, Shigang. Yang, Mark C. K. (2012).
Generalized Energy
Efficient Algorithms for the RFID Estimation Problem
. IEEE/ACM Transaction on Networking,
Vol. 20, No. 6

[3] Yu, Yi
min. Song, Chao. Liu, Ming. Gong, Haigang. (2011).
Efficient Algorithm for
Sensor Networks with Non
Uniform Maximum Transmission Range
. Multidisciplinary Digial
Publishing Institue.

[4] Kai, Liu. (2009).
A Mine
Based Energy
Efficient Ro
uting Algorithm for
Wireless Sensor Network.

Ninth International Conference on Hybrid Intelligent Systems. Vol. 2,

[5] Tashtarian, Farzad. Haghighat, A. T. Honary, Mohsen. Shokrazedeh, Hamid. (2007).
A New
Efficient Clustering Algorithm

for Wireless Sensor Networks
. Software,
Telecommunications and Computer Networks.