From 2f04605c2607edb3cf245d6af58ceb13aff27453 Mon Sep 17 00:00:00 2001 From: jean-claude <jean-claude.charr@univ-fcomte.fr> Date: Fri, 27 May 2016 11:38:05 +0200 Subject: [PATCH 1/1] corrections --- mpi-energy2-extension/Heter_paper.tex | 16 ++++----- mpi-energy2-extension/review/review.pdf | Bin 138154 -> 138674 bytes mpi-energy2-extension/review/review.tex | 45 ++++++++++-------------- 3 files changed, 27 insertions(+), 34 deletions(-) diff --git a/mpi-energy2-extension/Heter_paper.tex b/mpi-energy2-extension/Heter_paper.tex index 5ef2729..a72c553 100644 --- a/mpi-energy2-extension/Heter_paper.tex +++ b/mpi-energy2-extension/Heter_paper.tex @@ -107,9 +107,9 @@ -\title{Optimizing Energy Consumption with DVFS for Message \\ - Passing Applications \textcolor{blue}{with iterations} on \\ - Grid Architectures} +\title{Optimizing the Energy Consumption \\ +of Message Passing Applications with Iterations \\ +Executed over Grids} @@ -143,10 +143,10 @@ scaling (DVFS) is one of them. It can be used to reduce the power consumption of In this paper, a new online frequency selecting algorithm for grids, composed of heterogeneous clusters, is presented. It selects the frequencies and tries to give the best trade-off between energy saving and performance degradation, for each node - computing the message passing application \textcolor{blue}{with iterations}. + computing the message passing application with iterations. The algorithm has a small overhead and works without training or profiling. It uses a new energy model - for message passing applications \textcolor{blue}{with iterations} running on a grid. + for message passing applications with iterations running on a grid. The proposed algorithm is evaluated on a real grid, the Grid'5000 platform, while running the NAS parallel benchmarks. The experiments on 16 nodes, distributed on three clusters, show that it reduces on average the energy consumption by \np[\%]{30} while the performance is on average only degraded @@ -192,7 +192,7 @@ This heterogeneous platform executes more than 7 GFlops per watt while consuming 50.32 kilowatts. Besides platform improvements, there are many software and hardware techniques -to lower the energy consumption of these platforms, such as DVFS, scheduling \textcolor{blue}{and other techniques}. +to lower the energy consumption of these platforms, such as DVFS, scheduling and other techniques. DVFS is a widely used process to reduce the energy consumption of a processor by lowering its frequency \cite{Rizvandi_Some.Observations.on.Optimal.Frequency}. However, it also reduces @@ -1229,8 +1229,8 @@ The experimental results, the energy saving, performance degradation and trade-o presented in Figures~\ref{fig:edp-eng}, \ref{fig:edp-perf} and \ref{fig:edp-dist} respectively. As shown in these figures, the proposed frequencies selection algorithm, Maxdist, outperforms the EDP algorithm in terms of energy consumption reduction and performance for all of the benchmarks executed over the two scenarios. -The proposed algorithm gives better results than the EDP method because it -maximizes the energy saving and the performance at the same time. +The proposed algorithm gives better results than the EDP method because the former selects the set of frequencies that +gives the best tradeoff between energy saving and performance. Moreover, the proposed scaling algorithm gives the same weight for these two metrics. Whereas, the EDP algorithm gives sometimes negative trade-off values for some benchmarks in the two sites scenarios. These negative trade-off values mean that the performance degradation percentage is higher than the energy saving percentage. diff --git a/mpi-energy2-extension/review/review.pdf b/mpi-energy2-extension/review/review.pdf index fa094326cab6529b6734a3e5c8d1bb13edf9987f..61518cfdb0b16f40fd0f3af6241f9666c95da34d 100644 GIT binary patch delta 31721 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 delta 31197 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 G;Qj}?kY~RD diff --git a/mpi-energy2-extension/review/review.tex b/mpi-energy2-extension/review/review.tex index e7525c1..4e5eef6 100644 --- a/mpi-energy2-extension/review/review.tex +++ b/mpi-energy2-extension/review/review.tex @@ -54,7 +54,7 @@ \title{Answers to the questions of the reviewers} \maketitle -\section{Questions of the first reviewer} +\section{Questions and remarks of the first reviewer} \begin{enumerate} @@ -112,16 +112,17 @@ instance). You say that on scale this would produce less energy savings, but your arguments for providing a solution for this was based that today's supercomputers are achieving massive scale. -\textbf{Answer:} In the Figure 7, the energy consumption of the benchmarks solving the class D and running on many scenarios are presented. The number of used nodes varies between 16 and 32 in the scenarios while the size of the problem is not modified. Therefore, the computations to communications times ratio is lower when 32 nodes are used instead of 16. When this ratio is small, it means there are not enough computations when compared to the communications times and the impact of scaling down the frequency of the CPU on its energy consumption is reduced. To solve this problem, the problem +\textbf{Answer:} In Figure 7, the energy consumption of the benchmarks solving the class D and running on many scenarios are presented. The number of used nodes varies between 16 and 32 in the scenarios while the size of the problem is not modified. Therefore, the computations to communications times ratio is lower when 32 nodes are used instead of 16. When this ratio is small, it means there are not enough computations when compared to the communications times and the impact of scaling down the frequency of the CPU on its energy consumption is reduced. To solve this problem, the problem should be solved on a number of nodes adequate to its size. For example, for the NAS benchmarks, the class E should have been solved on 32 nodes to have a good computations to communications times ratio. \item In Sec 6.3, why did you choose to keep 32 processes for the evaluation with multi-core clusters? How did you configure MPI for the results -\textcolor{blue}{Answer: We keep choosing 32 nodes in both scenarios -to compare them while one core per node scenario has distributed communications (one network link for each node) and multi-core scenario uses shared network link communications and thus comparing their impact on the results. -We configure MPI on one core per node scenario by choosing one core per nodes (e.g in machine file we did: node1, node2 ,node3, node4). While in multi-core scenario we choose one machine with four cores (e.g. node1 slots=4).} +\textbf{Answer:} In section 6.3, we wanted to evaluate how much energy can be saved when applying the proposed algorithm to message passing applications with iterations running over a grid composed of multi-core nodes. Therefore, the same experiments as in section 6.2 were conducted on the new multi-core platform. Instead of running one process per node as in the previous section, 3 or 4 processes were executed on each multi-core node. The total number of processes, 32 processes, was not modified in order to fairly compare the single core and the multi-core versions. + +Only the architecture file was modified between the single and the multi-core architectures. For the single core architecture, the architecture file contains the name of 32 different nodes. For the multi-core architecture, the architecture file contains less nodes and for every node 3 or 4 slots (cores) are used. The total number of slots is equal to 32. + \item shown in Fig 8a? Some MPI implementations have an option to use shared @@ -130,8 +131,8 @@ the explanation of the network card utilization, but this shared-memory optimization is possible (sometimes automatically detected by MPI if you pin processes to cores). -\textcolor{blue}{Answer: We didn't manually pin processes to cores and since the communication times -increased. We guess that the shared memory wasn't used.} +\textbf{Answer:} We did not manually pin processes to cores. Since the communication times +increased, we think that the shared memory was not used when two processes, running on the same node, exchange data. \item In P33, Sec 6.5, you mention that the proposed algorithm outperforms EDP because the former considers both metrics (time, energy) and the @@ -139,8 +140,7 @@ same time. EDP does also, but using a single metric which you have defined: energy x execution time. I think this is only a matter of phrasing. -\textcolor{blue}{Answer: we use the delay in execution time not the execution time. Then, the equation that we used is EDP= energy x (Tnew-Told). The experiments shows that our objective function -is better than the EDP objective.} + \textbf{Answer:} We agree with the reviewer, EDP also uses two metrics in the objective function: energy and delay. The sentence in the paper was modified to clarify this misunderstanding. The main difference between our algorithm and the EDP method is the used objective function. For EDP, the product of energy and delay must be minimized, while for our algorithm, the difference between the normalized performance and the normalized energy should be maximized. This new formulation of the objective function allows our algorithm to select the set of frequencies that gives the best tradeoff between the energy consumption and the performance. The objective function of EDP does not give the same frequencies as our algorithm and thus it is outperformed by our method. The results of the experiments confirm that the objective function used by our algorithm is more efficient than the one used by EDP. \item Other complementary points to consider: @@ -159,7 +159,7 @@ is better than the EDP objective.} + Same for Fig 7. -\item \textcolor{blue}{ Answer: We have considered these points in the paper.} + \textbf{Answer:} Answer: We have taken in consideration all these remarks and the paper was modified accordingly. \item From the design of experiments, did you consider using replications? There is no variability metric in your results. Have you run multiple @@ -167,24 +167,24 @@ times and got the average (execution time and energy consumption)? I feel that such variability needs to be accounted for, otherwise it is very hard to affirm anything about measurements. - \textcolor{blue}{Answer: Each experiment has been executed many times and the results presented in the - figures are the average values of many executions.} + \textbf{Answer:} Each experiment has been executed many times and the results presented in the + figures are the average values of many executions. Since we have deployed the same operating system on the booked machines and we were the only users executing processes on them during the experiments, no significant variability in the execution time of the applications was noticed. \item In summary, I think this is a very interesting work but the experimental evaluation lacks variability measurements, consider larger experiments (1K nodes for instance) to see how everything scales, and there is no overhead measurements although authors stress that in abstract/introduction. -\textcolor{blue}{Answer: We will expand the experimental over a large number of nodes in the future work while increasing the problem size and considering the variability issues. We have discussed the algorithm overhead and its complexity in section 6.5.} -\end{enumerate} +\textbf{Answer:} For the time being, we do not have the resources nor the time to evaluate the proposed algorithm over large platforms composed of more than 1K nodes. However, as said in the perspectives of the paper, the evaluation of the scalability of the algorithm will be in a conducted in a future work as soon as we have access to larger resources. We have discussed the overhead of the algorithm and its complexity in section 6.5 and given in the answer to question 2 some solutions to improve its scalability and reduce its overhead. +For the variability issue, please refer to the answer to question 1. -\section{Questions of the second reviewer} -This paper presents detailed performance and energy model for iterative message passing applications. Further a method is proposed to select the frequencies of heterogeneous cpus online. The selection method itself is not difficult. But I like the systematic modeling for energy consumption and performance. This paper is well written in general. The technical contents are presented in a logical way overall. The experiments are conducted in real platform, which shows the practicality of this work and also makes the work have more impact on the field. However, I have the following comments and concerns for this paper. The authors should clarify them in the revised version. + +\end{enumerate} --move the contributions from related work to introduction +\section{Questions and remarks of the second reviewer} \begin{enumerate} - +\item Move the contributions from related work to introduction \item why emphasize it is a grid platform? the presentation of related work follows the logic of heterogeneous CPUs. Grid is only a type of platform with heterogeneous CPUs @@ -290,14 +290,7 @@ and with or without message passing. Indeed, the proposed method can be applied The proposed method can be applied to a heterogeneous platform composed from GPUs and CPUs, since modern GPUs like CPUs allow the use of DVFS operation.} \end{enumerate} -\section{Questions of the third reviewer} -In this paper, a new online frequency selecting algorithm for grids, composed of heterogeneous clusters, is presented. It selects the frequencies and tries to give the best trade-off between -energy saving and performance degradation, for each node computing the message passing iterative application. The algorithm has a small overhead and works without training or profiling. It uses a new energy model for message -passing iterative applications running on a grid. The proposed algorithm is evaluated on a real grid, the Grid'5000 platform, while running the NAS parallel benchmarks. The experiments on 16 nodes, distributed on three clusters, show -that it reduces on average the energy consumption by 30\% while the performance is on average only degraded by 3.2\%. Finally, the algorithm is compared to an existing method. The comparison results show that it outperforms the -latter in terms of energy consumption reduction and performance. - -this paper is quite interesting and solid. But before acceptance, I suggest to have the following major revisions: +\section{Questions and remarks of the third reviewer} \begin{enumerate} \item suggest the authors to use much larger size of nodes, instead of on 16 nodes, distributed on three clusters, to see the scalability of the energy saving -- 2.39.5