From 8ec8558874bbed3d7648d136b68188dbd2c095ab Mon Sep 17 00:00:00 2001
From: ORGERIE Anne-Cecile <anne-cecile.orgerie@inria.fr>
Date: Sun, 1 Sep 2019 16:57:04 +0200
Subject: version soumise

---
 2019-CloudCom.tex | 96 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 73 insertions(+), 23 deletions(-)

(limited to '2019-CloudCom.tex')

diff --git a/2019-CloudCom.tex b/2019-CloudCom.tex
index 6880238..4380b03 100644
--- a/2019-CloudCom.tex
+++ b/2019-CloudCom.tex
@@ -6,6 +6,7 @@
 \usepackage{graphicx}
 \usepackage{xcolor}
 \usepackage{multirow}
+\usepackage{amsmath}
 
 \author{\IEEEauthorblockN{Loic Guegan and
 Anne-C\'ecile Orgerie}
@@ -269,7 +270,7 @@ heating and cooling systems.
 
 \begin{figure}[htbp]
   \centering
-  \includegraphics[width=0.7\linewidth]{./plots/home.png}
+  \includegraphics[width=0.6\linewidth]{./plots/home.png}
   \caption{Overview of IoT devices.}
   \label{fig:IoTdev}
 \end{figure}
@@ -297,7 +298,7 @@ same time.
 
 \begin{figure}[htbp]
   \centering
-  \includegraphics[width=1.\linewidth]{./plots/parts2.png}
+  \includegraphics[width=.85\linewidth]{./plots/parts2.png}
   \caption{Overview of the IoT architecture.}
   \label{fig:parts}
 \end{figure}
@@ -378,7 +379,7 @@ typical round-trip latency of 100ms from the AP to the server~\cite{li_end--end_
 Each node from the AP to the Cloud 
 is a network switch with static and dynamic network energy consumption. The first 8
 hops are edge switches and the last one is consider to be a core router as mentioned 
-in~\cite{jalali_fog_2016}. ECOFEN~\cite{orgerie_ecofen:_2011} is used to model the energy
+in~\cite{jalali_fog_2016}. ECOFEN~\cite{orgerie_simulation_2017} is used to model the energy
 consumption of the network part. ECOFEN is an ns3 network energy module dedicated to wired
 networks. It is based on an energy-per-bit and energy-per-packet
 model for the dynamic energy consumption~\cite{sivaraman_profiling_2011,Serrano2015}, 
@@ -404,7 +405,7 @@ power consumption.
 
 \begin{figure}[htbp]
   \centering
-  \includegraphics[width=0.7\linewidth]{./plots/g5k-xp.png}
+  \includegraphics[width=0.6\linewidth]{./plots/g5k-xp.png}
   \caption{Grid'5000 experimental setup.}
   \label{fig:g5kExp}
 \end{figure}
@@ -447,19 +448,33 @@ This is due to the fact that in such a scenario with very small
 
 % Please add the following required packages to your document preamble:
 % \usepackage{booktabs}
-\begin{table*}[htbp]
+%\begin{table*}[htbp]
+%\centering
+%\caption{Sensors transmission interval effects with 15 sensors}
+%\label{tab:sensorsSendIntervalEffects}
+%\begin{tabular}{@{}lrrrrr@{}}
+%\toprule
+%Transmission Interval        & 10s            & 30s            & 50s       & 70s       & 90s      \\ \midrule
+%Sensor Power     & 13.517\hl{94}W & 13.517\hl{67}W & 13.51767W & 13.51767W & 13.517\hl{61}W \\
+%Network Power     & 0.441\hl{88}W & 0.441\hl{77}W & 0.44171W & 0.44171W & 0.441\hl{71}W \\
+%Application Delay & 0.09951s       & 0.10021s       & 0.10100s  & 0.10203s  & 0.10202s  \\ \bottomrule
+%\end{tabular}
+%\end{table*}
+
+\begin{table}[htbp]
 \centering
 \caption{Sensors transmission interval effects with 15 sensors}
 \label{tab:sensorsSendIntervalEffects}
-\begin{tabular}{@{}lrrrrr@{}}
+\begin{tabular}{@{}lrrr@{}}
 \toprule
-Transmission Interval        & 10s            & 30s            & 50s       & 70s       & 90s      \\ \midrule
-Sensor Power     & 13.517\hl{94}W & 13.517\hl{67}W & 13.51767W & 13.51767W & 13.517\hl{61}W \\
-Network Power     & 0.441\hl{88}W & 0.441\hl{77}W & 0.44171W & 0.44171W & 0.441\hl{71}W \\
-Application Delay & 0.09951s       & 0.10021s       & 0.10100s  & 0.10203s  & 0.10202s  \\ \bottomrule
+Transm. Interval & Sensor Power & Network Power & Application Delay \\ \midrule
+10s & 13.517\hl{94}W & 0.441\hl{88}W & 0.09951s \\
+30s & 13.517\hl{67}W & 0.441\hl{77}W & 0.10021s \\
+50s & 13.51767W      & 0.44171W      & 0.10100s \\
+70s & 13.51767W      & 0.44171W      & 0.10203s \\
+90s & 13.517\hl{61}W & 0.441\hl{71}W & 0.10202s \\ \bottomrule
 \end{tabular}
-\end{table*}
-
+\end{table}
 
    Previous work~\cite{li_end--end_2018} on a similar scenario shows that increasing application
    accuracy impacts strongly the energy consumption in the context of data stream analysis. However,
@@ -479,7 +494,7 @@ Consequently, sensors energy consumption is dominant, as each sensor adds its ow
 
 \begin{figure}[htbp]
   \centering
-  \includegraphics[width=0.9\linewidth]{./plots/numberSensors-WIFINET.png}
+  \includegraphics[width=0.65\linewidth]{./plots/numberSensors-WIFINET.png}
   \caption{Analysis of the variation of the number of sensors on the IoT/Network part energy consumption for a transmission interval of 10s.}
   \label{fig:sensorsNumber}
 \end{figure}
@@ -498,7 +513,7 @@ the PUE~\cite{Ehsan}.
 
 \begin{figure*}[htbp]
   \centering
-  \includegraphics[width=.7\linewidth]{./plots/vmSize-cloud.png}
+  \includegraphics[width=.6\linewidth]{./plots/vmSize-cloud.png}
   \caption{Server power consumption multiplied by the PUE (= 1.2) using 20 sensors sending data every 10s for various VM memory sizes}
   \label{fig:vmSize}
 \end{figure*}
@@ -514,7 +529,14 @@ consumption. However, the amount of allocated memory to the VM
 does not significantly influence the server energy consumption. In
 fact, simple database requests do not need any particular 
 heavy memory accesses and processing time. Thus, remaining experiments are based on VM with 1024MB
-of allocated memory.
+of allocated memory. 
+
+Here, for clarity's sake, we use VMs with one virtual CPU (i.e. one physical CPU core). 
+The influence of the number of core on the server' energy consumption has been widely 
+studied in the literature~\cite{heinrich_predicting_2017}. For a given application that scales
+smoothly when adding cores, the relation between number of cores and power consumption is
+linear. In other words, adding cores for the execution of a parallel application multiplies
+accordingly the dynamic energy consumption on the server part.
 
 Next, we study the effects of increasing the number of sensors on the server energy consumption.
 Figure~\ref{fig:sensorsNumber-server} presents the results of the average server energy
@@ -541,7 +563,7 @@ RAM). This model is detailed in Section~\ref{sec:discuss}.
 
 \begin{figure}[htbp]
   \centering
-    \includegraphics[width=0.7\linewidth]{./plots/sensorsNumberLine-cloud.png}
+    \includegraphics[width=0.55\linewidth]{./plots/sensorsNumberLine-cloud.png}
     \caption{Average server power consumption multiplied by the PUE (= 1.2) for sensors sending data every 10s}
     \label{fig:sensorsNumber-server}
 \end{figure}
@@ -549,7 +571,7 @@ RAM). This model is detailed in Section~\ref{sec:discuss}.
 
 \begin{figure}[htbp]
   \centering
-    \includegraphics[width=0.7\linewidth]{./plots/WPS-cloud.png}
+    \includegraphics[width=0.55\linewidth]{./plots/WPS-cloud.png}
     \caption{Average sensors power cost on the server hosting only our VM with PUE (= 1.2) for sensors sending data every 10s}
     \label{fig:sensorsNumber-WPS}
 \end{figure}
@@ -565,11 +587,15 @@ occur. Therefore, it leads to an increase of the server energy consumption.
 
 \begin{figure*}[htbp]
   \centering
-  \includegraphics[width=0.7\linewidth]{plots/sendInterval-cloud.png}
+  \includegraphics[width=0.6\linewidth]{plots/sendInterval-cloud.png}
   \caption{Server energy consumption multiplied by the PUE (= 1.2) for 50 sensors sending requests at different transmission interval.}
   \label{fig:sensorsFrequency}
 \end{figure*}
 
+In the next section, we use the hints detailed here and extracted from the
+real and simulated experiments in order to provide an end-to-end energy
+model that can be used for low-bandwidth IoT applications.
+
 \section{End-to-End Consumption Model}
 \label{sec:orgfd3b6ae}
 \label{sec:discuss}
@@ -597,7 +623,19 @@ consumption. Indeed, in our targeted low-bandwidth IoT application,
 the sensor is dedicated to this application. From Table~\ref{tab:params}, one can
 derive that the static power 
 consumption of one IoT sensor is around 0.9 Watts. Its dynamic part
-depends on the transmission frequency.
+depends on the transmission frequency. So the power consumption of an IoT device:
+\begin{footnotesize}
+\begin{align*}
+P^{IoTdevice} & = P_{static}^{IoT} + P_{dynamic}^{IoT}\\
+               & = \frac{P_{idle}\times (T - t_{RX}-t_{TX})}{T} + \frac{P_{RX}\times t_{RX} + P_{TX}\times t_{TX}}{T} 
+\end{align*}
+\end{footnotesize}
+
+where \(P_{static}^{IoT}\) and \(P_{dynamic}^{IoT}\) are respectively the static
+and dynamic power consumption of the IoT device, $t_{RX}$, $t_{TX}$, and $t_{idle}$ are
+the duration spent in each mode (receiving, transmitting and idle) and $P_{RX}$, $P_{TX}$, and $P_{idle}$ the
+respective power consumption of each mode, and $T$ is the transmission interval between
+two communications from the IoT device to the cloud server.
 
 Concerning the sharing of the network costs, for each router, we
 consider its aggregate bandwidth (on all the ports), its average
@@ -612,7 +650,7 @@ part as follows:
 
 where \(P_{static}^{device}\) is the static power consumption of the
 network device (switch fabrics for instance or gateway),
-\(Bandwidth^{application }\) Is the bandwidth used by our IoT application,
+\(Bandwidth^{application }\) is the bandwidth used by our IoT application,
 \(AggregateBandwidth^{device }\) is the overall aggregated bandwidth of the
 network device on all its ports, and \(LinkUtilization^{device}\) is the
 effective link utilization percentage. The \(Bandwidth^{application }\)
@@ -633,7 +671,6 @@ used in our formula to compute the values that we used in the
 simulations and that are presented in left part of Table~\ref{tab:params}. 
 
 
-
 \begin{table}[htbp]
   \centering
   \caption{Network Devices Parameters}
@@ -653,6 +690,13 @@ simulations and that are presented in left part of Table~\ref{tab:params}.
   \end{tabular}
 \end{table}
 
+The dynamic consumption of the network part includes a cost
+per packet and a cost per byte for each network device as detailed in~\cite{orgerie_simulation_2017}:
+\[P_{dynamic}^{netdevice} = \frac{P_{byte}^{device}\times NbBytes + P_{pkt}^{device} \times NbPkts}{T}\] 
+with $NbBytes$ and $NbPkts$ respectively the number of bytes and packets sent by the application
+during one transmission interval and \(P_{byte}^{device}\) and \(P_{pkt}^{device}\) the power consumption 
+per network device for each byte and each packet respectively.
+
 
 
 For the sharing of the Cloud costs, we take into account the number
@@ -686,7 +730,7 @@ the previous section.
 \begin{figure}[htbp]
   \centering
   \hspace{1cm}
-  \includegraphics[width=1.\linewidth]{plots/final.png}
+  \includegraphics[width=.9\linewidth]{plots/final.png}
   \label{fig:end-to-end}
   \caption{End-to-end network energy consumption using sensors interval of 10s}
 \end{figure}
@@ -741,13 +785,16 @@ periodically sending data to a Cloud server using WiFi,
 we propose an end-to-end energy consumption model. 
 This model provides insights on the hidden part of the iceberg: the
 impact of IoT devices on the energy consumption of Cloud and network
-infrastructures. On our use-case, we show that for a given sensor, its
+infrastructures.
+
+On our use-case, we show that for a given sensor, its
 larger energy consumption is on the sensor part. But the impact on the
 Cloud and network part is huge when using only few sensors with
 low-bandwidth applications.
 Consequently, with the
 IoT exploding growth, it becomes necessary to improve the energy
 efficiency of applications hosted on Cloud infrastructures and of IoT devices.
+
 Our future work includes studying other types of IoT wireless
 transmission techniques that would be more energy-efficient. We also
 plan to study other
@@ -755,6 +802,9 @@ IoT applications in order to increase the applicability of our model
 and provide advice for increasing the energy-efficiency of IoT infrastructures.
 
 
+\section*{Acknowledgments}
+Experiments presented in this paper were carried out using the Grid'5000 testbed, supported by a scientific interest group hosted by
+Inria and including CNRS, RENATER and several Universities as well as other organizations (see \url{https://www.grid5000.fr}).
 
 \bibliographystyle{IEEEtran}
 \bibliography{references}
-- 
cgit v1.2.3

