Tomasz Szydlo et al

*<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
# IoTSim-Osmosis-RES: Towards autonomic renewable energy-aware osmotic
computing

Tomasz Szydlo  Amadeusz Szabala  Nazar Kordiumov  Konrad Siuzdak  Lukasz
Wolski  Khaled Alwasel  Fawzy Habeeb  Rajiv Ranjan  Institute of Computer
Science, AGH University of Science and Technology, Al. Mickiewicza 30, 30-059
Krakow, Poland  College of Computing and Informatics, Saudi Electronic
University, Riyadh, Saudi Arabia  College of Computer Science, University of
Jeddah, Jeddah, Saudi Arabia  The School of Computing, Newcastle University,
Newcastle Upon Tyne, United Kingdom<EMAIL_ADDRESS>
(26 April 2016; 6 June 2016; 6 June 2016)

###### Abstract

[Summary]Internet of Things systems exists in various areas of our everyday
life. For example, sensors installed in smart cities and homes are processed
in edge and cloud computing centres providing several benefits that improve
our lives. The place of data processing is related to the required system
response times - processing data closer to its source results in a shorter
system response time. The Osmotic Computing concept enables flexible
deployment of data processing services and their possible movement, just like
particles in the osmosis phenomenon move between regions of different
densities. At the same time, the impact of complex computer architecture on
the environment is increasingly being compensated by the use of renewable and
low-carbon energy sources. However, the uncertainty of supplying green energy
makes the management of Osmotic Computing demanding, and therefore their
autonomy is desirable. In the paper, we present a framework enabling osmotic
computing simulation based on renewable energy sources and autonomic osmotic
agents, allowing the analysis of distributed management algorithms. We discuss
the challenges posed to the framework and analyze various management
algorithms for cooperating osmotic agents. In the evaluation we show that
changing the adaptation logic of the osmotic agents, it is possible to
increase the self-consumption of renewable energy sources or increase the
usage of low emission ones.

###### keywords:

Osmotic Computing, Autonomic Computing, Sustainable Systems, Internet of
Things

††articletype: Article Type

##  1 Introduction

The development of Internet of Things (IoT) systems covering smart homes,
telemedicine, and the fourth industrial revolution is possible due to the key
technology enablers. Wireless communication, cloud computing, edge data
centres and increased networks throughput enable efficient sensor data
processing. However, this makes managing the operations of IoT systems more
complex. Hence, the promising programming paradigm for such IoT systems is
Osmotic Computing. Like in the osmosis phenomenon the processing of data can
be moved between devices in a continuum of cloud computing, edge computing and
IoT devices. As a result, it is possible to enhance the current properties and
performance of IoT ecosystems, such as shortening the time of data processing,
reducing the cost of maintenance, increasing reliability or reducing the
amount of data sent to clouds.

The development of computing infrastructure for modern edge computing IoT
systems is associated with an increased demand for energy. Several solutions
are introduced to reduce the emission of pollutants due to the useage of
traditional energy sources, such as more economical processors and computer
architectures. However, the adoption of renewable energy for data processing
seems to be a promising approach. Still, it requires intelligent management of
the infrastructure and the data stream processing flows. Moreover, given the
dynamic execution context of IoT ecosystems and the uncertain nature of
renewable energy sources, IoT ecosystems would become a non-trivial challenge
in production environments. As such, new solutions and prototypes are required
to increase renewable energy usage, productivity and profitability in IoT
osmotic contexts.

This paper proposes a new simulation model that covers a set of
functionalities in the context of sustainable and autonomic IoT ecosystems. As
well, we extended the IoTSim-Osmosis1 simulator and added our proposed model,
which enable research on sustainable and autonomic IoT systems. The concept of
osmotic computing allows for flexible flow migration between edge and cloud
computing centres and osmotic microelements. Information about the
availability of renewable sources can be reflected in the osmosis process
itself - i.e. by the migration of processing to use green energy as
efficiently as possible. Given the complexity of the adaptation process due to
the size of IoT systems, this mechanism should be self-adaptive. A promising
approach to the realization of this concept is the use of osmotic agents2 that
follows Autonomic Computing concept 3. Cooperating agents associated with
devices and computing centres can exchange messages and adapt to the available
energy and the desired properties of the system. For example, in environmental
monitoring systems, osmotic computing should ensure data provision and
processing continuity during natural disasters. In a stable situation, provide
the greatest possible use of renewable energy.

The rest of the paper is organized as follows. Section 2 describes the
background of the research. Section 3 discusses the energy modelling used in
the simulator, while section 4 describes the implementation details. Section 5
provides the evaluation details for several adaptation algorithms. Section 6
analyzes the related work and compares their functionalities. Finally, the
paper is concluded in section 6.

###  1.1 Challenges

Research on energy-aware osmotic computing and realization of the simulation
environment requires facing the following challenges:

  * •

use of historical data \- due to the high uncertainty of weather conditions –
e.g. wind speed and solar radiation level, the efficient analysis of adaptive
osmotic computing management algorithms should be based on historical data
regarding renewable energy sources. It is discussed in section 4.1.

  * •

decentralized management \- the scale of IoT systems makes centralized
management of process migration and data flow control processes usually
inefficient. Therefore, it is essential to introduce mechanisms enabling the
implementation of distributed management algorithms. Furthermore, it will
allow reacting to changes in the environment in which the devices operate. We
are discussing the Autonomic Computing concept and its realization in section
2.4 and 4.2 respectively.

  * •

