]> AND Private Git Repository - hpcc2014.git/blobdiff - hpcc.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
Put floating figures and tables on top (IEEE style).
[hpcc2014.git] / hpcc.tex
index b9b1753fbba74bf482ec80adae5293239480ea1d..2c7d65d7a6822eb285a1eab87f3fc93d882b4df9 100644 (file)
--- a/hpcc.tex
+++ b/hpcc.tex
@@ -179,7 +179,7 @@ convergence is generally greater than for the two former classes. But, and as de
 algorithms can significantly reduce overall execution times by suppressing idle times due to synchronizations especially
 in a grid computing context.
 
 algorithms can significantly reduce overall execution times by suppressing idle times due to synchronizations especially
 in a grid computing context.
 
-\begin{figure}[htbp]
+\begin{figure}[!t]
   \centering
     \includegraphics[width=8cm]{AIAC.pdf}
   \caption{The Asynchronous Iterations - Asynchronous Communications model } 
   \centering
     \includegraphics[width=8cm]{AIAC.pdf}
   \caption{The Asynchronous Iterations - Asynchronous Communications model } 
@@ -269,7 +269,7 @@ Y_l = B_l - \displaystyle\sum_{\substack{m=1\\ m\neq l}}^{L}A_{lm}X_m
 \end{equation}
 is solved independently by a cluster and communications are required to update the right-hand side sub-vector $Y_l$, such that the sub-vectors $X_m$ represent the data dependencies between the clusters. As each sub-system (\ref{eq:4.1}) is solved in parallel by a cluster of processors, our multisplitting method uses an iterative method as an inner solver which is easier to parallelize and more scalable than a direct method. In this work, we use the parallel algorithm of GMRES method~\cite{ref1} which is one of the most used iterative method by many researchers. 
 
 \end{equation}
 is solved independently by a cluster and communications are required to update the right-hand side sub-vector $Y_l$, such that the sub-vectors $X_m$ represent the data dependencies between the clusters. As each sub-system (\ref{eq:4.1}) is solved in parallel by a cluster of processors, our multisplitting method uses an iterative method as an inner solver which is easier to parallelize and more scalable than a direct method. In this work, we use the parallel algorithm of GMRES method~\cite{ref1} which is one of the most used iterative method by many researchers. 
 
-\begin{figure}
+\begin{figure}[!t]
   %%% IEEE instructions forbid to use an algorithm environment here, use figure
   %%% instead
 \begin{algorithmic}[1]
   %%% IEEE instructions forbid to use an algorithm environment here, use figure
   %%% instead
 \begin{algorithmic}[1]
@@ -310,7 +310,7 @@ clusters (lines $6$ and $7$ in Figure~\ref{algo:01}). The shared vector
 elements of the solution $x$ are exchanged by message passing using MPI
 non-blocking communication routines.
 
 elements of the solution $x$ are exchanged by message passing using MPI
 non-blocking communication routines.
 
-\begin{figure}
+\begin{figure}[!t]
 \centering
   \includegraphics[width=60mm,keepaspectratio]{clustering}
 \caption{Example of three clusters of processors interconnected by a virtual unidirectional ring network.}
 \centering
   \includegraphics[width=60mm,keepaspectratio]{clustering}
 \caption{Example of three clusters of processors interconnected by a virtual unidirectional ring network.}
@@ -358,12 +358,15 @@ clusters linked with long distance network like Internet.
 
 As a first step, the algorithm was run on a network consisting of two clusters
 containing fifty hosts each, totaling one hundred hosts. Various combinations of
 
 As a first step, the algorithm was run on a network consisting of two clusters
 containing fifty hosts each, totaling one hundred hosts. Various combinations of
-the above factors have providing the results shown in Table I with a matrix size
-ranging from $N_x = N_y = N_z = 62 \text{ to } 171$ elements or from $62^{3} = \np{238328}$ to
-$171^{3} = \np{5211000}$ entries.
+the above factors have providing the results shown in
+Table~\ref{tab.cluster.2x50} with a matrix size ranging from $N_x = N_y = N_z =
+62 \text{ to } 171$ elements or from $62^{3} = \np{238328}$ to $171^{3} =
+\np{5211000}$ entries.
 
 
-\begin{table}[h!]
- \centering
+\begin{table}[!t]
+  \centering
+  \caption{2 clusters, each with 50 nodes}
+  \label{tab.cluster.2x50}
 
  \tiny
  
 
  \tiny
  
