Update paper

This commit is contained in:
Loic Guegan 2019-05-22 15:13:52 +02:00
parent 8bdcd37ac4
commit 66b82c1c3e
5 changed files with 88 additions and 28 deletions

View file

@ -1 +0,0 @@
loic@lguegan.13218:1558336539

View file

@ -93,14 +93,14 @@ component, formatting, style, styling, insert
** Network Part
The network part represents the network starting from the AP to the Cloud excluding the server.
It is also model into ns-3. We consider the server to be 9 hops aways from the AP with a typical
It is also model into ns-3. We consider the server to be 9 hops away from the AP with a typical
round-trip latency of 100ms from the AP to the server. Each node from the AP to the Cloud is
assume to be network switches with static and dynamic network energy consumption. ECOFEN
\cite{orgerie_ecofen:_2011} is used to model the energy consumption of the network part. ECOFEN
is a ns-3 network energy module for ns-3 dedicated to wired network energy estimation. It is
based on an energy-per-bit model including static consumption by assuming a linear relation
between the amount of data sent to the network interface and the power consumption. The different
energy values used to instanciate the ECOFEN energy model for the network part are shown in Table
energy values used to instantiate the ECOFEN energy model for the network part are shown in Table
\ref{tab:net-energy} and come from previous work \cite{cornea_studying_2014-1}.
#+BEGIN_EXPORT latex
@ -123,7 +123,7 @@ component, formatting, style, styling, insert
nodes which are connected to watt-meters. In this way, we can benefit from real energy
measurements. The server used in the experiment is composed of Intel Xeon E5-2620 processor with
64 GB of RAM and 600GB of disk space on a Linux based distribution. This server is configured to
use KVM as virtualization mechanism. We deploy a classical Linux x86_64 disctribution on the
use KVM as virtualization mechanism. We deploy a classical Linux x86_64 distribution on the
Virtual Machines (VM) along with a MySQL database. We different amount of allocated memory for
the VM namely 1024MB/2048MB/4096MB to highlight its effects on the server energy consumption.
@ -134,29 +134,37 @@ component, formatting, style, styling, insert
* Evaluation [3 col]
** IoT/Network Consumption
In a first place, we first start by studying the impact of the sensors position on their energy
In a first place, we start by studying the impact of the sensors position on their energy
consumption. To this end, we run several simulations in ns-3 with different sensors position. The
results show that sensors position have a very low impact on the energy consumption and on the
application delay.
results provided by Figure \ref{fig:sensorsPos} show that sensors position have a very low impact
on the energy consumption and on the application delay. It has an impact of course but it is very
limited. This due to the fact that in such a scenario with very small number of communications
spread over the time, sensors don't have to contend for accessing to the Wifi channel.
#+BEGIN_EXPORT latex
\begin{figure}
\centering
\includegraphics[width=0.6\linewidth]{./plots/sensorsPosition-delayenergy.png}
\caption{Sensors Position}
\label{fig:sensorsPos}
\end{figure}
#+END_EXPORT
The number of sensors it the dominant factor that leverage the energy consumption of the
IoT/Network part. Therefore, we varied the number of sensors in the Wifi cell to analyze its
impact. The figure \ref{fig:sensorsNumber} represents the energy consumption of each simulated
part. It is clear that the energy consume by the network is the dominant part. However, since the
number of sensors is increasing the energy consume by the network will become negligible face to
the energy consume by the sensors.
#+BEGIN_EXPORT latex
\begin{figure}
\centering
\includegraphics[width=0.6\linewidth]{./plots/sensorsPosition-delayenergy.png}
\caption{Sensors Position}
\label{fig:sensorsPos}
\end{figure}
#+END_EXPORT
#+BEGIN_EXPORT latex
\begin{figure}
\label{fig:sensorsFrequency}
\caption{Sensors Sensing Frequency}
\includegraphics[width=0.6\linewidth]{./plots/numberSensors-WIFINET.png}
\caption{Sensors Number}
\label{fig:sensorsNumber}
\end{figure}
#+END_EXPORT
@ -328,12 +336,7 @@ component, formatting, style, styling, insert
simTime=1800
cbPalette <- c("#0000B0", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7")
# To use for fills, add
# To use for line and point colors, add
cbPalette <- c("#0000B0", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7")
# Load Data
data=read_csv("logs/ns3/last/data.csv")
@ -594,7 +597,65 @@ cbPalette <- c("#0000B0", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2",
#+RESULTS: mergeCSV
*** Final Plots
Figure Sensors Position ~ Energy/Delay
#+BEGIN_SRC R :noweb yes :results graphics :file plots/sensorsPosition-delayenergy.png
<<NS3-RUtils>>
simTime=1800
cbPalette <- c("#00AFBB", "#E7B800", "#FC4E07","#0abb00")
# Load Data
data=read_csv("logs/ns3/last/data.csv")
data=data%>%mutate(sensorsEnergyW=sensorsEnergy/simTime)
data%>%filter(simKey=="SENSORSPOS",sensorsNumber==10) %>% ggplot(aes(y=sensorsEnergyW,x=positionSeed,color="Energy"))+xlab(getLabel("Sensors Position Seed"))+ylab(getLabel("Sensors Energy Consumption (W)"))+
geom_line()+geom_point()+geom_line(aes(y=(avgDelay+5),color="Delay"))+geom_point(aes(y=(avgDelay+5),color="Delay"))+expand_limits(y=c(0,15))+scale_y_continuous(sec.axis = sec_axis(~.-5, name = "Application Delay (s)")) +theme_bw() + scale_fill_manual(values=cbPalette) + scale_colour_manual(values=cbPalette)+guides(color=guide_legend(title="Curves"))
ggsave("plots/sensorsPosition-delayenergy.png",dpi=80, width=4, height=3.2)
#+END_SRC
#+RESULTS:
[[file:plots/sensorsPosition-delayenergy.png]]
#+BEGIN_SRC R :noweb yes :results graphics :file plots/numberSensors-WIFINET.png :session *R*
<<NS3-RUtils>>
simTime=1800
cbPalette <- c("#00AFBB", "#E7B800", "#FC4E07","#0abb00")
# Load Data
data=read_csv("logs/ns3/last/data.csv")
data=data%>%filter(simKey=="NBSENSORS")
dataW=data%>%mutate(energy=sensorsEnergy/simTime)%>% mutate(type="Sensors") %>% select(sensorsNumber,energy,type)
dataN=data%>%mutate(energy=networkEnergy/simTime)%>% mutate(type="Network") %>% select(sensorsNumber,energy,type)
data=rbind(dataN,dataW)
data=data%>%mutate(sensorsNumber=as.character(sensorsNumber))
data=data%>%mutate(sensorsNumber=fct_reorder(sensorsNumber,as.numeric(sensorsNumber)))
data=data%>%filter(sensorsNumber%in%c(2,4,6,8,10))
ggplot(data)+geom_bar(aes(x=sensorsNumber,y=energy,fill=type),position="identity",stat="identity")+
theme_bw()+
theme(text = element_text(size=16))+
scale_fill_manual(values=cbPalette) + scale_colour_manual(values=cbPalette)+
xlab(getLabel("sensorsNumber"))+ ylab("Energy Consumption (W)") + guides(fill=guide_legend(title="")) +coord_flip()
size=5
ggsave("plots/numberSensors-WIFINET.png",dpi=90,width=size,height=size-1)
#+END_SRC
#+RESULTS:
[[file:plots/numberSensors-WIFINET.png]]
#+BEGIN_SRC R :noweb yes :results graphics :file plots/final.png :session *R*
library("tidyverse")

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before After
Before After