adaptation mechanisms \- reacting to changes in the availability of renewable
energy in osmotic computing may include the reorganization of the data stream
processing flows. Other mechanisms may include changing the routing of data
streams between different data processing centres or limiting sensor data
streams by, e.g. reducing the accuracy of sensor data reading or decreasing
the reading frequency. The discussion regarding introduced mechanisms is in
section 4.3.

###  1.2 Contribution

To solve the above challenges, this paper proposes a novel simulation model
that encompasses a number of features in the context of self-sustaining and
autonomous IoT ecosystems. The following are the paper’s key contributions:

  * •

we extended the IoTSim-Osmosis simulator with our novel model that consists of
a set of functionalities in the context of sustainable and autonomic IoT
ecosystems,

  * •

we evaluated IoTSim-Osmosis-RES using a case study that focused on managing
renewable energy sources in IoT systems. The simulation results summarise
IoTSim-Osmosis-RES functionality for assessing various parameters such as the
level of solar radiation, usage of the RES, usage of the low emission sources,
and the IoT device battery capacity.

##  2 Background

###  2.1 Osmotic computing

Modern Internet of Things systems are usually based on a programming paradigm
that emphasizes data flows and stream data processing4. A characteristic
property of this class of systems is that they are composed of computational
processes analyzing data streams and passing the results between them.
Furthermore, the processes are deployed on the available hardware
infrastructure, i.e. computational clouds, edge datacenters and devices
themselves. The concept that generalizes this approach is Osmotic Computing5
which provides elasticity to such systems enabling processes to move between
devices similarly as solvent molecules through the osmotic membrane towards
the computational clouds or edge datacenters. Moreover, it allows for the
fulfilment of desired system requirements such as time of processing or energy
efficiency by adapting to the current system operational context.

In osmotic computing, an application is defined as a graph composed of
Microelements (MEL)6. They represent specific functionalities and can be
deployed on cloud and edge resources. MELs can migrate within a software-
defined membrane which is an abstraction of a virtual environment spread over
the available hardware infrastructure - edge and cloud resources. The IoT
application in this concept is modelled as Osmotic Flow7 and described as a
directed graph representing the transformation of data streams from IoT
devices by processes defined in the graph nodes. The Osmotic Computing concept
enables the deployment and management of stream transformation tasks within
the available computing resources at the edge of the network and in the
computing cloud.

###  2.2 Renewable Energy Sources

Designing a system that uses solar energy for computing requires numerous
decisions concerning energy being generated. Solar energy generation depends
on a geographical location and, at the same time, varies throughout the year
as solar irradiation varies significantly between seasons. The primary
decision to be made is the capacity of the photovoltaic system. Its size
depends mainly on the geographical location and the number of cloudy days
during the year. Temporary cloudiness, as presented in Fig.1 is very dynamic
and introduces uncertainty in energy management. The size of the photovoltaic
system is designed based on annual averages, where the generated energy
surplus is transferred/sold to the grid in the summer. In winter, it is
received/purchased from the grid. This mechanism makes it possible to design
systems whose annual energy demand is covered by renewable energy.
Unfortunately, such a solution involves the cost of transferring/receiving or
selling/buying energy to the grid.

Figure 1: Solar irradiance map over Europe (GHI) (20/08/2021 @11:00 CET).
Figure 2: Carbon emission map (source:electricitymap.org)

Reducing the energy amount being sold/purchased to/from the grid will maximize
the utilization of the designed solar energy generating system. Subsequently,
data processing on the edge of the network can be optimized to better use
solar energy without the need to transfer it to/from the grid. This approach
may bring significant savings and better energy management.

The power grid is also characterized by indicators of various types of energy
providers. These can be multiple types of wind and water turbines,
photovoltaic farms or nuclear power plants. As a result, the electricity use
in a particular country is related to the amount of carbon dioxide released
into the atmosphere for each kWh of energy used as presented in Fig.2.

###  2.3 Energy-aware management

The dynamic change in the availability of renewable energy results in the
uncertainty of its supply. To ensure the desired properties of the IoT system,
it is necessary to adapt the processing of data streams from IoT devices. The
adaptability mechanisms applied to the energy-aware computing systems (Fig. 3)
can be distinguished based on the scale of management:

  * •

At the global level, it is possible to switch stream processing between data
centres powered from photovoltaic panels, (1)based on the fact that the sun
that rises in the east and sets in the west or (2)to the least utilized data
centres to preserve energy (Fig. 3a).

  * •

At the local level - at the edge datacenter (Fig. 3b) - it is possible to
locally manage data processing in such a way as to adapt to locally available
resources and weather conditions. It can be done e.g. by slowing down the
streams of the input data or switching off computational nodes thanks to
rescheduling processing tasks to other nodes – the processing is not switched
to other locations.

Figure 3: Adaptability mechanisms for stream processing: (a) global (b) local

Each of the mechanisms can be activated independently, but it can lead to
unexpected results. One of the solutions to this problem is to use the
mechanism to resolve resource contention issues at runtime, according to user
preferences. In the previous research, we have developed the holistic
computing controller (HCC)8, which operation involves the selection of
configuration parameters which – following enactment – specify the expected
functional properties of the system. For example, in an HCC-managed system,
the system operator identifies the QoS metrics as the cost of operation, data
sampling frequency, power saving, system lifetime, and availability.
Unfortunately, the central management of the complex architecture used to
process data from sensors is ineffective due to the volatility and
unpredictability of the environment in which it operates.

###  2.4 Autonomic Computing