@@ -377,18 +380,18 @@ $171^{3} = \np{5211000}$ entries.
  \bf Prec/Eprec & 10$^{-5}$ & 10$^{-8}$ & 10$^{-9}$ & 10$^{-11}$ & 10$^{-11}$ & 10$^{-11}$ & 10$^{-11}$ & 10$^{-11}$ & 10$^{-11}$ & 10$^{-11}$ & 10$^{-5}$ & 10$^{-5}$\\ \hline 
  \bf speedup & 0.396 & 0.392 & 0.396 & 0.391 & 0.393 & 0.395 & 0.398 & 0.388 & 0.393 & 0.394 & 0.63 & 0.778\\ \hline 
  \end{tabular}
  \bf Prec/Eprec & 10$^{-5}$ & 10$^{-8}$ & 10$^{-9}$ & 10$^{-11}$ & 10$^{-11}$ & 10$^{-11}$ & 10$^{-11}$ & 10$^{-11}$ & 10$^{-11}$ & 10$^{-11}$ & 10$^{-5}$ & 10$^{-5}$\\ \hline 
  \bf speedup & 0.396 & 0.392 & 0.396 & 0.391 & 0.393 & 0.395 & 0.398 & 0.388 & 0.393 & 0.394 & 0.63 & 0.778\\ \hline 
  \end{tabular}
- \smallskip 
- \caption{2 Clusters x 50 nodes each} \label{tab1} 
 \end{table} 
   
 Then we have changed the network configuration using three clusters containing
 respectively 33, 33 and 34 hosts, or again by on hundred hosts for all the
 clusters. In the same way as above, a judicious choice of key parameters has
 \end{table} 
   
 Then we have changed the network configuration using three clusters containing
 respectively 33, 33 and 34 hosts, or again by on hundred hosts for all the
 clusters. In the same way as above, a judicious choice of key parameters has
-permitted to get the results in Table II which shows the speedups less than 1 with
-a matrix size from 62 to 100 elements.
+permitted to get the results in Table~\ref{tab.cluster.3x33} which shows the
+speedups less than 1 with a matrix size from 62 to 100 elements.
 
 
-\begin{table}[h!]
- \centering
+\begin{table}[!t]
+  \centering
+  \caption{3 clusters, each with 33 nodes}
+  \label{tab.cluster.3x33}
 
  \tiny
  
 
  \tiny
  
@@ -403,16 +406,18 @@ a matrix size from 62 to 100 elements.
  \bf speedup & 0.997 & 0.99 & 0.93 & 0.84 & 0.78 & 0.99\\ 
  \hline 
  \end{tabular}
  \bf speedup & 0.997 & 0.99 & 0.93 & 0.84 & 0.78 & 0.99\\ 
  \hline 
  \end{tabular}
- \smallskip 
- \caption{3 Clusters x 33 nodes each} \label{tab2} 
 \end{table} 
 
 
 In a final step, results of an execution attempt to scale up the three clustered
 \end{table} 
 
 
 In a final step, results of an execution attempt to scale up the three clustered
-configuration but increasing by two hundreds hosts has been recorded in Table III.
+configuration but increasing by two hundreds hosts has been recorded in
+Table~\ref{tab.cluster.3x67}.
+
+\begin{table}[!t]
+  \centering
+  \caption{3 clusters, each with 66 nodes}
+  \label{tab.cluster.3x67}
 
 
-\begin{table}[h!]
- \centering
  \tiny
 \begin{tabular}{|M{0.55cm}|M{0.25cm}|} 
  \hline 
  \tiny
 \begin{tabular}{|M{0.55cm}|M{0.25cm}|} 
  \hline 
@@ -428,8 +433,6 @@ configuration but increasing by two hundreds hosts has been recorded in Table II
  \bf speedup & 0.9\\ 
  \hline 
  \end{tabular}
  \bf speedup & 0.9\\ 
  \hline 
  \end{tabular}
- \smallskip 
- \caption{3 Clusters x 66 nodes each} \label{tab3} 
 \end{table} 
 
 Note that the program was run with the following parameters:
 \end{table} 
 
 Note that the program was run with the following parameters:
@@ -455,39 +458,41 @@ lat latency, \dots{}).
        \item Execution Mode: synchronous or asynchronous.
 \end{itemize}
 
        \item Execution Mode: synchronous or asynchronous.
 \end{itemize}
 
