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

Private GIT Repository
Coorections expé 5.4.1²
[rce2015.git] / paper.tex
index 0e69066fc5e1c495315a7ceeaebc33a08d97cfa1..a2e23a24ae4510982b193106b880884da634d8dc 100644 (file)
--- a/paper.tex
+++ b/paper.tex
@@ -321,7 +321,7 @@ A_{\ell\ell} x_\ell = c_\ell,\mbox{~for~}\ell=1,\ldots,L,
 \end{equation}
 where right-hand sides $c_\ell=b_\ell-\sum_{m\neq\ell}A_{\ell m}x_m$ are computed using the shared vectors $x_m$. In this paper, we use the well-known iterative method GMRES~\cite{saad86} as an inner iteration to approximate the solutions of the different splittings arising from the block Jacobi multisplitting of matrix $A$. The algorithm in Figure~\ref{alg:01} shows the main key points of our block Jacobi two-stage method executed by a cluster of processors. In line~\ref{solve}, the linear sub-system~(\ref{eq:03}) is solved in parallel using GMRES method where $\MIG$ and $\TOLG$ are the maximum number of inner iterations and the tolerance threshold for GMRES respectively. The convergence of the two-stage multisplitting methods, based on synchronous or asynchronous iterations, has been studied by many authors for example~\cite{Bru95,bahi07}.
 
-\begin{figure}[t]
+\begin{figure}[htpb]
 %\begin{algorithm}[t]
 %\caption{Block Jacobi two-stage multisplitting method}
 \begin{algorithmic}[1]
@@ -359,7 +359,7 @@ At each $s$ outer iterations, the algorithm computes a new approximation $\tilde
 \end{equation}
 The algorithm in Figure~\ref{alg:02} includes the procedure of the residual minimization and the outer iteration is restarted with a new approximation $\tilde{x}$ at every $s$ iterations. The least-squares problem~(\ref{eq:06}) is solved in parallel by all clusters using CGLS method~\cite{Hestenes52} such that $\MIC$ is the maximum number of iterations and $\TOLC$ is the tolerance threshold for this method (line~\ref{cgls} in Figure~\ref{alg:02}).
 
-\begin{figure}[t]
+\begin{figure}[htbp]
 %\begin{algorithm}[t]
 %\caption{Krylov two-stage method using block Jacobi multisplitting}
 \begin{algorithmic}[1]
@@ -442,8 +442,6 @@ In this section, experiments for both multisplitting algorithms are reported. Fi
 
 \subsection{The 3D Poisson problem}
 \label{3dpoisson}
-
-
 We use our two-stage algorithms to solve the well-known Poisson problem $\nabla^2\phi=f$~\cite{Polyanin01}. In three-dimensional Cartesian coordinates in $\mathbb{R}^3$, the problem takes the following form:
 \begin{equation}
 \frac{\partial^2}{\partial x^2}\phi(x,y,z)+\frac{\partial^2}{\partial y^2}\phi(x,y,z)+\frac{\partial^2}{\partial z^2}\phi(x,y,z)=f(x,y,z)\mbox{~in the domain~}\Omega
@@ -489,13 +487,7 @@ and on the other hand the execution time and the number of iterations to reach t
 simulated in the  simulator tool to run the program.  The following architectures
 have been configured in SimGrid : 2$\times$16, 4$\times$8, 4$\times$16, 8$\times$8 and 2$\times$50. The first number
 represents the number  of clusters in the grid and  the second number represents