The complexity of multilayer IoT systems and the dynamism resulting from
renewable energy sources make the construction of management mechanisms
complex. The most promising solution is to use the concept of Autonomic
Computing (AC) 3, in which the systems have the ability to self-manage. The
main idea is that computer systems undertake adaptation actions based on high-
level policies given by the administrators. Such systems monitor the system’s
state and plan actions in response to changing conditions of their operation.
In the case of complex, distributed computing systems, autonomic computing can
be viewed as a multi-agent system 9 where agents manage system components and
communicate to undertake coordinated adaptation actions.

The operation context uncertainty of IoT systems, mainly due to the
specificity of their operation, causes management decisions to move from the
design phase to the execution phase. As a result, responsibility for
management actions is shifted from developers to the system itself. The
solution for the implementation of agent logic is the usage of machine
learning algorithms, which can improve their performance during their work 10.
However, the promising approach is reinforcement learning11 which principle is
based on interacting with the system by performing actions on it and observing
how they influence its operation. The constant feedback from the system is
especially applicable in systems characterized by high uncertainty.

In osmotic computing, autonomic agents deployed on the computing nodes can be
perceived as a distributed multi-agent system 2 that manages the proper
execution of the data flows. The osmotic agents can share knowledge with other
agents through the osmosis membrane.

##  3 Energy modelling

Figure 4: Datacenter powered by renewable energy.

In the IoTSim-Osmosis extension, we have adopted the topology of electrical
connections, including renewable energy sources, energy storage, and the power
grid, as shown in Fig.4. The $EnergyController$ module associated with each
datacenter is responsible for energy management. Symbols used in the equations
are summarized in the Tab.1. Energy controller module is described by a tuple:

$E_{i}=(P_{i},S_{i},B_{i},D_{i},p_{i},e_{i}^{u})$ (1)

where $P_{i}=(p_{i}^{cost},p_{i}^{low},p_{i}^{res})$ stands for power grid and
the corresponding parameters. The configuration of the photovoltaic panels is
described as $S_{i}=(s_{i}^{peak},s_{i}^{angles})$. Surplus energy is stored
in the battery $B_{i}=(b_{i}^{cap},b_{i}^{s})$.

The energy consumed by the datacenter $D_{i}$ is the result of the processing
of data streams in it. Several factors are considered when designing renewable
energy solutions, including geographical location and average annual energy
use. It is then possible to match the size of the photovoltaic installation to
the actual energy demand. Usually, the PV installation capacity is taken as a
percentage of the annual energy demand. Thus, the average value of energy
consumed by the data centre can be estimated according to the formula:

Table 1: Notations used in the system model. Symbol | Meaning
---|---
$E_{i}$ | Energy controller at datacenter $i$
$P_{i}$ | Power grid at datacenter $i$
$S_{i}$ | Renewable energy source at datacenter $i$
$B_{i}$ | Battery at datacenter $i$
$D_{i}$ | Datacenter $i$
$p_{i}$ | Energy management policy used by energy controller at
| datacenter $i$
$e_{i}^{u}$ | Renewable energy utilization percentage at datacenter $i$
$e_{i}$ | Average power consumption at datacenter $i$
$e_{i}^{re(t)}$ | Renewable energy available at $D_{i}$ at a particular time point $t$
$s_{i}^{ann}$ | Annual energy generated by solar panel at datacenter $i$
$p_{i}^{cost}$ | Cost of the kWh of energy in the country where datacenter $i$
| is located
$p_{i}^{low}$ | Percentage of the low-carbon emission sources in the country
| where datacenter $i$ is located
$p_{i}^{res}$ | Percentage of the RES in the country where datacenter $i$
| is located
$t_{i}^{j}$ | Processing time of the osmotic transaction $j$ on datacenter $i$

$e_{i}=\frac{s_{i}^{ann}}{e_{i}^{u}}\cdot\frac{1}{365\cdot 24}$ (2)

Renewable energy obtained from the sun is considered in annual cycles. The
surplus of energy obtained in summer balances the energy obtained in the
winter months. Therefore, $s_{i}^{ann}$ is calculated as the total solar
energy harvested at datacentre $i$ during a year. It is assumed that the
datacenter consumes energy at a constant level, resulting from the percentage
of energy obtained from the PV installation for the year in which the
simulation is carried out. Any shortfall in PV energy needed to power the data
centre is supplemented by energy from the power grid or battery depending on
the provided energy management policy $p_{i}$.

Renewable energy consumed directly by the data centre is self-consumed without
being sent to the power grid. In sustainable systems, the aim is to increase
the self-consumption rate because it reduces the amount of energy flowing
through the power grid. In the case of the proposed model, the level of self-
consumption is expressed by the formula:

