X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/mpi-energy2.git/blobdiff_plain/2f04605c2607edb3cf245d6af58ceb13aff27453..e0b09048908ae554159451863da90b3b877816f9:/mpi-energy2-extension/review/review.tex?ds=sidebyside diff --git a/mpi-energy2-extension/review/review.tex b/mpi-energy2-extension/review/review.tex index 4e5eef6..d42e804 100644 --- a/mpi-energy2-extension/review/review.tex +++ b/mpi-energy2-extension/review/review.tex @@ -188,44 +188,37 @@ For the variability issue, please refer to the answer to question 1. \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 -\textcolor{blue}{Answer: The proposed algorithm was adapted to the grid platform which is composed -of homogeneous clusters and interconnected by a wide area network which is slower than the local -network in each cluster. The algorithm can also work on other heterogeneous platforms.} +\textbf{Answer:} We agree with the reviewer that a grid is a type of heterogeneous architecture and the proposed algorithm can also work on any heterogeneous architecture. + In \cite{4}, we have proposed a frequency selection algorithm for distributed applications running on heterogeneous clusters, while in this work, the proposed algorithm was adapted to the grid architecture which is composed +of homogeneous clusters interconnected by a wide area network which is slower than the local +network in each cluster. \item Define what iterative message passing applications are and give exemplar applications of them targeted by this method. -\textcolor{blue}{Answer: The message passing applications with iterations compute -the same block of operations several times, starting from the initial solution until reaching -the acceptable approximation of the exact solution (we have added this sentence to the paper page 21). -There are many example for these applications -such as JACOBI, GAUSS-SEIDE, Successive over-relaxation and conjugate gradient (CG) method and etc. -Similarly, an offline method uses DVFS and applied to these applications is in \cite{1} } +\textbf{Answer:} In order to clarify things, we have replaced in the paper the sentence ``the iterative message passing applications'' with ``the message passing applications with iterations''. Therefore, the proposed algorithm can be applied to any application that executes the same block of instructions many times and it is not limited to iterative methods that repeat the same block of instructions until convergence. + +Many problems are solved by methods with iterations such as solving a linear system of equations with Jacobi and Gauss-Seidel methods, Image processing with methods that apply the same instructions for each pixel or block of pixels, etc. \item Figure 1 is not clearly explained. Where is the slack time in figure 1 and why slack time =0 for task 1? -\textcolor{blue}{Answer: We agree with the reviewer, this figure was re-plotted to show the slack time. - In the figure, we assumed that task 1 is the slower task. So, there are no slack time (waiting time) - in the slower task because it is not wait for the others while other tasks wait for it.} + +\textbf{Answer:} Figure 1 was redrawn, the white space before the barrier is the slack time. Slack times occur when a node has to wait for another node to finish its computation to synchronously communicate with it. In Figure 1, task 1 was assumed to be the slowest task. All the other tasks will finish their computations before the slowest task and wait until it finishes its computation before being able to synchronously communicate with it. This waiting time is the slack time and since the slowest task do not have to wait for the other tasks it has almost no slack time. \item define the parameters in eq. 1. -\textcolor{blue}{Answer: We have defined Fmax and Fnew in the text.} +\textbf{Answer:} Fmax and Fnew have been defined as follows in the paper: ``$\Fmax$ is the maximum frequency before applying any DVFS and $\Fnew$ is the new frequency after applying DVFS''. \item eq. 2: are you assuming each cluster has the same number of nodes? - - - -\textcolor{blue}{Answer: No, we assume each cluster has different number of node, so in the equation we -have replaced $M_i$ instead of $M$ and the same for $F$ replaced with $F_j$ in the all equations of the paper.} +\textbf{Answer:} No, each cluster can have a different number of nodes. Therefore, in the paper, $M$, the number of nodes in a cluster, was replaced by $M_i$, the number of nodes in cluster $i$, in all the equations. \item Eq.2 implicitly assumes that there is no overlapping between computation and communication. Is it reasonable? -\textcolor{blue}{Answer: The communications between the computing nodes are synchronized, where each node -need to wait for the others to finished their jobs before computing the next iteration. So, there is no -overlapping between computations and communications for a node. The overlapping happens when the communications are asynchronous or the computations are not depend on the data sent by the neighbouring nodes. } +\textbf{Answer:} In this paper, only message passing applications with synchronous and blocking communications were considered. In such applications, there is no overlapping between computations and communications on a node. + +Asynchronous applications are beyond the scope of this paper and will be considered in a future work. \item eq. 2 is not clear: