Index: papers/SMPaT-2012_DCWoRMS/elsarticle-DCWoRMS.tex
===================================================================
--- papers/SMPaT-2012_DCWoRMS/elsarticle-DCWoRMS.tex	(revision 1068)
+++ papers/SMPaT-2012_DCWoRMS/elsarticle-DCWoRMS.tex	(revision 1069)
@@ -174,9 +174,9 @@
 %Furthermore, available power supply is usually limited so it also may reduce data center development capabilities, especially looking at challenges related to exascale computing breakthrough foreseen within this decade.
 
-For these reasons many efforts were undertaken to measure and study energy efficiency of data centers. There are projects focused on data center monitoring and management \cite{games}\cite{fit4green} whereas others on  energy efficiency of networks \cite{networks}. Additionally, vendors offer a wide spectrum of energy efficient solutions for computing and cooling \cite{sgi}\cite{colt}\cite{ecocooling}. However, a variety of solutions and configuration options can be applied planning new or upgrading existing data centers.
+For these reasons many efforts were undertaken to measure and study energy efficiency of data centers. There are projects focused on data center monitoring and management \cite{games}\cite{fit4green} whereas others on  energy efficiency of networks \cite{networks} or distributed computing infrastructures, like grids \cite{fit4green_carbon_scheduler}. Additionally, vendors offer a wide spectrum of energy efficient solutions for computing and cooling \cite{sgi}\cite{colt}\cite{ecocooling}. However, a variety of solutions and configuration options can be applied planning new or upgrading existing data centers.
 In order to optimize a design or configuration of data center we need a thorough study using appropriate metrics and tools evaluating how much computation or data processing  can be done within given power and energy budget and how it affects temperatures, heat transfers, and airflows within data center. 
 Therefore, there is a need for simulation tools and models that approach the problem from a perspective of end users and take into account all the factors that are critical to understanding and improving the energy efficiency of data centers, in particular, hardware characteristics, applications, management policies, and cooling.
 These tools should support data center designers and operators by answering questions how specific application types, levels of load, hardware specifications, physical arrangements, cooling technology, etc. impact overall data center energy efficiency. 
-There are various tools that allow simulation of computing infrastructures. On one hand they include advanced packages for modeling heat transfer and energy consumption in data centers \cite{ff} or tools concentrating on their financial analysis \cite{DCD_Romonet}. On the other hand, there are simulators focusing on computations such as CloudSim \cite{CloudSim}. The CoolEmAll project aims to integrate these approaches and enable advanced analysis of data center efficiency taking into account all these aspects \cite{e2dc12}\cite{coolemall}.
+There are various tools that allow simulation of computing infrastructures, like SimGrid\cite{SimGrid}. On one hand they include advanced packages for modeling heat transfer and energy consumption in data centers \cite{ff} or tools concentrating on their financial analysis \cite{DCD_Romonet}. On the other hand, there are simulators focusing on computations such as CloudSim \cite{CloudSim}. The CoolEmAll project aims to integrate these approaches and enable advanced analysis of data center efficiency taking into account all these aspects \cite{e2dc12}\cite{coolemall}.
 
 One of the results of the CoolEmAll project is the Data Center Workload and Resource Management Simulator (DCworms) which enables modeling and simulation of computing infrastructures to estimate their performance, energy consumption, and energy-efficiency metrics for diverse workloads and management policies.
@@ -200,5 +200,5 @@
 In terms of application modeling, all tools, except DCSG Simulator, describe the application with a number of computational and communicational requirements. In addition, GreenCloud and DCworms allow introducing the QoS requirements by taking into account the time constraints during the simulation. DCSG Simulator instead of modeling of the single application, enables the definition of workload that leads to a given utilization level. However, only DCworms supports application performance modeling by not only incorporating simple requirements that are taken into account during scheduling, but also by allowing specification of task execution time.
 
-GreenCloud, CloudSim and DCworms are released as Open Source under the GPL. DCSG Simulator is available under an OSL V3.0 open-source license, however, it can be only accessed by the DCSG members.
+GreenCloud, CloudSim and DCworms are released as Open Source under the GPL. DCSG Simulator is available under the OSL V3.0 open-source license, however, it can be only accessed by the DCSG members.
 
 Summarizing, DCworms stands out from other tools due to the flexibility in terms of data center equipment and structure definition.