$e_{i}^{self(t)}=\left\\{\begin{matrix}1&\quad e_{i}^{re(t)}>e_{j}^{m}\\\
\frac{e_{i}^{re(t)}}{e_{i}}&\quad e_{i}^{re(t)}\leqslant
e_{i}\end{matrix}\right.$ (3)

Figure 5: Osmotic flow transaction.

The simulator also incorporates various metrics based on renewable energy use
from photovoltaic panels and the power grid. We assumed that the power grid
has both a price and a carbon footprint corresponding to the kWh of energy
consumed by the data centers. The carbon footprint is mainly driven by the
type of energy sources, including renewable, low-carbon and fossil fuel-based.
In metric value calculation it is assumed that the osmotic application
consists of a series of transactions occurring one after another. The Fig.5
shows a transaction involving the flow of data streams through the different
MELs. In particular:

  * •

The energy self-consumption metric $M_{self}$ takes into account the total
processing time of the data streams by the MEL in datacenters. In addition,
temporal information of the amount of renewable energy from photovoltaic
panels are used.

$M_{self}=\sum_{k}\left(\frac{\sum_{i}t_{i}^{k}e_{i}^{self(t_{k})}}{\sum_{i}t^{{}_{i}^{k}}}\right)$
(4)

  * •

The metric $M_{low}$ for the use of low-emission sources considers both the
self-usage of energy from photovoltaic panels powering the datacentre and the
annual share of such sources when using the power grid.

$M_{low}=\sum_{k}\left(\frac{\sum_{i}t_{i}^{k}e_{i}^{self(t_{k})}+\sum_{i}t_{i}^{k}p_{i}^{low}(1-e_{i}^{self(t_{k})})}{\sum_{i}t^{{}_{i}^{k}}}\right)$
(5)

Figure 6: IoT device powered by renewable energy.

For IoT devices, by default, they are battery-powered. In the case of the
discussed extension, it was assumed that they could also be powered by solar
energy. The topologies of electrical connections for IoT devices are shown in
Fig. 6. The previously used energy model of the device has been extended with
a charging module. Energy from PV panels is used to charge the battery
directly, assuming the limitations (1) the battery cannot store more energy
than the nominal capacity, (2) the maximum charging current is limited and
configurable by the user. The second criterion was introduced because too high
charging current reduces the battery’s maximum capacity in a longer time
horizon.

##  4 Design of the simulator

The proposed simulator is based on the IoTSim-Osmosis and extended by
renewable energy modules and the osmotic agent mechanisms enabling research on
renewable energy-aware autonomic IoT systems. The high-level architecture of
the solution is shown in Figure 7. The discussed solution consists of two
modules - the first one responsible for modelling renewable energy sources and
the second one implementing the concept of osmotic agents.

Figure 7: Architecture of the simulator.

###  4.1 Renewable Energy Sources module

There are a few primary sources of green energy as solar, wind, water.
However, in the simulator, the focus is on solar energy with the future
possibility of extensions to others energy sources. The power supply scheme of
each datacentre is shown in the Fig.4, while the details are presented in Fig.
8.

####  4.1.1 Energy Sources

The module allows simulating the operation of a photovoltaic installation
connected to the selected datacentre. The configuration includes parameters
such as geographic location, power of the installation and an indicator
informing about the percentage share of the produced energy in the annual
energy consumption of the datacenter.

Each energy source corresponds to one PV installation. However, some
datacenter may require energy that could not be provided by only one
installation. Furthermore, since the solar energy generated by PV panels is
hesitant and depends on several factors, a few of them are required to specify
before the simulation, such as angle of PV panels, temperature power loss and
peak power.

Historical data are downloaded from the Photovoltaic Geographical Information
System (PVGIS) portal111https://ec.europa.eu/jrc/en/pvgis. It provides data
about solar radiation and PV potential based on satellite image analysis for
the 2005-2016 years and can give more detailed monthly, daily, and hourly
intervals.

####  4.1.2 Energy Storage

Energy storage devices are used to store surplus energy produced by PV panels
and then use it later in the day. They can provide energy when needed,
especially in the situation of reduced generation from renewable sources, if
it has been previously stored. If the energy storage is fully charged, the
surplus energy is transferred to the power grid. They are particularly
important for reducing the characteristic increase in energy generated at noon
by distributed photovoltaic installations and the significant demand after
sunset.

Energy storage can be considered as a solution that balance energy in a daily
time horizon. Several technological solutions are available12 such as
rechargeable batteries, pumped hydroelectric store, compressed air storage, or
flywheels. However, in the extension, we are focusing on rechargeable battery
technology. Therefore, battery parameters, i.e. its total capacity and current
charge level, are determined at the beginning of the simulation.

####  4.1.3 Power grid

There could be a situation when the demand for energy consumption of DC is
much higher than the amount that any renewable energy source can produce. In
such case, the power grid supplies energy to DC by being switched on by the
controller, which checks whether is there enough energy coming from, e.g.
photovoltaic panels. Therefore, it is important to specify the country where
the installation is located in the RES configuration file and the price for
the energy taken from the power grid.

####  4.1.4 Energy Policy

The user-selectable policy performs management of the energy controller. It
defines the way how the controller should take care of the energy consumption
and the situation when demands of energy differ from the amount coming from
renewable installation.

In the module there are provided three policies to cover real-world cases of
energy management, which can be extended by the users developing their own
strategies. Names of the available policies are self-explanatory and are:

  * •

$GridOnlyPolicy$ \- datacenter is connected to the power grid only without
energy storage device and the renewable energy source,

  * •

$OnGridpolicy$ \- datacenter uses energy from the power grid as well as from
the renewable energy source, surplus of the energy is transferred to the power
grid,

  * •

$OnGridEnergyStoragePolicy$ \- similarly as in the $OnGridpolicy$ but the
datacenter is also equipped with energy storage device.

Before the simulation, there is a requirement to chose defined policies in the
configuration file.

Figure 8: Conceptual diagram of the renewable energy module.

###  4.2 Osmotic Agents module

In the simulator, we have implemented autonomous agents, as shown in Figure 9.
Agents are assigned to IoT devices as well as edge and cloud datacenters.
Agents implement the autonomic computing MAPE loop13 \- Monitor, Analyze, Plan
and Execute. Osmotic agent structures the control and management loop of the
system, distinguishing the stages of monitoring, analyzing, planning and
executing actions on the system. In the simplest case, the operating logic of
an osmotic agent can be implemented in the form of a rule-based manner, where
a set of system adaptation rules are prepared during the development phase and
are not changed at runtime.

In the case of reinforcement learning and the so-called reinforcement agent,
environment observation occurs during the monitoring phase of the osmotic
agent, where knowledge about the environment is obtained using dedicated
sensors. Then the data is analyzed, and in the planning phase, appropriate
management actions are selected by the RL agent. Finally, they are enforced in
the execute phase using dedicated effectors.

Agents lifecycle is controlled by the AgentBroker component. It contains the
topology of the infrastructure, thus is responsible for message passing.
Moreover, it controls MAPE execution based on the simulator’s internal timer.
Interface-based architecture facilitates the end-user to implement logic for
the agents.

####  4.2.1 Cooperation models

The osmotic agents can constitute the distributed multi agent environment in
which they can cooperate by exchanging messages. The provided module enables
the implementation of three scenarios of cooperation between agents (Fig.11):

  * •

independent agents \- each agent manages a device or a data centre
independently of other agents. Agents do not exchange messages.

  * •

communicating agents \- agents can exchange messages, but they make management
decisions and actions independently.

  * •

central agent \- the central agent receives information from all other agents
and makes decisions regarding each device that the agents enforce. Local
agents only perform the operations requested by the central agent.

Figure 9: Autonomic Osmotic Agent. Figure 10: Osmotic Agents structure. Figure
11: Supported communication patters between agents: a)independent
agents/learners with independent policies, b)decentralized agents exchanging
information with the neighbouring agents but acting independently, c)
centralized training with decentralized execution.

