commit 610b40cdffd06f68c2ff3b1bb87cd7c17dde8603
Author: Laurent Lefevre <laurent.lefevre@ens-lyon.fr>
Date:   Thu Jul 24 15:46:23 2014 +0200

    jout laurent

diff --git a/papers/2014/kwapi/cloudam2014.tex b/papers/2014/kwapi/cloudam2014.tex
index b2fdd4b..db4420d 100755
--- a/papers/2014/kwapi/cloudam2014.tex
+++ b/papers/2014/kwapi/cloudam2014.tex
@@ -49,7 +49,7 @@ University of Lyon, France}
 
 
 \begin{abstract}
-Although cloud computing has been transformational in the IT industry, it often relies on large data centres that consume massive amounts of electrical power. Efforts have been made to reduce the power consumed by Clouds, with certain data centres now approaching a PUE factor of 1.08. That means that the IT infrastructure is now responsible for a large amount of the power a data centre consumes, and hence means to monitor and analyse how energy is spent have never been so crucial. Such monitoring is required for a better understanding of how power is consumed by the IT infrastructure and for assessing the impact of energy management policies. In this article, we draw some lessons from previous experience in monitoring large-scale systems and introduce an energy monitoring software framework called Kwapi. The framework supports several wattmeter devices, multiple measurement formats, and reduces communication overhead. Kwapi architecture is scalable and extensible, and interfaces with OpenStack Ceilometer.
+Although cloud computing has been transformational in the IT industry, it often relies on large data centres that consume massive amounts of electrical power. Efforts have been made to reduce the power consumed by Clouds, with certain data centres now approaching a PUE factor of 1.08. That means that the IT infrastructure is now responsible for a large amount of the power a data centre consumes, and hence means to monitor and analyse how energy is spent have never been so crucial. Such monitoring is required for a better understanding of how power is consumed by the IT infrastructure and for assessing the impact of energy management policies. In this article, we draw some lessons from previous experience in monitoring large-scale systems and introduce an energy monitoring software framework called Kwapi. The framework supports several wattmeter devices, multiple measurement formats, and reduces communication overhead. Kwapi architecture is scalable and extensible and completly integrated within  OpenStack.
 
 \end{abstract}
 
@@ -62,11 +62,11 @@ Although cloud computing has been transformational in the IT industry, it often
 
 Cloud computing \cite{ArmbrustCloud:2009} has become a key building block in providing IT resources and services to organisations of all sizes. Amongst its claimed benefits, the most appealing derive from economies of scale and often include a pay-as-you-go business model, resource consolidation, elasticity, good availability, and wide geographical coverage. Despite the advantages when compared to other provisioning models, to serve customers with the resources they need Clouds often rely on large data centres that consume massive amounts of electrical power \cite{BaligaInternet:2011}.
  