@@ -210,5 +210,5 @@
 
 Data Center workload and resource management simulator (DCworms) is a simulation tool based on the GSSIM framework \cite{GSSIM} developed by Poznan Supercomputing and Networking Center (PSNC).
-GSSIM has been proposed to provide an automated tool for experimental studies of various resource management and scheduling strategies in distributed computing systems. DCworms extends its basic functionality and adds some additional features related to the energy efficiency issues in data centers. In this section we will introduce the functionality of the simulator, in terms of modeling and simulation of large scale distributed systems like Grids and Clouds.
+GSSIM has been proposed to provide an automated tool for experimental studies of various resource management and scheduling strategies in distributed computing systems. DCworms extends its basic functionality and adds some additional features related to the energy efficiency issues in data centers. In this section we will introduce the functionality of the simulator, in terms of modeling and simulation of data centers.
 
 
@@ -222,5 +222,6 @@
 \end{figure}
 
-DCworms is an event-driven simulation tool written in Java. In general, input data for the DCworms consist of workload and resources descriptions. They can be provided by the user, read from real traces or generated using the generator module. In this terms DCworms benefits from the GSSIM workload generator tool that allows creating synthetic workloads (\cite{GSSIM}). However, the key elements of the presented architecture are plugins. They allow the researchers to configure and adapt the simulation environment to the peculiarities of their studies, starting from modeling job performance, through energy estimations up to implementation of resource management and scheduling policies. Each plugin can be implemented independently and plugged into a specific experiment. Results of experiments are collected, aggregated, and visualized using the statistics module. Due to a modular and plug-able architecture DCworms can be applied to specific resource management problems and address different usersâ requirements.
+DCworms is an event-driven simulation tool written in Java. In general, input data for the DCworms consist of workload and resource descriptions. They can be provided by the user, read from real traces or generated using the generator module. In this terms DCworms benefits from the GSSIM workload generator tool that allows creating synthetic workloads (\cite{GSSIM}). However, the key elements of the presented architecture are plugins. They allow the researchers to configure and adapt the simulation environment to the peculiarities of their studies, starting from modeling job performance, through energy estimations up to implementation of resource management and scheduling policies. Each plugin can be implemented independently and plugged into a specific experiment. Afterwards, politics introduced by particular plugins are applied to a given set of tasks and resources and are triggered by each change of simulated environment state. Results of experiments are collected, aggregated, and visualized using the statistics module. The output of each simulation consists of a number of statistics created to help in
+comparative evaluations of resource and workload management policies. Due to a modular and plug-able architecture DCworms can be applied to specific resource management problems and address different usersâ requirements.
 
 
@@ -333,5 +334,5 @@
   \item network parameters
 \end{itemize}
-Using these parameters developers can for instance take into account the architectures of the underlying systems, such as multi-core processors, and their impact on the final performance of applications.
+Using these parameters developers can for instance take into account the architectures of the underlying systems, such as multi-core processors, and their impact on the final performance of applications. Examples of application performance modeling in DCworms are shown in \cite{GSSIM}.
 
 
@@ -339,5 +340,5 @@
 \section{Modeling of energy consumption in DCworms}
 