###  4.3 Adaptability actions

Because of the fact that agents are associated with the datacenters, they can
apply adaptation action in the execute phase of its internal control loop. It
may include modification of all the parameters related to the datacenter
itself, such as processing power and a number of available processing nodes.
Nevertheless, to enable processing flow adaptability, the concept of adaptive
routing was introduced as presented in Fig.12. In that concept, MEL_B.* is a
stateless abstract MEL_B implementing processing functionality, but not
pointing to the particular instance.

The MEL_B.1 and MEL_B.2 are instances of abstract MEL_B and are located in
different edge datacenters. The selection of the desired functionality
implementation is made in the data stream routing process, controlled by
appropriate routing rules. By default, matching instances are selected based
on the Round-Robin policy if there are no specific MEL routing rules provided.

Figure 12: MEL routing concept.

##  5 Evaluation of IoTSim-Osmosis-RES

The section presents the results of evaluating the proposed framework. The
results of five algorithms for managing the operation of an example IoT system
and the obtained results are presented.

###  5.1 Infrastructure

The framework evaluation is carried out for the IoT system that processes data
from IoT devices. The system processes video streams from cameras installed in
the smart city. Data streams are pre-processed in edge data centres and then
processed in the cloud.

The analysis is performed for two edge data centres located in Berlin and
Paris and one cloud datacenter located in Ireland. All of them are powered by
photovoltaic panels. Tab.2 contains the details of the hardware
infrastructure. the smart cameras are installed in Berlin, powered by
photovoltaic panels and equipped with rechargeable batteries. Details of the
devices used in the evaluation are presented in Tab. 3.

Figure 13: Osmotic Agents structure. Table 2: Notations used in the system model. Parameter | Edge1 | Edge2 | Cloud
---|---|---|---
Location | Berlin | Paris | Dublin
Latitude | 52.52 | 48.8 | 53.35
Longitude | 13.40 | 2.30 | -6.30
Type | on-grid | on-grid | on-grid
Battery | no | no | no
RES Energy Utilization | 60% | 60% | 40%
Table 3: IoT device battery parameters. Device Type | Battery Capacity | Initial Energy | Battery Voltage | Solar Panel
---|---|---|---|---
Smart camera | 3000mAh | 2000mAh | 3.7V | 10W

###  5.2 Osmotic Agents

Each device used in the evaluation has assigned Osmotic Agent($DcAgent$ for
Datacenter, $DeviceAgent$ for IoTDevice). Its job is to decide whether data
should be computed locally or in another datacenter and thus, reroute the
processing flow to another location. In the experiments we consider five
algorithms for Osmotic Agents:

  * •

(ALG1/2) Static selection of edge datacenter processing locations. In our
case, these are Berlin(1) or Paris(2).

  * •

(ALG3) Selection based on the Round-Robin algorithm - data is processed
alternately between edge datacenter where MELs required by the application are
available.

  * •

(ALG4) Adaptive edge datacenter selection algorithm based on the amount of
renewable energy available on the edge datacenter, and in case several
datacenters are fully powered by renewable energy at any given time, the
closer datacenter is selected. During nighttime hours, the edge datacenter
that is powered by a power grid with a higher percentage of low-carbon sources
is selected. The algorithms for Osmotic Agents are presented in listings 1 and
2.

  * •

(ALG5) Analogously as before, but when none of the computing centres is
powered by solar energy from the installed PV panels, the geographically
closest one is selected.

Algorithm 1 DC Agent

1:

2:function Monitor( )

3: $r\leftarrow$ solar irradiation value

4: $S\leftarrow$ available MELs in DC

5:end function

6:

7:function Analyze( )

8: $m\leftarrow\varnothing$

9: $m.dest\leftarrow$ neighbouring IoT devices

10: $m.content\leftarrow(r,S)$

11: $publish(m)$

12:end function

13:

14:function Plan($M$)

15: $nothing$

16:end function

17:

18:function Execute( )

19: $nothing$

20:end function

Algorithm 2 Device Agent

1:

2:function Monitor( )

3: $nothing$

4:end function

5:

6:function Analyze( )

7: $nothing$

8:end function

9:

