X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/hpcc2014.git/blobdiff_plain/46669e8faa395b87637d880f68557ff065c78d04..a9757b4dc9aad25ed2dc6884c0bd638a0f101c31:/hpcc.tex

diff --git a/hpcc.tex b/hpcc.tex
index 7389e3e..5ab9faf 100644
--- a/hpcc.tex
+++ b/hpcc.tex
@@ -169,16 +169,75 @@ our future work after the results.
  
 \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}