-DCworms is an open framework in which various models and algorithms can be investigated as presented in Section \ref{sec:apps}. In this section, we discuss possible approaches to modeling that can be applied to simulation of energy-efficiency of distributed computing systems. In general, to facilitate the simulation process, DCworms provides some basic implementation of power consumption, air throughput and thermal models. We introduce power consumption models as examples and validate part of them by experiments in real computing system (in Section \ref{sec:experiments}).  Description of thermal models and corresponding experiments was presented in \cite{e2dc13}.
+DCworms is an open framework in which various models and algorithms can be investigated as presented in Section \ref{sec:apps}. In this section, we discuss possible approaches to modeling that can be applied to simulation of energy-efficiency of distributed computing systems. In general, to facilitate the simulation process, DCworms provides some basic implementation of power consumption, air throughput and thermal models. We introduce power consumption models as examples and validate part of them by experiments in real computing system (in Section \ref{sec:experiments}). Description of thermal models and corresponding experiments was presented in \cite{e2dc13}.
 
 The most common questions explored by researchers who study energy-efficiency of distributed computing systems is how much energy $E$ do these systems require to execute workloads. In order to obtain this value the simulator must calculate values of power $P_i(t)$ and load $L_i(t)$ in time for all $m$ computing nodes, $i=1..m$. Load function may depend on specific load models applied. In more complex cases it can even be defined as vectors of different resource usage in time. In a simple case load can be either idle or busy but even in this case estimation of job processing times $p_j$ is needed to calculate total energy consumption. The total energy consumption of computing nodes is given by (\ref{eq:E}):
@@ -513,72 +514,4 @@
 
 
-\subsection{Models}\label{sec:models}
-
-Based on the measured values we evaluated three types of models that can be applied, among others, to the simulation environment.
-
-\textbf{Static}
-This model refers to the static approach presented in Section~\ref{sec:power}. According to the measured values we created a resource power consumption model that is based on a static definition of resource power usage. 
-%With each node power state, understood as a possible operating state (p-state), we associated a power consumption value that derives from the averaged values of measurements obtained for different types of application. Therefore, the current power usage of the node, can be expressed as: $P = P_{idle} + P_{f}$ where $P$ denotes power consumed by the node, $P_{idle}$ is a power usage of node in idle state and $P_{f}$ stands for power usage of CPU operating at the given frequency level.
-
-\textbf{Dynamic}
-This model refers to the Resource load approach presented in Section~\ref{sec:power}. Based on the measured values of the total node power usage for various levels of load and frequencies of CPUs node power usage was defined as in \ref{eq:model}.
-
-%and referring to the existing models presented in literature, we assumed the following equation: $P = P_{idle} + load*P_{cpubase}*c^{(f-f_{base})/100} + P_{app}$, where $P$ denotes power consumed by the node executing the given application, $P_{idle}$ is a power usage of node in idle state, load is the current utilization level of the node, $P_{cpubase}$ stands for power usage of fully loaded CPU working in the lowest frequency, $c$ is the constant factor indicating the increase of power consumption with respect to the frequency increase $f$- is a current frequency, $f_{base}$- is the lowest available frequency within the given CPU and $P_{app}$ denotes the additional power usage derived from executing a particular application).
-
-
-Table~\ref{nodeBasePowerUsage} and Table~\ref{appPowerUsage} contain values of $P_{cpubase}$ and $P_{app}$, respectively, obtained for the particular application and resource architectures. Lack of the corresponding value means that the application did not run on the given type of node.
-\begin {table}[h!]
-\centering
-\begin{tabular}{lccc}
-\hline
-Intel I7 & AMD Fusion  & Atom D510  \\
-\hline
- 8 & 2 & 1 \\
-\hline
-\end{tabular}
-\caption {\label{nodeBasePowerUsage} $P_{cpubase}$ values in Watts}
-\end {table}
-
-
-\begin {table}[h!]
-\centering
-\begin{tabular}{l|ccc}
-\hline
- & \multicolumn{3}{c} {Node type}\\ 
-Application & Intel I7 & AMD Fusion  & Atom D510  \\
-\hline
-Abinit & 3.3 &  - &  - \\
-Linpactiny & 2.5 & - & 0.2 \\
-Linpack3gb &  6 &  -  & -  \\
-C-Ray & 4 & 1 & 0.05 \\
-FFT & 3.5 & 2 & 0.1 \\
-Tar & 3 & 2.5 & 0.5 \\
-
-\hline
-\end{tabular}
-\caption {\label{appPowerUsage} $P_{app}$ values in Watts}
-\end {table}
-
-
-\textbf{Mapping}
-This model refers to the Application specific approach presented in Section~\ref{sec:power}. However, in this model we applied the measured values for each application exactly to the power model. Neither dependencies with load nor application profiles are modeled. Obviously this model is contaminated only with the inaccuracy of the measurements and variability of power usage (caused by other unmeasured factors).
-	
-The following table (Table~\ref{expPowerModels}) contains the relative errors of the models with respect to the measured values
-\begin {table}[h!]
-\centering
-\begin{tabular}{llr}
-\hline
-Static & Dynamic  & Mapping \\
-\hline
-13.74 & 10.85 & 0 \\
-\hline
-\end{tabular}
-\caption {\label{expPowerModels} Power models error in \%}
-\end {table}
-
-Obviously, 0\% error in the case of the Mapping model is caused by the use of a tabular data, which for each application stores a specific power usage. Nevertheless, in all models we face possible deviations from the average caused by power usage fluctuations not explained by variables used in models. These deviations reached around 7\% for each case.
-
-For the experimental purposes we decided to use the latter model. Thus, we introduce into the simulation environment exact values obtained within our testbed, to build both the power profiles of applications as well as the application performance models, denoting their execution times.
-
 
 \subsection{Methodology}