10:function Plan($M$)

11: $Q\\{\\}\leftarrow\varnothing$

12: $V\\{\\}\leftarrow\varnothing$

13: for each $m_{i}\in M$ do

14: $(r,S)\leftarrow m_{i}.content$

15: for each $s_{j}\in S$ do

16: $s^{\prime}\leftarrow abstract(s_{i})$

17: if $s^{\prime}\not\in Q.keyset$ then

18: $V\\{s^{\prime}\\}\leftarrow r$

19: $Q\\{s^{\prime}\\}\leftarrow s_{j}$

20: else if $V\\{s^{\prime}\\}<r$ then

21: $V\\{s^{\prime}\\}\leftarrow r$

22: $Q\\{s^{\prime}\\}\leftarrow s_{j}$

23: end if

24: end for

25: end for

26:end function

27:

28:function Execute( )

29: for each $s^{\prime}\in Q.keyset$ do

30: $routing\\_add(s^{\prime},Q\\{s^{\prime}\\})$

31: end for

32:end function

Algorithms ALG4 and ALG5 use Osmotic Agents to manage the processing of data
streams from IoT devices. In the MAPE loop, agents are processing received
messages from other agents and modify routing tables in assigned devices.
After these steps, data flow can change destination, which implies flow
processing being moved to the desired place. In the algorithm ALG5, the
geographically closest computing centre selection is based on the haversine
algorithm, which determines the distance of a great circle between two points
on the globe.

The discussed algorithms run simultaneously on edge datacenter and devices. In
the case of edge datacenter, the algorithm sends a message containing the
deployed MELs list to the available IoT devices. Therefore, the algorithm’s
complexity is linear to the number of available MELs on a particular edge and
the number of IoT devices. In the case of devices, the algorithm processes
messages from each edge datacenter, and then for each MEL from the messages,
the one that meets the appropriate criteria is selected. Therefore, the
algorithm’s complexity is linear to the number of edge datacenters and the
total number of MELs available in the system.

Figure 14: Solar radiation during the experiments. Figure 15: Usage of the RES
and low emission sources during the experiment. Figure 16: Comparison of the
algorithms used for adaptive management of processing. Figure 17: IoT device
battery capacity during the experiment.

###  5.3 Results

Fig. 14 shows the level of solar radiation for selected days at the location
of the analyzed edge and cloud computing centres. Changes in the level of
solar radiation during the day are the result of cloud cover movement over the
sky. The lowest level of solar radiation was noticed in January.

Fig. 16 shows a comparison of the analyzed algorithms in the context of
different evaluation metrics. These are (1)self-consumption of renewable
energy sources, (2)usage of low-emission energy sources, and (3)processing at
the nearest edge datacenter for IoT devices. Each algorithm is evaluated using
three metrics. For the first metric, related to the self-consumption of green
energy, the best results are achieved with the ALG4 and ALG5 algorithms. This
is because the logic of osmotic agents adapts the data flow by selecting the
edge datacenter with the highest share of green energy to power them. It is
also interesting that despite obtaining comparable results for the self-
consumption of renewable energy, the algorithms achieved different values for
the other metrics. ALG4 prefers data centres connected to the power grid with
a higher percentage of low-carbon energy sources, while ALG5 prefers the
closest datacenters to the smart cameras. In the case of the second metric,
the best results were obtained for the ALG2 algorithm, for which the edge
datacenter was statically selected in a country with more nuclear power plants
(France). In the case of the last metric, the best results were achieved for
ALG1 - the data was always processed in the nearest computing centre (Berlin).

Fig. 17 shows the charge level of batteries used in IoT devices for three
selected days of the year. During the experiments, it was assumed that the
batteries were charged to 66% at midnight. The energy stored in the battery
allows the device to operate for 24 hours - the entire experiment. In the case
of the operation of the device in the summer period, the amount of recharged
energy from solar panels is greater than the device consumption. This means
that the device can work for the next day without interruption - the battery
level at the end of the day is higher than at the beginning. However, in the
case of winter days and heavy cloud cover, the device’s battery may be not
recharged during the day. Therefore, in real-world scenario, the solution
would be to use the backup power supply from the power grid, oversize
batteries and photovoltaic panels, or introduce algorithms for adaptive
management of the device’s operation.

To sum up, the optimal management of osmotic computing is a multi-criteria
optimization problem, and various adaptation goals are achieved depending on
the selected algorithm. It is also possible to change the adaptation algorithm
during the system operation, resulting from a change in the context of the
system operation, e.g. a natural disaster.

##  6 Related work

There are some existing frameworks for modelling and simulating IoT
environments and evaluate resource management. CloudSim 14 is a toolkit for
modelling and simulation of cloud computing environments and evaluation of
resource provisioning algorithms. It provides some basic energy-conscious
abstractions and resource management techniques to evaluate energy usage.
EdgeCloudSim 15 is based on CloudSim and is designed to handle edge
computing’s computational and network requirements. EdgeCloudSim’s
architecture allows a variety of models for studying features of edge
computing, such as the edge server model, the mobility model, and the network
link model. EdgeFogCloud 16 support different network and energy models. In
addition, it can help in founding a resource network and task scheduling by
formulating the configuration parameters. iCanCloud’s 17 main target is to
provide the user information about the cost, power, energy of running IoT
applications on configured machines. GreenCloud 18 simulates an energy-aware
cloud environment in order to observe energy utilization consumed by
datacenters, also concerning their internal components and techniques to
reduce power consumption. DCSim 19 is capable of changing VMs state in order
to conserve power. CloudSimSDN 20 extends CloudSim in enabling it to measure
power consumption of network devices and minimize it. iFogSim 21 provides
basic resource management policies - cloud-only and edge-ward in order to
measure their impact on various parameters including energy consumption.
MyiFogSim 22 is an extension of iFogSim that focuses on failure simulation,
network configuration, and providing virtual machine migration policy support
to mobile clients. IoTSim-Edge 23 considers devices powered by batteries.
IotSim-Osmosis 1 is based on CloudSim and IoTSim-Edge, inheriting all their
assumptions and properties, including power management awareness, but
extending their ability to model SDN-Networks and Osmosis paradigm. In
summary, there are many frameworks that consider energy management, variety of
power sources and network infrastructure. However, none of them are able to
simulate floating weather conditions, renewable energy sources or provide
easily extendable system that enables researches to specify their own VM and
power management policies. These features are nonetheless included in proposed
simulator.

