\section{The asynchronous iteration model}
-\DL{Décrire le modèle asynchrone. Je m'en charge}
+As exposed in the introduction, parallel iterative methods are now
+widely used in many scientific domains. They can be classified in three main classes
+depending on how iterations and communications are managed (for more
+details readers can refer to \cite{bcvc02:ip}). In the
+\textit{Synchronous Iterations - Synchronous Communications (SISC)}
+model data are exchanged at the end of each iteration. All the
+processors must begin the same iteration at the same time and
+important idle times on processors are generated. The
+\textit{Synchronous Iterations - Asynchronous Communications (SIAC)}
+model can be compared to the previous one except that data required on
+another processor are sent asynchronously i.e. without stopping
+current computations. This technique allows to partially overlap
+communications by computations but unfortunately, the overlapping is
+only partial and important idle times remain. It is clear that, in a
+grid computing context, where the number of computational nodes is large,
+heterogeneous and widely distributed, the idle times generated by
+synchronizations are very penalizing. One way to overcome this problem
+is to use the \textit{Asynchronous Iterations - Asynchronous
+ Communications (AIAC)} model. Here, local computations do not need
+to wait for required data. Processors can then perform their
+iterations with the data present at that time. Figure \ref{fig:aiac}
+illustrates this model where the grey blocks represent the computation
+phases, the white spaces the idle times and the arrows the
+communications. With this algorithmic model, the number of iterations
+required before the convergence is generally greater than for the two
+former classes. But, and as detailed in \cite{bcvc06:ij}, AIAC
+algorithms can significantly reduce overall execution times by
+suppressing idle times due to synchronizations especially in a grid
+computing context.
+
+\begin{figure}[htbp]
+ \centering
+ \includegraphics[width=8cm]{AIAC.pdf}
+ \caption{The Asynchronous Iterations - Asynchronous Communications model }
+ \label{fig:aiac}
+\end{figure}
+
+
+
\section{SimGrid}
-\AG{Décrire SimGrid~\cite{casanova+legrand+quinson.2008.simgrid,SimGrid} (Arnaud)}
+SimGrid~\cite{casanova+legrand+quinson.2008.simgrid,SimGrid} is a simulation
+framework to sudy the behavior of large-scale distributed systems. As its name
+says, it emanates from the grid computing community, but is nowadays used to
+study grids, clouds, HPC or peer-to-peer systems.
+%- open source, developped since 1999, one of the major solution in the field
+%
+SimGrid provides several programming interfaces: MSG to simulate Concurrent
+Sequential Processes, SimDAG to simulate DAGs of (parallel) tasks, and SMPI to
+run real applications written in MPI~\cite{MPI}. Apart from the native C
+interface, SimGrid provides bindings for the C++, Java, Lua and Ruby programming
+languages. The SMPI interface supports applications written in C or Fortran,
+with little or no modifications.
+%- implements most of MPI-2 \cite{ref} standard [CHECK]
+
+%%% explain simulation
+%- simulated processes folded in one real process
+%- simulates interactions on the network, fluid model
+%- able to skip long-lasting computations
+%- traces + visu?
-%%% brief history?
-%%% programming interfaces: MSG, SimDAG, SMPI
%%% platforms
-%%% validation?
+%- describe resources and their interconnection, with their properties
+%- XML files
+
+%%% validation + refs
+
+\AG{Décrire SimGrid~\cite{casanova+legrand+quinson.2008.simgrid,SimGrid} (Arnaud)}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Simulation of the multisplitting method}