-the number  of hosts (processors/cores)  in each  cluster. The network has been
-designed to  operate with a bandwidth  equals to 10Gbits (resp.  1Gbits/s) and a
-latency of 8.10$^{-6}$ seconds (resp.  5.10$^{-5}$) for the intra-clusters links
-(resp.  inter-clusters backbone links).  \\
-
-\LZK{Il me semble que le bw et lat des deux réseaux varient dans les expés d'une simu à l'autre. On vire la dernière phrase?}
-\RC{il me semble qu'on peut laisser ca}
+the number  of hosts (processors/cores)  in each  cluster. \\
 
 \textbf{Step 5}: Conduct an extensive and comprehensive testings
 within these configurations by varying the key parameters, especially
@@ -536,62 +528,59 @@ and  between distant  clusters.  This parameter is application dependent.
  a lower speed.  The network  between distant  clusters might  be a  bottleneck
  for  the global performance of the application.
 
-\subsection{Comparison of GMRES and Krylov two-stage algorithms in synchronous mode}
-
-In the scope  of this paper, our  first objective is to analyze  when the Krylov
-two-stage method has  better  performance  than   the  classical  GMRES method. With a synchronous  iterative method, better performance means a
-smaller number of iterations and execution time before reaching the convergence.
-In what follows, we will present the test conditions, the output results and our comments.
-
-%%RAPH : on vire ca, c'est pas clair et pas important
-%For a systematic study,  the experiments  should figure  out  that, for  various
-%grid  parameters values, the simulator will confirm Multisplitting method  better performance compared to classical GMRES, particularly on poor and slow networks.
-%\LZK{Pas du tout claire la dernière phrase (For a systematic...)!!}
-%\RCE { Reformule autrement}
-
-
 
-%\subsubsection{Execution of the algorithms on various computational grid architectures and scaling up the input matrix size}
-\subsubsection{Simulations for various grid architectures and scaling-up matrix sizes}
-\ \\
-% environment
+\subsection{Comparison between GMRES and two-stage multisplitting algorithms in synchronous mode}
+In the scope of this paper, our first objective is to analyze when the synchronous Krylov two-stage method has better performance than the classical GMRES method. With a synchronous iterative method, better performance means a smaller number of iterations and execution time before reaching the convergence.
 
-\RC{Je ne comprends plus rien CE : pourquoi dans 5.4.1 il y a 2 network et aussi dans 5.4.2. Quelle est la différence? Dans la figure 3 de la section 5.4.1 pourquoi il n'y a pas N1 et N2?}
+Table~\ref{tab:01} summarizes the parameters used in the different simulations: the grid architectures, the network of inter-clusters backbone links and the matrix sizes of the 3D Poisson problem. However, for all simulations we fix the network parameters of the intra-clusters links: the bandwidth $bw$=10Gbs and the latency $lat$=8$\times$10$^{-6}$. In what follows, we will present the test conditions, the output results and our comments. 
 
 \begin{table} [ht!]
 \begin{center}
-\begin{tabular}{ll }
- \hline
- Grid architecture & 2$\times$16, 4$\times$8, 4$\times$16 and 8$\times$8\\ %\hline
- \multirow{2}{*}{Network} & Inter (N2): $bw$=1Gbs, $lat$=5$\times$10$^{-5}$ \\ %\hline
-                          & Intra (N1): $bw$=10Gbs, $lat$=8$\times$10$^{-6}$ \\
- \multirow{2}{*}{Matrix size}  & N$_{x}$ $\times$ N$_{y}$ $\times$ N$_{z}$ =150 $\times$ 150 $\times$ 150\\ %\hline
-  &  N$_{x}$ $\times$ N$_{y}$ $\times$ N$_{z}$  =170 $\times$ 170 $\times$ 170    \\ \hline
- \end{tabular}
-\caption{Test conditions: various grid configurations with the matrix sizes 150$^3$ or 170$^3$}
-%\LZK{Ce sont les caractéristiques du réseau intra ou inter clusters? Ce n'est pas précisé...}
-%\RCE{oui c est precise}
+\begin{tabular}{ll}
+\hline
+Grid architecture                       & 2$\times$16, 4$\times$8, 4$\times$16 and 8$\times$8\\ 
+\multirow{2}{*}{Network inter-clusters} & $N1$: $bw$=1Gbs, $lat$=5$\times$10$^{-5}$ \\ 
+                                        & $N2$: $bw$=10Gbs, $lat$=8$\times$10$^{-6}$ \\
+\multirow{2}{*}{Matrix size}            & $Mat1$: N$_{x}\times$N$_{y}\times$N$_{z}$=150$\times$150$\times$150\\
+                                        & $Mat2$: N$_{x}\times$N$_{y}\times$N$_{z}$=170$\times$170$\times$170 \\ \hline
+\end{tabular}
+\caption{Parameters for the different simulations}
 \label{tab:01}
 \end{center}
 \end{table}
 
+\subsubsection{Simulations for various grid architectures and scaling-up matrix sizes}
+\  \\
+% environment
+In this section, we analyze the simulations conducted on various grid configurations and for different sizes of the 3D Poisson problem. The parameters of the network between clusters is fixed to $N1$ (see Table~\ref{tab:01}. Figure~\ref{fig:01} shows, for all grid configurations and a given matrix size 170$^3$ elements, a non-variation in the number of iterations for the classical GMRES algorithm, which is not the case of the Krylov two-stage algorithm.
 
-In  this  section,  we  analyze   the  simulations  conducted  on  various  grid
-configurations presented  in Table~\ref{tab:01}. It  should be noticed  that two
-networks are considered: N1 is  the network between clusters (inter-cluster) and
-N2 is the network inside  a cluster (intra-cluster).  Figure~\ref{fig:01} shows,
-for all  grid configurations  and a  given matrix size,  a non-variation  in the
-number of iterations for the classical GMRES algorithm, which is not the case of
-the Krylov two-stage algorithm.
-%% First,  the results in  Figure~\ref{fig:01}
-%% show for all grid configurations the non-variation of the number of iterations of
-%% classical  GMRES for  a given  input matrix  size; it is not  the case  for the
-%% multisplitting method.
-%\RC{CE attention tu n'as pas mis de label dans tes figures, donc c'est le bordel, j'en mets mais vérifie...}
-%\RC{Les légendes ne sont pas explicites...}
-%\RCE{Corrige}
 
-\begin{figure} [ht!]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+\begin{figure} [htbp]
   \begin{center}
     \includegraphics[width=100mm]{cluster_x_nodes_nx_150_and_nx_170.pdf}
   \end{center}
@@ -641,12 +630,12 @@ the  network speed  drops down (variation of 12.5\%), the  difference between  t
 
 
 %\begin{wrapfigure}{l}{100mm}
-\begin{figure} [ht!]
+\begin{figure} [htbp]
 \centering
 \includegraphics[width=100mm]{cluster_x_nodes_n1_x_n2.pdf}
-\caption{Various grid configurations with networks N1 vs N2
-\AG{\np{8E-6}, \np{5E-6} au lieu de 8E-6, 5E-6}}
-\RCE{Corrige}
+\caption{Various grid configurations with networks N1 vs N2}
+%\AG{\np{8E-6}, \np{5E-6} au lieu de 8E-6, 5E-6}}
+%\RCE{Corrige}
 \label{fig:02}
 \end{figure}
 %\end{wrapfigure}
@@ -667,21 +656,22 @@ the  network speed  drops down (variation of 12.5\%), the  difference between  t
 \label{tab:03}
 \end{table}
 
-\begin{figure} [ht!]
+\begin{figure} [htbp]
 \centering
 \includegraphics[width=100mm]{network_latency_impact_on_execution_time.pdf}
-\caption{Network latency impacts on execution time
-\AG{\np{E-6}}}
+\caption{Network latency impacts on execution time}
+%\AG{\np{E-6}}}
 \label{fig:03}
 \end{figure}
 
-According to  the results of  Figure~\ref{fig:03}, a degradation of  the network
-latency from  $8.10^{-6}$ to  $6.10^{-5}$ implies an  absolute time  increase of
-more  than $75\%$  (resp.  $82\%$)  of the  execution  for  the classical  GMRES
-(resp.  Krylov multisplitting)  algorithm which means that the GMRES seems tolerate more the network latency variation with a less  rate increase  of  the  execution time. However, the execution time factor between the two algorithms varies from 2.2 to 1.5 times with a network latency decreasing from $8.10^{-6}$ to  $6.10^{-5}$.
+In Table~\ref{tab:03}, parameters  for the influence of the  network latency are
+reported.  According to the results of Figure~\ref{fig:03}, a degradation of the
+network  latency  from  $8.10^{-6}$  to $6.10^{-5}$  implies  an  absolute  time
+increase of more than $75\%$ (resp.   $82\%$) of the execution for the classical
+GMRES  (resp.   Krylov  multisplitting)  algorithm. The  execution  time  factor
+between the two algorithms  varies from 2.2 to 1.5 times  with a network latency
+decreasing from $8.10^{-6}$ to $6.10^{-5}$.
 
-\RC{Les  2  précédentes phrases  me  semblent en contradiction....}  
-\RCE{Reformule}
 
 \subsubsection{Network bandwidth impacts on performance}
 \ \\
@@ -694,18 +684,19 @@ more  than $75\%$  (resp.  $82\%$)  of the  execution  for  the classical  GMRES
                           & $lat$= 5.10$^{-5}$ second \\
  Input matrix size & $N_{x} \times N_{y} \times N_{z} =150 \times 150 \times 150$\\ \hline \\
  \end{tabular}
-\caption{Test conditions: Network bandwidth impacts\RC{Qu'est ce qui varie ici? Il n'y a pas de variation dans le tableau}}
-\RCE{C est le bw}
+\caption{Test conditions: Network bandwidth impacts}
+%  \RC{Qu'est ce qui varie ici? Il n'y a pas de variation dans le tableau}
+%\RCE{C est le bw}
 \label{tab:04}
 \end{table}
 
 
-\begin{figure} [ht!]
+\begin{figure} [htbp]
 \centering
 \includegraphics[width=100mm]{network_bandwith_impact_on_execution_time.pdf}
-\caption{Network bandwith impacts on execution time
-\AG{``Execution time'' avec un 't' minuscule}. Idem autres figures.}
-\RCE{Corrige}
+\caption{Network bandwith impacts on execution time}
+%\AG{``Execution time'' avec un 't' minuscule}. Idem autres figures.}
+%\RCE{Corrige}
 \label{fig:04}
 \end{figure}
 
@@ -723,34 +714,29 @@ of $40\%$ which is only around $24\%$ for the classical GMRES.
  \hline
  Grid Architecture & 4 $\times$ 8\\ %\hline
  Inter Network & $bw$=1Gbs - $lat$=5.10$^{-5}$ \\
- Input matrix size & $N_{x} \times N_{y} \times N_{z}$ = From 40$^{3}$ to 200$^{3}$\\ \hline
+ Input matrix size & $N_{x} \times N_{y} \times N_{z}$ = From 50$^{3}$ to 190$^{3}$\\ \hline
  \end{tabular}
 \caption{Test conditions: Input matrix size impacts}
 \label{tab:05}
 \end{table}
 
 
-\begin{figure} [ht!]
+\begin{figure} [htbp]
 \centering
 \includegraphics[width=100mm]{pb_size_impact_on_execution_time.pdf}
 \caption{Problem size impacts on execution time}
 \label{fig:05}
 \end{figure}
 
-In these experiments, the input matrix size  has been set from $N_{x} = N_{y}
-= N_{z} = 40$ to $200$ side elements  that is from $40^{3} = 64.000$ to $200^{3}
-= 8,000,000$  points. Obviously, as  shown in Figure~\ref{fig:05},  the execution
-time for  both algorithms increases when  the input matrix size  also increases.
-But the interesting results are:
-\begin{enumerate}
-  \item the important increase ($10$ times)  of the number of iterations needed to
-    reach the convergence for the classical GMRES algorithm particularly, when the matrix size
-    go beyond $N_{x}=150$; \RC{C'est toujours pas clair... ok le nommbre d'itérations est 10 fois plus long mais la suite de la phrase ne veut rien dire}
-    \RCE{Le nombre d'iterations augmente de 10 fois, cela surtout a partir de N=150}
-    
-\item the  classical GMRES execution time  is almost the double  for $N_{x}=140$
-  compared with the Krylov multisplitting method.
-\end{enumerate}
+In  these  experiments, the  input  matrix  size has  been  set  from $50^3$  to
+$190^3$. Obviously, as shown in Figure~\ref{fig:05}, the execution time for both
+algorithms increases when the input matrix size also increases.  For all problem
+sizes, GMRES is always slower than the Krylov multisplitting. Moreover, for this
+benchmark, it seems that  the greater the problem size is,  the bigger the ratio
+between both  algorithm execution  times is.  We can also  observ that  for some
+problem   sizes,  the   Krylov   multisplitting  convergence   varies  quite   a
+lot. Consequently the execution times in that cases also varies.
+
 
 These  findings may  help a  lot end  users to  setup the  best and  the optimal
 targeted environment for the application deployment when focusing on the problem
@@ -759,7 +745,7 @@ grid 2 $\times$ 16 leading to the same conclusion.
 
 \subsubsection{CPU Power impacts on performance}
 
-\begin{table} [ht!]
+\begin{table} [htbp]
 \centering
 \begin{tabular}{r c }
  \hline
@@ -811,18 +797,19 @@ synchronization  with   the  other   processors.  Thus,  the   asynchronous  may
 theoretically reduce  the overall execution  time and can improve  the algorithm
 performance.
 
-\RC{la phrase suivante est bizarre, je ne comprends pas pourquoi elle vient ici}
-\RCE{C est la description du dernier test sync/async avec l'introduction de la notion de relative gain}
-In this section, Simgrid simulator tool has been successfully used to show
-the efficiency of  the multisplitting in asynchronous mode and  to find the best
-combination of the grid resources (CPU,  Network, input matrix size, \ldots ) to
-get    the   highest    \textit{"relative    gain"}   (exec\_time$_{GMRES}$    /
-exec\_time$_{multisplitting}$) in comparison with the classical GMRES time.
+In this section,  the Simgrid simulator is  used to compare the  behavior of the
+multisplitting in  asynchronous mode  with GMRES  in synchronous  mode.  Several
+benchmarks have  been performed with  various combination of the  grid resources
+(CPU, Network, input  matrix size, \ldots ). The test  conditions are summarized
+in  Table~\ref{tab:07}. In  order to  compare  the execution  times, this  table
+reports the  relative gain between both  algorithms. It is defined  by the ratio
+between  the   execution  time  of   GMRES  and   the  execution  time   of  the
+multisplitting.  The  ration  is  greater  than  one  because  the  asynchronous
+multisplitting version is faster than GMRES.
 
 
-The test conditions are summarized in the table~\ref{tab:07}: \\
 
-\begin{table} [ht!]
+\begin{table} [htbp]
 \centering
 \begin{tabular}{r c }
  \hline
@@ -872,7 +859,7 @@ geographically distant clusters through the internet.
     power (GFlops)
     & 1    & 1    & 1    & 1.5       & 1.5  & 1.5         & 1.5         & 1         & 1.5       & 1.5 \\
     \hline
-    size (N)
+    size ($N^3$)
     & 62  & 62   & 62        & 100       & 100 & 110       & 120       & 130       & 140       & 150 \\
     \hline
     Precision