@@ -622,5 +555,76 @@
 In all cases we assumed that tasks are scheduled and served in order of their arrival (FIFO strategy) using relaxed backfilling approach, with indefinite delay for the highest priority task. Moreover, all tasks were assigned to nodes with the condition that they can be assigned only to nodes of the type on which the application was able to run (in other words - we had the corresponding value of power consumption and execution time). 
 
-\subsection{Computational analysis}
+
+\subsection{Models}\label{sec:models}
+
+Based on the measured values we evaluated three types of models that can be applied, among others, to the simulation environment.
+
+\textbf{Static}
+This model refers to the static approach presented in Section~\ref{sec:power}. According to the measured values we created a resource power consumption model that is based on a static definition of resource power usage. 
+%With each node power state, understood as a possible operating state (p-state), we associated a power consumption value that derives from the averaged values of measurements obtained for different types of application. Therefore, the current power usage of the node, can be expressed as: $P = P_{idle} + P_{f}$ where $P$ denotes power consumed by the node, $P_{idle}$ is a power usage of node in idle state and $P_{f}$ stands for power usage of CPU operating at the given frequency level.
+
+\textbf{Dynamic}
+This model refers to the Resource load approach presented in Section~\ref{sec:power}. Based on the measured values of the total node power usage for various levels of load and frequencies of CPUs node power usage was defined as in \ref{eq:model}.
+
+%and referring to the existing models presented in literature, we assumed the following equation: $P = P_{idle} + load*P_{cpubase}*c^{(f-f_{base})/100} + P_{app}$, where $P$ denotes power consumed by the node executing the given application, $P_{idle}$ is a power usage of node in idle state, load is the current utilization level of the node, $P_{cpubase}$ stands for power usage of fully loaded CPU working in the lowest frequency, $c$ is the constant factor indicating the increase of power consumption with respect to the frequency increase $f$- is a current frequency, $f_{base}$- is the lowest available frequency within the given CPU and $P_{app}$ denotes the additional power usage derived from executing a particular application).
+
+
+Table~\ref{nodeBasePowerUsage} and Table~\ref{appPowerUsage} contain values of $P_{cpubase}$ and $P_{app}$, respectively, obtained for the particular application and resource architectures. Lack of the corresponding value means that the application did not run on the given type of node.
+\begin {table}[h!]
+\centering
+\begin{tabular}{lccc}
+\hline
+Intel I7 & AMD Fusion  & Atom D510  \\
+\hline
+ 8 & 2 & 1 \\
+\hline
+\end{tabular}
+\caption {\label{nodeBasePowerUsage} $P_{cpubase}$ values in Watts}
+\end {table}
+
+
+\begin {table}[h!]
+\centering
+\begin{tabular}{l|ccc}
+\hline
+ & \multicolumn{3}{c} {Node type}\\ 
+Application & Intel I7 & AMD Fusion  & Atom D510  \\
+\hline
+Abinit & 3.3 &  - &  - \\
+Linpactiny & 2.5 & - & 0.2 \\
+Linpack3gb &  6 &  -  & -  \\
+C-Ray & 4 & 1 & 0.05 \\
+FFT & 3.5 & 2 & 0.1 \\
+Tar & 3 & 2.5 & 0.5 \\
+
+\hline
+\end{tabular}
+\caption {\label{appPowerUsage} $P_{app}$ values in Watts}
+\end {table}
+
+
+\textbf{Mapping}
+This model refers to the Application specific approach presented in Section~\ref{sec:power}. However, in this model we applied the measured values for each application exactly to the power model. Neither dependencies with load nor application profiles are modeled. Obviously this model is contaminated only with the inaccuracy of the measurements and variability of power usage (caused by other unmeasured factors).
+	
+The following table (Table~\ref{expPowerModels}) contains the relative errors of the models with respect to the measured values
+\begin {table}[h!]
+\centering
+\begin{tabular}{llr}
+\hline
+Static & Dynamic  & Mapping \\
+\hline
+13.74 & 10.85 & 0 \\
+\hline
+\end{tabular}
+\caption {\label{expPowerModels} Power models error in \%}
+\end {table}
+
+Obviously, 0\% error in the case of the Mapping model is caused by the use of a tabular data, which for each application stores a specific power usage. Nevertheless, in all models we face possible deviations from the average caused by power usage fluctuations not explained by variables used in models. These deviations reached around 7\% for each case.
+
+For the experimental purposes we decided to use the latter model. Thus, we introduce into the simulation environment exact values obtained within our testbed, to build both the power profiles of applications as well as the application performance models, denoting their execution times.
+
+
+
+\subsection{Resource management policies evaluation}
 
 In the following section we present the results obtained for the workload with load density equal to 70\% in the light of five resource management and scheduling strategies. The scheduling strategies were evaluated according to two criteria: total energy consumption and maximum completion time of all tasks (makespan). These evaluation criteria employed in our experiments represent interests of various groups of stakeholders present in data centers.
