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

Private GIT Repository
correct simgrid
[rce2015.git] / paper.tex
index f1247fe8886326bd3fc53b1b60b9435440680285..4d7c9b842a58a99b89c335f37162bea9fb06be7f 100644 (file)
--- a/paper.tex
+++ b/paper.tex
@@ -154,7 +154,7 @@ iteration without having to wait for the data dependencies coming from its
 neighbors. Both communications and computations are \textit{asynchronous}
 inducing that there is no more idle time, due to synchronizations, between two
 iterations~\cite{bcvc06:ij}. This model presents some advantages and drawbacks
-that we detail in Section~\ref{sec:asynchro} but even if the number of
+that we detail in Section~\ref{sec:asynchro}. Even if the number of
 iterations required to converge is generally  greater  than for the synchronous
 case, it appears that the asynchronous  iterative scheme  can significantly
 reduce  overall execution times by  suppressing idle  times due to
@@ -181,7 +181,7 @@ multisplitting  algorithm   with  the   GMRES  (Generalized   Minimal  RESidual)
 solver~\cite{saad86} in  synchronous mode.  The simulation  results allow  us to
 determine  which method  to choose  for a given multi-core  architecture.
 Moreover the  obtained results  on different simulated  multi-core architectures
-confirm the  real results  previously obtained  on non  simulated architectures.
+confirm the  real results  previously obtained  on real physical architectures.
 More precisely the simulated results are in accordance (i.e. with the same order
 of magnitude)  with the works  presented in~\cite{couturier15}, which  show that
 the synchronous  Krylov multisplitting method  is more efficient  than GMRES  for large
@@ -209,7 +209,7 @@ concluding remarks and perspectives.
 Asynchronous iterative methods have been  studied for many years theoretically and
 practically. Many methods have been considered and convergence results have been
 proved. These  methods can  be used  to solve, in  parallel, fixed  point problems
