X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/rce2015.git/blobdiff_plain/239f7fccc1064a9fccc94e25ce91e23a297402c1..663c29e4f7bb8e7d7d9d75ef19a6be1fed40f48a:/paper.tex diff --git a/paper.tex b/paper.tex index 0ec97f3..3120437 100644 --- a/paper.tex +++ b/paper.tex @@ -1,4 +1,3 @@ -%\documentclass[conference]{IEEEtran} \documentclass[times]{cpeauth} \usepackage{moreverb} @@ -85,6 +84,8 @@ Email: \email{{raphael.couturier,arnaud.giersch,david.laiymani,charles.ramamonjisoa}@univ-fcomte.fr} } +%% Lilia Ziane Khodja: Department of Aerospace \& Mechanical Engineering\\ Non Linear Computational Mechanics\\ University of Liege\\ Liege, Belgium. Email: l.zianekhodja@ulg.ac.be + \begin{abstract} ABSTRACT \end{abstract} @@ -99,7 +100,46 @@ ABSTRACT \section{SimGrid} -\section{Simulation of the multisplitting method} +%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Two-stage splitting methods} +\label{sec:04} +\subsection{Multisplitting methods for sparse linear systems} +\label{sec:04.01} +Let us consider the following sparse linear system of $n$ equations in $\mathbb{R}$ +\begin{equation} +Ax=b, +\label{eq:01} +\end{equation} +where $A$ is a sparse square and nonsingular matrix, $b$ is the right-hand side and $x$ is the solution of the system. The multisplitting methods solve the linear system~(\ref{eq:01}) iteratively as follows +\begin{equation} +x^{k+1}=\displaystyle\sum^L_{\ell=1} E_\ell M^{-1}_\ell (N_\ell x^k + b),~k=1,2,3,\ldots +\label{eq:02} +\end{equation} +where a collection of $L$ triplets $(M_\ell, N_\ell, E_\ell)$ defines the multisplitting of matrix $A$, such that: the different splittings are defined as $A=M_\ell-N_\ell$ where $M_\ell$ are nonsingular matrices, and $\sum_\ell{E_\ell=I}$ are diagonal nonnegative weighting matrices and $I$ is the identity matrix. The iterations of the multisplitting methods can naturally be computed in parallel such that each processor or a group of processors is responsible for solving one splitting as a linear sub-system +\begin{equation} +M_\ell y_\ell^{k+1} = R_\ell^k,\mbox{~such that~} R_\ell^k = N_\ell x^k_\ell + b, +\label{eq:03} +\end{equation} +then the weighting matrices $E_\ell$ are used to compute the solution of the global system~(\ref{eq:01}) +\begin{equation} +x^{k+1}=\displaystyle\sum^L_{\ell=1} E_\ell y^{k+1}_\ell. +\label{eq:04} +\end{equation} +The convergence of the multisplitting methods, based on synchronous or asynchronous iterations, is studied by many authors. It is dependent on the condition +\begin{equation} +\rho(\displaystyle\sum_{\ell=1}^L E_\ell M^{-1}_\ell N_\ell) < 1, +\label{eq:05} +\end{equation} +where $\rho$ is the spectral radius of the square matrix. The different linear splittings~(\ref{eq:03}) arising from the multisplitting of matrix $A$can be solved exactly with a direct method or approximated with an iterative method. When the inner method used to solve the linear sub-systems is iterative, the multisplitting method is called {\it inner-outer iterative method} or {\it two-stage multisplitting method}. + +In this paper we are focused on two-stage multisplitting methods where the well-known iterative method GMRES is used as an inner iteration. + +\subsection{Simulation of two-stage methods using SimGrid framework} + +%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%% \section{Experimental, Results and Comments} @@ -226,14 +266,14 @@ The results in figure 1 show 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. -%%\begin{wrapfigure}{l}{60mm} +%\begin{wrapfigure}{l}{60mm} \begin{figure} [ht!] \centering -\includegraphics[width=60mm]{Cluster_x_Nodes_NX=150_and_NX=170.jpg} -\caption{Cluster x Nodes NX=150 and NX=170 \label{overflow}} +\includegraphics[width=60mm]{cluster_x_nodes_nx_150_and_nx_170.pdf} +\caption{Cluster x Nodes NX=150 and NX=170} +%\label{overflow}} \end{figure} -%%\end{wrapfigure} - +%\end{wrapfigure} Unless the 8x8 cluster, the time execution difference between the two algorithms is important when @@ -260,11 +300,14 @@ matrix size. %\RCE{idem pour tous les tableaux de donnees} +%\begin{wrapfigure}{l}{60mm} \begin{figure} [ht!] \centering -\includegraphics[width=60mm]{Cluster_x_Nodes_N1_x_N2.jpg} -\caption{Cluster x Nodes N1 x N2\label{overflow}} +\includegraphics[width=60mm]{cluster_x_nodes_n1_x_n2.pdf} +\caption{Cluster x Nodes N1 x N2} +%\label{overflow}} \end{figure} +%\end{wrapfigure} The experiments compare the behavior of the algorithms running first on speed inter- cluster network (N1) and a less performant network (N2). @@ -291,8 +334,9 @@ Table 3 : Network latency impact \begin{figure} [ht!] \centering -\includegraphics[width=60mm]{Network_latency_impact_on_execution_time.jpg} -\caption{Network latency impact on execution time\label{overflow}} +\includegraphics[width=60mm]{network_latency_impact_on_execution_time.pdf} +\caption{Network latency impact on execution time} +%\label{overflow}} \end{figure} @@ -322,8 +366,9 @@ Table 4 : Network bandwidth impact \begin{figure} [ht!] \centering -\includegraphics[width=60mm]{Network_bandwith_impact_on_execution_time.jpg} -\caption{Network bandwith impact on execution time\label{overflow}} +\includegraphics[width=60mm]{network_bandwith_impact_on_execution_time.pdf} +\caption{Network bandwith impact on execution time} +%\label{overflow} \end{figure} @@ -350,8 +395,9 @@ Table 5 : Input matrix size impact \begin{figure} [ht!] \centering -\includegraphics[width=60mm]{Pb_size_impact_on_execution_time.jpg} -\caption{Pb size impact on execution time\label{overflow}} +\includegraphics[width=60mm]{pb_size_impact_on_execution_time.pdf} +\caption{Pb size impact on execution time} +%\label{overflow}} \end{figure} In this experimentation, the input matrix size has been set from @@ -384,8 +430,9 @@ Table 6 : CPU Power impact \begin{figure} [ht!] \centering -\includegraphics[width=60mm]{CPU_Power_impact_on_execution_time.jpg} -\caption{CPU Power impact on execution time\label{overflow}} +\includegraphics[width=60mm]{cpu_power_impact_on_execution_time.pdf} +\caption{CPU Power impact on execution time} +%\label{overflow}} \end{figure} Using the SIMGRID simulator flexibility, we have tried to determine the