@@ -665,5 +669,5 @@
 Type of processor within the node & Power usage in idle state [W]  \\
 \hline
- Intel i7 & 11.5 \\
+Intel i7 & 11.5 \\
 AMD Fusion & 10 \\
 Atom D510  & 19 \\
@@ -706,5 +710,5 @@
 
 
-As we were looking for the trade-off between total completion time and energy usage, we were searching for the workload load level that can benefit from the lower system performance in terms of energy-efficiency. For the frequency downgrading policy, we noticed the improvement on the energy usage criterion only for the workload resulting in 10\% system load. For this threshold we observed that slowdown in task execution does not affect the subsequent tasks in the system and thus the total completion time of the whole workload.
+As we were looking for the trade-off between total completion time and energy usage, we were searching for the workload load level that can benefit from the lower system performance in terms of energy-efficiency. For the frequency downgrading policy, we noticed the improvement on the energy usage criterion only for the workload resulting in 10\% system load. For this threshold we observed that slowdown in task execution does not affect the subsequent tasks in the system and thus the total completion time of the whole workload. In general, for the low loaded systems, where the longer execution times do not affect the computations of subsequent tasks, downgrading the frequency can reduce the overall energy consumption. However, for the more loaded systems, which are typical for HPC centers, and taking into account that idle nodes can be turned off after all, both the simulation results as well as the measurements obtained on real hardware show that the best way to save energy is to perform computations at the maximum frequency level. Due to the shorter execution times, idle nodes can be turned off sooner which results in lower energy usage.
 	
 Figure~\ref{fig:dfsComp} shows schedules obtained for Random and Random + lowest frequency strategy. 
@@ -717,5 +721,5 @@
 \end{figure}
 
-\subsection{Discussion}
+\subsubsection{Summary}
 The following tables: Table~\ref{loadEnergy} and Table~\ref{loadMakespan} contain the values of evaluation criteria (total energy usage and makespan respectively) gathered for all investigated workloads.
 
@@ -756,4 +760,34 @@
 We also demonstrated differences between power usage models. They span from rough static approach to accurate application specific models. However, the latter can be difficult or even infeasible to use, as it requires real measurements for specific applications beforehand. This issue can be partially resolved by introducing application profiles and classification, which can deteriorate the accuracy though. This issue is begin studied more deeply within CoolEmAll project. 
 