-(i.e. problems  for which  the solution is  $x^\star =f(x^\star)$.  In practice,
+(i.e. problems  for which  the solution is  $x^\star =f(x^\star)$).  In practice,
 asynchronous iteration  methods can be used  to solve, for example,  linear and
 non-linear systems of equations or optimization problems, interested readers are
 invited to read~\cite{BT89,bahi07}.
@@ -219,8 +219,8 @@ studied. Otherwise, the  application is not ensure to reach  the convergence. An
 algorithm that supports both the synchronous or the asynchronous iteration model
 requires very few modifications  to be able to be executed  in both variants. In
 practice, only  the communications and  convergence detection are  different. In
-the synchronous  mode, iterations are  synchronized whereas in  the asynchronous
-one, they are not.  It should be noticed that non-blocking communications can be
+the synchronous  mode iterations are  synchronized, whereas in  the asynchronous
+one they are not.  It should be noticed that non-blocking communications can be
 used in both  modes. Concerning the convergence  detection, synchronous variants
 can use  a global convergence procedure  which acts as a  global synchronization
 point. In the  asynchronous model, the convergence detection is  more tricky as
@@ -239,54 +239,66 @@ optimize since the financial and deployment costs on large scale multi-core
 architectures are often very important. So, prior to deployment and tests it
 seems very promising to be able to simulate the behavior of asynchronous
 iterative algorithms. The problematic is then to show that the results produced
-by simulation are in accordance with reality i.e. of the same order of
-magnitude. To our knowledge, there is no study on this problematic.
+by simulation are in accordance with reality (i.e. of the same order of
+magnitude). To our knowledge, there is no study on this problematic.
 
 \section{SimGrid}
 \label{sec:simgrid}
+In the scope of this paper, we have chosen the SimGrid toolkit~\cite{SimGrid,casanova+giersch+legrand+al.2014.versatile} to simulate the behavior of parallel iterative linear solvers on different computational grid configurations. In opposite to most of the simulators which are stayed very oriented-application, the SimGrid framework is designed to study the behavior of many large-scale distributed computing platforms as Grids, Peer-to-Peer systems, Clouds or High Performance Computation systems. It is still actively developed by the scientific community and distributed as an open source software.
 
-In the scope of this paper, the Simgrid
-toolkitSimGrid~\cite{SimGrid,casanova+legrand+quinson.2008.simgrid,casanova+giersch+legrand+al.2014.versatile},
-an open source framework actively developped by its community, has been choosen
-to simulate the behavior of the solvers algorithms in different grid
-computational configurations. Simgrid pretends to be non-specialized in opposite
-to some other simulators which stayed to be very specific oriented-application.
-One of the well-known Simgrid advantage is its SMPI (Simulated MPI). SMPI
-purpose is to execute by simulation in a similar way as in real life, an MPI
-distributed application and to get accurate results with the detailed resources
-consumption. Several studies have demonstrated the accuracy of the simulation
-compared with execution on real physical architectures. In addition of SMPI,
-Simgrid provides other API which can be convienent for different distrbuted
-applications: computational grid applications, High Performance Computing (HPC),
-P2P but also clouds applications. In this paper we use the SMPI API. It
-implements about \np[\%]{80} of the MPI 2.0 standard and allows minor
-modifications of the initial code~\cite{bedaride+degomme+genaud+al.2013.toward}
-(see Section~\ref{sec:04.02}).
-
-
- Provided as an input to the simulator, at least $3$ XML files describe the
- computational grid resources: number of clusters in the grid, number of
- processors/cores in each cluster, detailed description of the intra and inter
- networks and the list of the hosts in each cluster (see the details in Section~\ref{sec:expe}). Simgrid uses a fluid model to simulate the program execution.
- This gives several simulation modes which produce accurate
- results~\cite{bedaride+degomme+genaud+al.2013.toward,
- velho+schnorr+casanova+al.2013.validity}. For instance, the "in vivo" mode
- really executes the computation but "intercepts" the communications (running
- time is then evaluated according to the parameters of the simulated platform).
- It is also possible for SimGrid/SMPI to only keep duration of large
- computations by skipping them. Moreover the application can be run "in vitro"
- by sharing some in-memory structures between the simulated processes and
- thus allowing the use of very large data scale.
-
-
-The choice of Simgrid/SMPI as a simulator tool in this study has been emphasized
-by the results obtained by several studies to validate, in real environments,
-the behavior of different network models simulated in
-Simgrid~\cite{velho+schnorr+casanova+al.2013.validity}. Other studies underline
-the comparison between real MPI executions  and SimGrid/SMPI
-ones\cite{guermouche+renard.2010.first, clauss+stillwell+genaud+al.2011.single,
-bedaride+degomme+genaud+al.2013.toward}. These works show the accuracy of
-SimGrid simulations.
+SimGrid provides four user interfaces which can be convenient for different distributed applications~\cite{casanova+legrand+quinson.2008.simgrid}. In this paper we are interested on the SMPI user interface (Simulator MPI) which implements about \np[\%]{80} of the MPI 2.0 standard and allows minor modifications of the initial code~\cite{bedaride+degomme+genaud+al.2013.toward} (see Section~\ref{sec:04.02}). SMPI enables the direct simulation of the execution, as in the real life, of an unmodified MPI distributed application, and gets accurate results with the detailed resources consumption.
+
+SimGrid simulator uses at least three XML input files describing the computational grid resources: the number of clusters in the grid, the number of processors/cores in each cluster, the detailed description of the intra and inter networks and the list of the hosts in each cluster (see the details in Section~\ref{sec:expe}). SimGrid uses a fluid model to simulate the program execution. It allows several simulation modes which produce accurate results~\cite{bedaride+degomme+genaud+al.2013.toward,velho+schnorr+casanova+al.2013.validity}. For instance, the "in vivo" mode really executes the computation but "intercepts" the communications (the execution time is then evaluated according to the parameters of the simulated platform). It is also possible for SimGrid/SMPI to only keep the duration of large computations by skipping them. Moreover the application can be run "in vitro" mode by sharing some in-memory structures between the simulated processes and thus allowing the use of very large-scale data.
+
+The choice of SimGrid/SMPI as a simulator tool in this study has been emphasized by the results obtained by several studies to validate, in the real environments, the behavior of different network models simulated in SimGrid~\cite{velho+schnorr+casanova+al.2013.validity}. Other studies underline the comparison between the real MPI application executions and the SimGrid/SMPI ones~\cite{guermouche+renard.2010.first,clauss+stillwell+genaud+al.2011.single,bedaride+degomme+genaud+al.2013.toward}. These works show the accuracy of SimGrid simulations compared to the executions on real physical architectures.
+
+
+
+
+
+
+
+
+
+
+
+
+
+%% In the scope of this paper, the SimGrid toolkit~\cite{SimGrid,casanova+legrand+quinson.2008.simgrid,casanova+giersch+legrand+al.2014.versatile},
+%% an open source framework actively developed by its scientific community, has been chosen to simulate the behavior of iterative linear solvers in different computational grid configurations. SimGrid pretends to be non-specialized in opposite to some other simulators which stayed to be very specific oriented-application. One of the well-known SimGrid advantage is its SMPI (Simulated MPI) user interface. SMPI purpose is to execute by simulation in a similar way as in real life, an MPI distributed application and to get accurate results with the detailed resources
+%% consumption.Several studies have demonstrated the accuracy of the simulation
+%% compared with execution on real physical architectures. In addition of SMPI,
+%% Simgrid provides other API which can be convienent for different distrbuted
+%% applications: computational grid applications, High Performance Computing (HPC),
+%% P2P but also clouds applications. In this paper we use the SMPI API. It
+%% implements about \np[\%]{80} of the MPI 2.0 standard and allows minor
+%% modifications of the initial code~\cite{bedaride+degomme+genaud+al.2013.toward}
+%% (see Section~\ref{sec:04.02}).
+
+
+%%  Provided as an input to the simulator, at least $3$ XML files describe the
+%%  computational grid resources: number of clusters in the grid, number of
+%%  processors/cores in each cluster, detailed description of the intra and inter
+%%  networks and the list of the hosts in each cluster (see the details in Section~\ref{sec:expe}). Simgrid uses a fluid model to simulate the program execution.
+%%  This gives several simulation modes which produce accurate
+%%  results~\cite{bedaride+degomme+genaud+al.2013.toward,
+%%  velho+schnorr+casanova+al.2013.validity}. For instance, the "in vivo" mode
+%%  really executes the computation but "intercepts" the communications (running
+%%  time is then evaluated according to the parameters of the simulated platform).
+%%  It is also possible for SimGrid/SMPI to only keep duration of large
+%%  computations by skipping them. Moreover the application can be run "in vitro"
+%%  by sharing some in-memory structures between the simulated processes and
+%%  thus allowing the use of very large data scale.
+
+
+%% The choice of Simgrid/SMPI as a simulator tool in this study has been emphasized
+%% by the results obtained by several studies to validate, in real environments,
+%% the behavior of different network models simulated in
+%% Simgrid~\cite{velho+schnorr+casanova+al.2013.validity}. Other studies underline
+%% the comparison between real MPI executions  and SimGrid/SMPI
+%% ones\cite{guermouche+renard.2010.first, clauss+stillwell+genaud+al.2011.single,
+%% bedaride+degomme+genaud+al.2013.toward}. These works show the accuracy of
+%% SimGrid simulations.