-Numerous efforts have been made to curb the energy consumed by Clouds, with some data centres now approaching a Power Usage Effectiveness (PUE) factor of 1.08\footnote{http://gigaom.com/2012/03/26/whose-data-centers-are-more-efficient-facebooks-or-googles/}. As a result, the IT infrastructure is now responsible for a large share of the power consumed by current data centres, and hence means to monitor and analyse how energy is spent have never been so crucial. Our experience in this area, however, has demonstrated that monitoring the power consumed by large systems is not always an easy task \cite{OrgerieSaveWatts:2008,AssuncaoIngrid:2010,DaCostaGreenNet:2010}. There are multiple power probes available in the market, generally with their own APIs, physical connections, precision, and communication protocols. Moreover, cost related constraints can lead to decisions to acquire and deploy equipments at multiple stages or to monitor the power consumption of only part of the infrastructure.
+Numerous efforts have been made to curb the energy consumed by Clouds, with some data centres now approaching a Power Usage Effectiveness (PUE) factor of 1.08\footnote{http://gigaom.com/2012/03/26/whose-data-centers-are-more-efficient-facebooks-or-googles/}. As a result, the IT infrastructure is now responsible for a large share of the power consumed by current data centres, and hence means to monitor and analyse how energy is spent have never been so crucial. Our experience in this area, however, has demonstrated that monitoring the power consumed by large systems is not always an easy task \cite{OrgerieSaveWatts:2008,AssuncaoIngrid:2010,DaCostaGreenNet:2010}. There are multiple power probes available in the market, generally with their own APIs, physical connections, precision, and communication protocols\cite{eelsd2013}. Moreover, cost related constraints can lead to decisions to acquire and deploy equipments at multiple stages or to monitor the power consumption of only part of the infrastructure.
 
 Although from a cost perspective, monitoring the power consumption of only part of deployed equipments is sound, it prevents one from capturing certain nuances of the infrastructure. Previous work has shown that as a computer cluster ages, certain components wear out, while others are replaced, leading to heterogeneous power consumption among nodes that were seemingly homogeneous. The difference between nodes that consume the least power and nodes that consume the most can reach 20\% \cite{MehdiHeterogeneous:2013}, which reinforces the idea that monitoring the consumption of the whole set of IT equipments can allow for further improvements in energy efficiency. Monitoring a great number of nodes, however, require the design of an efficient infrastructure for collecting and processing the power consumption data.
 
-This paper describes the design and architecture of a generic and flexible framework, termed as Kwapi, that interfaces with OpenStack to provide it with power consumption information collected from multiple probes. OpenStack is project that aims to provide ubiquitous open source cloud computing platform and is currently used by many corporations, researchers and global data centres\footnote{http://www.openstack.org/user-stories/}. We believe that integration of power monitoring framework with Ceilometer\footnote{https://wiki.openstack.org/wiki/Ceilometer}, OpenStack's main infrastructure for monitoring and metering, can be of great value to the research community and practitioners.
+This paper describes the design and architecture of a generic and flexible framework, termed as Kwapi ("Kilo-watt API"), that interfaces with OpenStack to provide it with power consumption information collected from multiple probes. OpenStack is project that aims to provide ubiquitous open source cloud computing platform and is currently used by many corporations, researchers and global data centres\footnote{http://www.openstack.org/user-stories/}. We believe that integration of power monitoring framework with Ceilometer\footnote{https://wiki.openstack.org/wiki/Ceilometer}, OpenStack's main infrastructure for monitoring and metering, can be of great value to the research community and practitioners.
 
 The remaining part of this paper is organised as follows. Section~\ref{sec:related_work} describes related work, Section~\ref{sec:architecture} presents the requirements and introduces the Kwapi architecture. Section~\ref{sec:performance} discusses experimental results measuring the throughput of drivers and plug-ins and Section~\ref{sec:conclusion} concludes the paper. 
 
@@ -83,7 +83,7 @@ In our work we aim to draw some lessons from previous approaches to monitor and
 
 % ----------------------------------------------------------------------------------------
 
-\section{Requirements and Proposed Architecture}
+\section{The Kwapi Architecture}
 \label{sec:architecture}
 
 Depending on the number of monitored devices and the frequency at which measurements are taken, wattmeters can generate a large amount of data, which requires storage capacity for further processing and analysis. Although storing and performing pre-processing locally in the monitored nodes if often an approach followed by certain management systems, such an approach poses a few challenges when measuring power consumption; it can impact on the CPU utilisation and hence influence in the power consumed by the nodes, and depending on the power management policy in place, unused nodes may be switched off or set to stand by mode to save energy. Centralised storage, on the other hand, allows for faster access and processing of data, but can generate more network traffic given that all measurements need to be transferred continuously over the network to be stored. Once stored in a central repository, this data can be easily retrieved by components like OpenStack's Ceilometer.
@@ -98,11 +98,11 @@ The type of used interconnection is often either Ethernet to transport IPMI or S
 \item methodology applied to each measurement (\textit{e.g.} mean value between several measurements, instantaneous values, and exponential moving averages).
 \end{itemize}
 
-As an example, Table \ref{tab:wattmeters} shows the characteristics of some of the devices we had the chance to evaluate on our data centres.
+As an example, Table \ref{tab:wattmeters} shows the characteristics of energy sensors infrastructure that we deploy and evaluate on our data centres.
 
 \begin{table}
 \centering
-\caption{Wattmeters available in our environment.}
+\caption{Wattmeters infrastructure}
 \label{tab:wattmeters}
 \begin{footnotesize}
 \begin{tabular}{llcc}
@@ -110,13 +110,13 @@ As an example, Table \ref{tab:wattmeters} shows the characteristics of some of t
 \multirow{2}{18mm}{\textbf{Device Name}} & \multirow{2}{30mm}{\textbf{Interface}} & \multirow{2}{12mm}{\centering{\textbf{Refresh Time (s)}}} & \multirow{2}{10mm}{\centering{\textbf{Precision (W)}}}  \\
 & & & \\
 \toprule
-Eaton          & Serial, SNMP via Ethernet & 5    & 1 \\
+Dell iDrac6    & IPMI / Ethernet           & 5    & 7 \\
 \midrule
-Schleifenbauer & SNMP via Ethernet         & 3    & 0.1 \\
+Eaton          & Serial, SNMP via Ethernet & 5    & 1 \\
 \midrule
 OmegaWatt      & IrDA Serial               & 1    & 0.125 \\
 \midrule
-Dell iDrac6    & IPMI / Ethernet           & 5    & 7 \\
+Schleifenbauer & SNMP via Ethernet         & 3    & 0.1 \\
 \midrule
 Watts Up?      & Proprietary via USB       & 1    & 0.1 \\
 \midrule
@@ -192,6 +192,14 @@ A plug-in retrieves and processes measurements taken by the drivers and provided
 \label{fig:graph_example}
 \end{figure}
 
+\begin{figure*}[!ht]
+\center
+\includegraphics[width=2\columnwidth]{figs/kwapi_interface.png}
+\caption{Kwapi interface with 4 monitored servers}
+\label{kwapi_interface}
+\end{figure*}
+
+
 \subsubsection{Internal communication bus}
 
 Kwapi uses ZeroMQ\footnote{http://zeromq.org/}, a fast broker-less messaging framework, written in C++, where transmitters play the role of buffers. ZeroMQ supports a wide range of bus modes, including cross-thread communication, IPC, and TCP. Switching from one to another is straightforward. It also provides several design patterns such as publish/subscribe, and request/response. In our architecture, we use a publish/subscribe design pattern where drivers are publishers, and plug-ins are subscribers. Amongst them, one or more forwarders simply forward packets, and broadcast a packet to all plug-ins subscribed to receive information from a given probe. Thanks to the forwarders, the network usage is optimised because the packets generated by a driver are sent only once, regardless the number of plug-ins that listen to a probe. If a probe is not listened by any plug-in, its measurements are neither sent over the network nor to the first forwarder. The forwarders not only reduce dramatically the network usage, but allow to build flexible architectures, by bypassing network isolation problems, or doing load balancing.
@@ -248,7 +256,8 @@ As mentioned earlier, plug-ins can subscribe and select probes from which they w
 \section{Conclusion}
 \label{sec:conclusion}
 
-In this paper, we described a framework for monitoring the power consumed by resources of a data centre. Based on lessons learned by monitoring the power consumption of a Grid infrastructure, we described the main user requirements and how they are met by the proposed architecture. The framework works in tandem with OpenStack's ceilometer. Experimental results demonstrate that the overhead posed by the monitoring framework is small, allowing us to serve the users' monitoring needs in our infrastructure.
+In this paper, we described a framework for monitoring the power consumed by resources of a data centre. Based on lessg
+ons learned by monitoring the power consumption of a large distributed infrastructure, we described the main user requirements and how they are met by the proposed architecture. The framework works in tandem with OpenStack's ceilometer. Experimental results demonstrate that the overhead posed by the monitoring framework is small, allowing us to serve the users' monitoring needs in our infrastructure.
 
 As future work, we intend to explore means to increase the monitoring granularity and the number of measured devices by applying a hierarchy of plug-ins, and a stream processing system \footnote{https://storm.incubator.apache.org}$^,$\footnote{http://incubator.apache.org/s4/} for processing sterams of measurement tuples.     
 
