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}