Simulator | Feature
---|---
| Cloud
---
Processing
| SDN
---
Support
| SD-WAN
---
Support
| Network
---
Communication
| Edge
---
Processing
| IOT
---
Devices
| Power
---
Management
| Agents
---
System
RES
CloudSim 14 | x |  |  |  |  |  |  |  |
EdgeCloudSim 15 |  |  |  | x | x | x |  |  |
EdgeFogCloud 16 |  |  |  | x | x | x |  |  |
iCanCloud 17 | x |  |  | x |  |  | x |  |
GreenCloud 18 | x |  |  | x |  |  | x |  |
DCSim 19 | x |  |  | x |  |  | x |  |
CloudSimSDN 20 | x | x |  | x |  |  | x |  |
iFogSim 21 | x |  |  | x | x | x |  |  |
MyiFogSim 22 |  |  |  | x | x | x |  |  |
SimIoT 24 | x |  |  |  |  | x |  |  |
IotSim-Edge 23 |  |  |  |  | x | x |  |  |
IotSim-Osmosis 1 | x | x | x | x | x | x |  |  |
proposed IotSim-OsmosisRES | x | x | x | x | x | x | x | x | x

Table 4:  Related work summary

IoT systems based on the Osmotic Computing concept also include data
processing in the computational clouds. Among the analyzed simulators,
CloudSim is one of the most willingly used solutions. It allows for the
evaluation and tests management strategies which can improve the performance
of cloud infrastructures. This is possible by modelling different components
typical for cloud systems like virtual machines or cloud data centres. The
iCanCloud can also use different cloud brokering strategies and observe the
efficiency of more resources thanks to more extended output. GreenCloud is
very similar to the iCanCloud, but it extends to network cloud infrastructure
simulation. DCSim provides dynamic resource management in the cloud to
effectively evaluate energy-aware algorithms. It also enables the modeling and
simulating of cooling systems. CloudSimSDN, as its name suggests, is an
extension of CloudSim and supports Software Defined Networks. It simulates the
utilization of hosts, networks and response time of requests in cloud data
centres. Finally, the IotSim-Edge is mostly focused on low power communication
technologies and protocols for IoT devices and edge processing.

To sum up, none of the discussed solutions can model the variety of green
energy sources. Instead, they consider the energy as an already existing
entity, whose only relevant parameters are its cost and consumption, without
considering other metrics, such as self-consumption of renewable energy.
Similarly, none of the discussed frameworks implements the mechanism of
cooperating agents used for system management.

##  7 Conclusions and future work

The paper presents extensions to the $IoT-SimOsmosis$ simulator providing
functionality for modelling renewable energy sources for powering devices and
Osmotic Agents mechanism enabling evaluation of autonomic computing algorithms
for Osmotic Computing. The results show that the choice of the adaptation
algorithm affects the achievable performance of the IoT system and, can be
selected to fulfill system requirements.

In the described example, the logic of the agents is predefined at the system
design state. As further work, we plan to investigate reinforcement learning
algorithms so that individual devices can learn how their decisions affect the
system. Reinforcement learning methods can be used by agents deployed in
devices to learn autonomously how the actions taken impacted the change of the
device state and the obtained reward or penalty. Such knowledge can be then
distributed to other osmotic agents to update their adaptation logic.
Knowledge exchange regularly should accelerate the learning process and, most
importantly, constantly update cooperating agents’ adaptation logic during the
IoT system runtime fulfilling the processing requirements of the whole system.
It would be desirable to develop a dynamic data streams concept using
reinforcement learning to change the data transfer rate of the IoT devices
depending on the available energy and to adapt to the projected amount of
energy that can be obtained from renewable energy sources.

## Acknowledgments

The research presented in this paper was supported by the National Science
Centre, Poland under Grant No. MINIATURA/2021/05/X/ST6/00414. This research
was funded by EPSRC project, Sustainable urban power supply through
intelligent control and enhanced restoration of AC/DC networks, EPSRC-NSFC
Call in Sustainable Power Supply, 2019-2022, EP/T021985/1.