+\subsection{Verification of models} 
+
+This section contains more detailed comparison of two types of power consumption models that can be applied, among others, within the DCworms. The first one, called Mapping approach, was applied to the experiments in the previous section. As mentioned within this model, the values measured on the CoolEmAll testbed for each application were applied directly to the power consumption model used in DCworms. 
+
+Model evaluated in this section is a modification of the Mapping and Dynamic model by additional modeling of dependencies with the processor load. 
+Within this model, we benefited from the power profiles based on the measurements made on CoolEmAll testbed (and adopted also by the previous model). However, data applied to the simulation environment consisted only of measurements gathered for applications ran in mode resulting in lowest and highest processor load. For all load levels between the given two values we assumed the linear dependency between the load and power consumption. Thus, the power consumption for the given processor load can be expressed using the following equation (\ref{eq:modelLoad}):
+
+\begin{equation}
+P_L = P_{LL} + (L-LL)*(P_{HL}-P_{LL})/(HL-LL), \label{eq:modelLoad}
+\end{equation}
+
+where $L$ is a given processor load, $LL$ is the lowest measured processor load, $HL$ is the highest measured processor load, $P_L$ denotes power consumption for a given processor load, $P_{LL}$ is a power consumption measured for the lowest processor load and $P_{HL}$ stands for power consumption measured for the highest processor load.
+
+\begin {table}[h!]
+\centering
+\begin{tabular}{l| c | c | c }
+\hline
+Policy / Model  & Mapping & Mapping + Dynamic  & Accuracy [\%]\\
+\hline
+R & 46.883 & 44.476 & 94.87 \\
+R+NPM & 30.568 &	28.250 & 92.42 \\
+EO & 77.109 &	75.277 &	97.62\\
+EO+NPM & 46.305 & 44.050 & 95.13\\
+R+LF & 36.705 & 34.298 & 93.44\\
+\hline
+\end{tabular}
+\caption {\label{modelAccuracy} Comparison of energy usage estimations [kWh] obtained for two power consumption models. R - Random, R+NPM - Random + node power management, EO - Energy optimization, EO+NPM - Energy optimization + node power management, R+LF - Random + lowest frequency}
+\end {table}
+
+As it can be observed the accuracy of the Mapping + Dynamic based model is high and exceeds visibly 90\%. Satisfactory accuracy suggests that applying various power consumption models, while verifying different approaches or in case of lack of detailed measurements, does not lead to deterioration of overall results. This fact confirms also the important role of simulations in the experiments related to the distributed computing systems. 
 
 
@@ -830,4 +864,6 @@
 \bibitem{DCSG} http://dcsg.bcs.org/welcome-dcsg-simulator
 
+\bibitem{SimGrid} http://simgrid.gforge.inria.fr/index.html
+
 \bibitem{DCD_Romonet} http://www.datacenterdynamics.com/blogs/ian-bitterlin/it-does-more-it-says-tin\%E2\%80\%A6
 
@@ -852,4 +888,6 @@
 \bibitem{fit4green_scheduler} O. M{\"a}mmel{\"a}, M. Majanen, R. Basmadjian, H. De Meer, A. Giesler, W. Homberg, Energy-aware job scheduler for high-performance computing, Computer Science - Research and Development, November 2012, Volume 27, Issue 4, pp 265-275.
 
+\bibitem {fit4green_carbon_scheduler} M. Majanen, O. M{\"a}mmel{\"a}, A. Giesler, Energy and carbon aware scheduling in supercomputing, International Journal on Advances in Intelligent Systems. Vol. 5 (2012) Nr: 3 \& 4, pp. 451 - 469.
+
 \bibitem {d2.2} U. Woessner, E. Volk, G. Gallizo, M. vor dem Berge, G. Da Costa, P. Domagalski, W. Piatek, J-M. Pierson. (2012) D2.2 Design of the CoolEmAll simulation and visualisation environment - CoolEmAll Deliverable, http://coolemall.eu
 