-
 \paragraph*{Interpretations and comments}
 
 After analyzing the outputs, generally, for the configuration with two or three
 \paragraph*{Interpretations and comments}
 
 After analyzing the outputs, generally, for the configuration with two or three
-clusters including one hundred hosts (Table I and II), some combinations of the
-used parameters affecting the results have given a speedup less than 1, showing
-the effectiveness of the asynchronous performance compared to the synchronous
-mode.
-
-In the case of a two clusters configuration, Table I shows that with a
-deterioration of inter cluster network set with \np[Mbits/s]{5} of bandwidth, a latency
-in order of a hundredth of a millisecond and a system power of one GFlops, an
-efficiency of about \np[\%]{40} in asynchronous mode is obtained for a matrix size of 62
-elements. It is noticed that the result remains stable even if we vary the
-external precision from \np{E-5} to \np{E-9}. By increasing the problem size up to 100
-elements, it was necessary to increase the CPU power of \np[\%]{50} to \np[GFlops]{1.5} for a
-convergence of the algorithm with the same order of asynchronous mode efficiency.
-Maintaining such a system power but this time, increasing network throughput
-inter cluster up to \np[Mbits/s]{50}, the result of efficiency of about \np[\%]{40} is
-obtained with high external  precision of \np{E-11} for a matrix size from 110 to 150
-side elements.
-
-For the 3 clusters architecture including a total of 100 hosts, Table II shows
-that it was difficult to have a combination which gives an efficiency of
-asynchronous below \np[\%]{80}. Indeed, for a matrix size of 62 elements, equality
-between the performance of the two modes (synchronous and asynchronous) is
-achieved with an inter cluster of \np[Mbits/s]{10} and a latency of \np[ms]{E-1}. To
-challenge an efficiency by \np[\%]{78} with a matrix size of 100 points, it was
-necessary to degrade the inter cluster network bandwidth from 5 to 2 Mbit/s.
+clusters including one hundred hosts (Tables~\ref{tab.cluster.2x50}
+and~\ref{tab.cluster.3x33}), some combinations of the used parameters affecting
+the results have given a speedup less than 1, showing the effectiveness of the
+asynchronous performance compared to the synchronous mode.
+
+In the case of a two clusters configuration, Table~\ref{tab.cluster.2x50} shows
+that with a deterioration of inter cluster network set with \np[Mbits/s]{5} of
+bandwidth, a latency in order of a hundredth of a millisecond and a system power
+of one GFlops, an efficiency of about \np[\%]{40} in asynchronous mode is
+obtained for a matrix size of 62 elements. It is noticed that the result remains
+stable even if we vary the external precision from \np{E-5} to \np{E-9}. By
+increasing the problem size up to 100 elements, it was necessary to increase the
+CPU power of \np[\%]{50} to \np[GFlops]{1.5} for a convergence of the algorithm
+with the same order of asynchronous mode efficiency.  Maintaining such a system
+power but this time, increasing network throughput inter cluster up to
+\np[Mbits/s]{50}, the result of efficiency of about \np[\%]{40} is obtained with
+high external precision of \np{E-11} for a matrix size from 110 to 150 side
+elements.
+
+For the 3 clusters architecture including a total of 100 hosts,
+Table~\ref{tab.cluster.3x33} shows that it was difficult to have a combination
+which gives an efficiency of asynchronous below \np[\%]{80}. Indeed, for a
+matrix size of 62 elements, equality between the performance of the two modes
+(synchronous and asynchronous) is achieved with an inter cluster of
+\np[Mbits/s]{10} and a latency of \np[ms]{E-1}. To challenge an efficiency by
+\np[\%]{78} with a matrix size of 100 points, it was necessary to degrade the
+inter cluster network bandwidth from 5 to 2 Mbit/s.
 
 A last attempt was made for a configuration of three clusters but more powerful
 
 A last attempt was made for a configuration of three clusters but more powerful
-with 200 nodes in total. The convergence with a speedup of \np[\%]{90} was obtained
-with a bandwidth of \np[Mbits/s]{1} as shown in Table III.
+with 200 nodes in total. The convergence with a speedup of \np[\%]{90} was
+obtained with a bandwidth of \np[Mbits/s]{1} as shown in
+Table~\ref{tab.cluster.3x67}.
 
 \section{Conclusion}
 The experimental results on executing a parallel iterative algorithm in 
 
 \section{Conclusion}
 The experimental results on executing a parallel iterative algorithm in