## References

  * 1 Alwasel K, Jha DN, Habeeb F, et al. IoTSim-Osmosis: A framework for modeling and simulating IoT applications over an edge-cloud continuum. J. Syst. Archit. 2021; 116: 101956.
  * 2 Carnevale L, Celesti A, Galletta A, Dustdar S, Villari M. Osmotic computing as a distributed multi-agent system: The Body Area Network scenario. Internet Things 2019; 5: 130–139.
  * 3 Kephart J, Chess D. The vision of autonomic computing. Computer 2003; 36(1): 41-50.  doi: 10.1109/MC.2003.1160055
  * 4 Szydlo T, Brzoza-Woch R, Sendorek J, Windak M, Gniady C. Flow-based programming for IoT leveraging fog computing. In: Cellary W, Fugini M, Reddy S. , eds. Proceedings - 2017 IEEE 26th International Conference on Enabling TechnologiesProceedings - 2017 IEEE 26th International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises, WETICE 2017. Institute of Electrical and Electronics Engineers Inc. 2017 (pp. 74–79)
  * 5 Villari M, Fazio M, Dustdar S, Rana O, Jha DN, Ranjan R. Osmosis: The Osmotic Computing Platform for Microelements in the Cloud, Edge, and Internet of Things. Computer 2019; 52(8): 14-26.  doi: 10.1109/MC.2018.2888767
  * 6 Carnevale L, Celesti A, Galletta A, Dustdar S, Villari M. From the Cloud to Edge and IoT: a Smart Orchestration Architecture for Enabling Osmotic Computing. In: 2018 (pp. 419-424)
  * 7 Nardelli M, Nastic S, Dustdar S, Villari M, Ranjan R. Osmotic Flow: Osmotic Computing + IoT Workflow. IEEE Cloud Computing 2017; 4(2): 68-75.  doi: 10.1109/MCC.2017.22
  * 8 Balis B, Brzoza-Woch R, Bubak M, et al. Holistic approach to management of IT infrastructure for environmental monitoring and decision support systems with urgent computing capabilities. Future Generation Computer Systems 2018; 79: 128 - 143.
  * 9 Brazier FMT, Kephart JO, Parunak HVD, Huhns MN. Agents and Service-Oriented Computing for Autonomic Computing: A Research Agenda. IEEE Internet Comput. 2009; 13(3): 82–87.  doi: 10.1109/MIC.2009.51
  * 10 Saputri TRD, Lee SW. The Application of Machine Learning in Self-Adaptive Systems: A Systematic Literature Review. IEEE Access 2020; 8: 205948-205967.  doi: 10.1109/ACCESS.2020.3036037
  * 11 Lei L, Tan Y, Zheng K, Liu S, Zhang K, Shen X. Deep Reinforcement Learning for Autonomous Internet of Things: Model, Applications and Challenges. IEEE Communications Surveys Tutorials 2020; 22(3): 1722-1760.  doi: 10.1109/COMST.2020.2988367
  * 12 Chalise S, Golshani A, Awasthi SR, et al. Data center energy systems: Current technology and future direction. In: 2015 (pp. 1-5)
  * 13 Gheibi O, Weyns D, Quin F. Applying Machine Learning in Self-Adaptive Systems: A Systematic Literature Review. ACM Trans. Auton. Adapt. Syst. 2021; 15(3).  doi: 10.1145/3469440
  * 14 Calheiros RN, Ranjan R, Beloglazov A, De Rose CAF, Buyya R. CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Software: Practice and Experience 2011; 41(1): 23-50.  doi: https://doi.org/10.1002/spe.995
  * 15 Sonmez C, Ozgovde A, Ersoy C. Edgecloudsim: An environment for performance evaluation of edge computing systems. Transactions on Emerging Telecommunications Technologies 2018; 29(11): e3493.
  * 16 Mohan N, Kangasharju J. Edge-fog cloud: A distributed cloud for internet of things computations. In: IEEE. ; 2016: 1–6.
  * 17 Nuñez A, Vázquez-Poletti JL, Caminero AC, Castañé GG, Carretero J, Llorente IM. iCanCloud: A Flexible and Scalable Cloud Infrastructure Simulator.. J. Grid Comput. 2012; 10(1): 185-209.
  * 18 Kliazovich D, Bouvry P, Khan SU. GreenCloud: a packet-level simulator of energy-aware cloud computing data centers. J. Supercomput. 2012; 62(3): 1263–1283.  doi: 10.1007/s11227-010-0504-1
  * 19 Tighe M, Keller G, Bauer M, Lutfiyya H. DCSim: A data centre simulation tool for evaluating dynamic virtualized resource management. In: 2012 (pp. 385-392).
  * 20 Son J, Dastjerdi AV, Calheiros RN, Ji X, Yoon Y, Buyya R. CloudSimSDN: Modeling and Simulation of Software-Defined Cloud Data Centers. In: 2015 (pp. 475-484)
  * 21 Gupta H, Dastjerdi AV, Ghosh SK, Buyya R. iFogSim: A toolkit for modeling and simulation of resource management techniques in the Internet of Things, Edge and Fog computing environments. Softw. Pract. Exp. 2017; 47(9): 1275–1296.  doi: 10.1002/spe.2509
  * 22 Lopes MM, Higashino WA, Capretz MA, Bittencourt LF. MyiFogSim: A Simulator for Virtual Machine Migration in Fog Computing. In: UCC ’17 Companion. ACM. Association for Computing Machinery; 2017; New York, NY, USA: 47–52.
  * 23 Jha DN, Alwasel K, Alshoshan A, et al. IoTSim-Edge: A simulation framework for modeling the behavior of Internet of Things and edge computing environments. Softw. Pract. Exp. 2020; 50(6): 844–867.  doi: 10.1002/spe.2787
  * 24 Sotiriadis S, Bessis N, Asimakopoulou E, Mustafee N. Towards Simulating the Internet of Things. In: Barolli L, Li KF, Enokido T, Xhafa F, Takizawa M. , eds. 28th International Conference on Advanced Information Networking and Applications Workshops, AINA 2014 Workshops, Victoria, BC, Canada, May 13-16, 2014IEEE Computer Society. 2014 (pp. 444–448).