Merge branch 'master' of gitlab.inria.fr:lguegan/paper-lowrate-iot

This commit is contained in:
Loic Guegan 2019-12-05 13:07:52 +01:00
commit cf27e4a3ef

View file

@ -66,7 +66,7 @@ This increase in number of devices implies an increase in the energy
needed to manufacture and utilize them. Yet, the overall energy bill
of IoT also comprises indirect costs, as it relies on computing and
networking infrastructures that consume energy to enable smart
services. Indeed, IoT devices communicate with Cloud computing
services. Indeed, IoT devices employ Cloud computing
infrastructures to store, analyze and share their data.
In February 2019, a report by Cisco stated that ``IoT connections will
@ -82,7 +82,7 @@ the iceberg: their use induce energy costs in communication and cloud
infrastructures. In this paper, we estimate the overall energy
consumption of an IoT device environment by combining simulations and
real measurements. We focus on a given application with low bandwidth
requirement and we evaluate its overall energy consumption: from the
requirements, and we evaluate its overall energy consumption: from the
device, through telecommunication networks, and up to the Cloud data
center hosting the application. From this analysis, we derive an
end-to-end energy consumption model that can be used to assess the
@ -260,6 +260,8 @@ application. While the derived model is more generic, we focus on a
given application to obtain a precise use-case with accurate power
consumption measurements.
\subsection{IoT device side}
The Google Nest Thermostat relies on five sensors: temperature,
humidity, near-field activity, far-field activity and ambient
light~\cite{Nest}. Periodical measurements, sent through wireless
@ -284,6 +286,8 @@ home. We consider low-bandwidth applications where devices produces
several network packets during each sensing period. The transmitting
frequency can vary from one to several packet sent per minute~\cite{Cisco2019}.
\subsection{Cloud server side}
We consider that the link between the AP and the Cloud is composed of
several network switches and routers using Ethernet as shown in
Figure~\ref{fig:parts}. The number of routers on the path depends on the
@ -303,6 +307,14 @@ same time.
\label{fig:parts}
\end{figure}
The Cloud part of the application gathers the data sent by the IoT
devices. These data are treated either on the fly (e.g. threshold
detection) or periodically, and action commands are sent back to the
device if required. For instance, if the user has set a targeted
temperature, the connected thermostat sends the measured
temperature regularly, and once the target is reached, the Cloud server detects
it, and sends back to the IoT device the command to pause the heater.
In the following, we describe the experimental setup, the results and
the derived end-to-end model. For all these steps, we decompose the overall
IoT architecture into three parts: the IoT device part, the networking
@ -432,9 +444,17 @@ if they are known, or estimated from specific energy models.
\label{sec:org8201f68}
\label{sec:eval}
In this section, we analyze the experimental results. All the experiments
concerning IoT devices and network parts (Table~\ref{tab:sensorsSendIntervalEffects}
and Figure~\ref{fig:sensorsNumber})
are based on simulations using ns3,
while all the experiments on Cloud servers (Figures~\ref{fig:vmSize}, \ref{fig:sensorsNumber-server}, \ref{fig:sensorsFrequency},
and~\ref{fig:sensorsNumber-WPS})
are real measurements performed on
the Grid'5000 experimental platform.
\subsection{IoT and Network Power Consumption}
\label{sec:org1d05c1b}
In this section, we analyze the experimental results.
In a first place, we start by studying the impact of the sensors' transmission frequency on their
energy consumption. To this end, we run several simulations in ns3 with 15 sensors using
different transmission frequencies. The results provided by
@ -494,7 +514,7 @@ Consequently, sensors energy consumption is dominant, as each sensor adds its ow
\begin{figure}[htbp]
\centering
\includegraphics[width=0.65\linewidth]{./plots/numberSensors-WIFINET.png}
\includegraphics[width=0.75\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}
@ -512,10 +532,19 @@ It means that the power consumption of the server is multiplied by
the PUE~\cite{Ehsan}.
\begin{figure*}[htbp]
\begin{minipage}[t]{0.65\textwidth}
\centering
\includegraphics[width=.6\linewidth]{./plots/vmSize-cloud.png}
\includegraphics[width=.9\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{minipage}
\hspace{0.5cm}
\begin{minipage}[t]{0.27\textwidth}
\centering
\includegraphics[width=1.\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{minipage}
\end{figure*}
@ -561,20 +590,6 @@ model will in fact share the static power consumption of the server
among the VMs it can host, depending on their VM size (allocated CPU and
RAM). This model is detailed in Section~\ref{sec:discuss}.
\begin{figure}[htbp]
\centering
\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}
\begin{figure}[htbp]
\centering
\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}
A last parameter can leverage server energy consumption, namely
sensors transmission interval. In addition
@ -586,12 +601,22 @@ interval is, the more server energy consumption peaks
occur. Therefore, it leads to an increase of the server energy consumption.
\begin{figure*}[htbp]
\begin{minipage}[t]{0.65\textwidth}
\centering
\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.}
\includegraphics[width=0.9\linewidth]{plots/sendInterval-cloud.png}
\caption{Server power consumption multiplied by the PUE (= 1.2) for 50 sensors sending requests at different transmission interval.}
\label{fig:sensorsFrequency}
\end{minipage}
\hspace{0.5cm}
\begin{minipage}[t]{0.27\textwidth}
\centering
\includegraphics[width=1.\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{minipage}
\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.
@ -604,7 +629,9 @@ To have an overview of the energy consumed by the overall system, it is importan
end-to-end energy consumption.
We detail here the model used to attribute the energy
consumption of our application for each part of the
architecture. For a given IoT device, we have:
architecture.
For a given IoT device, we have:
\begin{enumerate}
\item For the IoT part, the entire consumption of the IoT device
belongs to the system's accounted consumption.
@ -618,12 +645,14 @@ server belongs to a data center and takes part in the overall
energy drawn to cool the server room.
\end{enumerate}
Concerning the IoT part, we include the entire IoT device power
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. So the power consumption of an IoT device:
\begin{footnotesize}
\begin{align*}
P^{IoTdevice} & = P_{static}^{IoT} + P_{dynamic}^{IoT}\\