]> AND Private Git Repository - hpcc2014.git/blob - hpcc.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
220b800cc9938baa1f6dc31527bd6d302fc12fb9
[hpcc2014.git] / hpcc.tex
1
2 %% bare_conf.tex
3 %% V1.3
4 %% 2007/01/11
5 %% by Michael Shell
6 %% See:
7 %% http://www.michaelshell.org/
8 %% for current contact information.
9 %%
10 %% This is a skeleton file demonstrating the use of IEEEtran.cls
11 %% (requires IEEEtran.cls version 1.7 or later) with an IEEE conference paper.
12 %%
13 %% Support sites:
14 %% http://www.michaelshell.org/tex/ieeetran/
15 %% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/
16 %% and
17 %% http://www.ieee.org/
18
19 %%*************************************************************************
20 %% Legal Notice:
21 %% This code is offered as-is without any warranty either expressed or
22 %% implied; without even the implied warranty of MERCHANTABILITY or
23 %% FITNESS FOR A PARTICULAR PURPOSE! 
24 %% User assumes all risk.
25 %% In no event shall IEEE or any contributor to this code be liable for
26 %% any damages or losses, including, but not limited to, incidental,
27 %% consequential, or any other damages, resulting from the use or misuse
28 %% of any information contained here.
29 %%
30 %% All comments are the opinions of their respective authors and are not
31 %% necessarily endorsed by the IEEE.
32 %%
33 %% This work is distributed under the LaTeX Project Public License (LPPL)
34 %% ( http://www.latex-project.org/ ) version 1.3, and may be freely used,
35 %% distributed and modified. A copy of the LPPL, version 1.3, is included
36 %% in the base LaTeX documentation of all distributions of LaTeX released
37 %% 2003/12/01 or later.
38 %% Retain all contribution notices and credits.
39 %% ** Modified files should be clearly indicated as such, including  **
40 %% ** renaming them and changing author support contact information. **
41 %%
42 %% File list of work: IEEEtran.cls, IEEEtran_HOWTO.pdf, bare_adv.tex,
43 %%                    bare_conf.tex, bare_jrnl.tex, bare_jrnl_compsoc.tex
44 %%*************************************************************************
45
46 % *** Authors should verify (and, if needed, correct) their LaTeX system  ***
47 % *** with the testflow diagnostic prior to trusting their LaTeX platform ***
48 % *** with production work. IEEE's font choices can trigger bugs that do  ***
49 % *** not appear when using other class files.                            ***
50 % The testflow support page is at:
51 % http://www.michaelshell.org/tex/testflow/
52
53
54
55 % Note that the a4paper option is mainly intended so that authors in
56 % countries using A4 can easily print to A4 and see how their papers will
57 % look in print - the typesetting of the document will not typically be
58 % affected with changes in paper size (but the bottom and side margins will).
59 % Use the testflow package mentioned above to verify correct handling of
60 % both paper sizes by the user's LaTeX system.
61 %
62 % Also note that the "draftcls" or "draftclsnofoot", not "draft", option
63 % should be used if it is desired that the figures are to be displayed in
64 % draft mode.
65 %
66 \documentclass[conference]{IEEEtran}
67 % Add the compsoc option for Computer Society conferences.
68 %
69 % If IEEEtran.cls has not been installed into the LaTeX system files,
70 % manually specify the path to it like:
71 % \documentclass[conference]{../sty/IEEEtran}
72
73
74
75
76
77 % Some very useful LaTeX packages include:
78 % (uncomment the ones you want to load)
79
80
81 % *** CITATION PACKAGES ***
82 %
83 %\usepackage{cite}
84 % cite.sty was written by Donald Arseneau
85 % V1.6 and later of IEEEtran pre-defines the format of the cite.sty package
86 % \cite{} output to follow that of IEEE. Loading the cite package will
87 % result in citation numbers being automatically sorted and properly
88 % "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using
89 % cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's
90 % \cite will automatically add leading space, if needed. Use cite.sty's
91 % noadjust option (cite.sty V3.8 and later) if you want to turn this off.
92 % cite.sty is already installed on most LaTeX systems. Be sure and use
93 % version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does
94 % not currently provide for hyperlinked citations.
95 % The latest version can be obtained at:
96 % http://www.ctan.org/tex-archive/macros/latex/contrib/cite/
97 % The documentation is contained in the cite.sty file itself.
98
99
100
101
102
103
104 % *** GRAPHICS RELATED PACKAGES ***
105 %
106 \ifCLASSINFOpdf
107   % \usepackage[pdftex]{graphicx}
108   % declare the path(s) where your graphic files are
109   % \graphicspath{{../pdf/}{../jpeg/}}
110   % and their extensions so you won't have to specify these with
111   % every instance of \includegraphics
112   % \DeclareGraphicsExtensions{.pdf,.jpeg,.png}
113 \else
114   % or other class option (dvipsone, dvipdf, if not using dvips). graphicx
115   % will default to the driver specified in the system graphics.cfg if no
116   % driver is specified.
117   % \usepackage[dvips]{graphicx}
118   % declare the path(s) where your graphic files are
119   % \graphicspath{{../eps/}}
120   % and their extensions so you won't have to specify these with
121   % every instance of \includegraphics
122   % \DeclareGraphicsExtensions{.eps}
123 \fi
124 % graphicx was written by David Carlisle and Sebastian Rahtz. It is
125 % required if you want graphics, photos, etc. graphicx.sty is already
126 % installed on most LaTeX systems. The latest version and documentation can
127 % be obtained at: 
128 % http://www.ctan.org/tex-archive/macros/latex/required/graphics/
129 % Another good source of documentation is "Using Imported Graphics in
130 % LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or
131 % epslatex.pdf at: http://www.ctan.org/tex-archive/info/
132 %
133 % latex, and pdflatex in dvi mode, support graphics in encapsulated
134 % postscript (.eps) format. pdflatex in pdf mode supports graphics
135 % in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure
136 % that all non-photo figures use a vector format (.eps, .pdf, .mps) and
137 % not a bitmapped formats (.jpeg, .png). IEEE frowns on bitmapped formats
138 % which can result in "jaggedy"/blurry rendering of lines and letters as
139 % well as large increases in file sizes.
140 %
141 % You can find documentation about the pdfTeX application at:
142 % http://www.tug.org/applications/pdftex
143
144
145
146
147
148 % *** MATH PACKAGES ***
149 %
150 %\usepackage[cmex10]{amsmath}
151 % A popular package from the American Mathematical Society that provides
152 % many useful and powerful commands for dealing with mathematics. If using
153 % it, be sure to load this package with the cmex10 option to ensure that
154 % only type 1 fonts will utilized at all point sizes. Without this option,
155 % it is possible that some math symbols, particularly those within
156 % footnotes, will be rendered in bitmap form which will result in a
157 % document that can not be IEEE Xplore compliant!
158 %
159 % Also, note that the amsmath package sets \interdisplaylinepenalty to 10000
160 % thus preventing page breaks from occurring within multiline equations. Use:
161 %\interdisplaylinepenalty=2500
162 % after loading amsmath to restore such page breaks as IEEEtran.cls normally
163 % does. amsmath.sty is already installed on most LaTeX systems. The latest
164 % version and documentation can be obtained at:
165 % http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/
166
167
168
169
170
171 % *** SPECIALIZED LIST PACKAGES ***
172 %
173 %\usepackage{algorithmic}
174 % algorithmic.sty was written by Peter Williams and Rogerio Brito.
175 % This package provides an algorithmic environment fo describing algorithms.
176 % You can use the algorithmic environment in-text or within a figure
177 % environment to provide for a floating algorithm. Do NOT use the algorithm
178 % floating environment provided by algorithm.sty (by the same authors) or
179 % algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated
180 % algorithm float types and packages that provide these will not provide
181 % correct IEEE style captions. The latest version and documentation of
182 % algorithmic.sty can be obtained at:
183 % http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/
184 % There is also a support site at:
185 % http://algorithms.berlios.de/index.html
186 % Also of interest may be the (relatively newer and more customizable)
187 % algorithmicx.sty package by Szasz Janos:
188 % http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/
189
190
191
192
193 % *** ALIGNMENT PACKAGES ***
194 %
195 %\usepackage{array}
196 % Frank Mittelbach's and David Carlisle's array.sty patches and improves
197 % the standard LaTeX2e array and tabular environments to provide better
198 % appearance and additional user controls. As the default LaTeX2e table
199 % generation code is lacking to the point of almost being broken with
200 % respect to the quality of the end results, all users are strongly
201 % advised to use an enhanced (at the very least that provided by array.sty)
202 % set of table tools. array.sty is already installed on most systems. The
203 % latest version and documentation can be obtained at:
204 % http://www.ctan.org/tex-archive/macros/latex/required/tools/
205
206
207 %\usepackage{mdwmath}
208 %\usepackage{mdwtab}
209 % Also highly recommended is Mark Wooding's extremely powerful MDW tools,
210 % especially mdwmath.sty and mdwtab.sty which are used to format equations
211 % and tables, respectively. The MDWtools set is already installed on most
212 % LaTeX systems. The lastest version and documentation is available at:
213 % http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/
214
215
216 % IEEEtran contains the IEEEeqnarray family of commands that can be used to
217 % generate multiline equations as well as matrices, tables, etc., of high
218 % quality.
219
220
221 %\usepackage{eqparbox}
222 % Also of notable interest is Scott Pakin's eqparbox package for creating
223 % (automatically sized) equal width boxes - aka "natural width parboxes".
224 % Available at:
225 % http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/
226
227
228
229
230
231 % *** SUBFIGURE PACKAGES ***
232 %\usepackage[tight,footnotesize]{subfigure}
233 % subfigure.sty was written by Steven Douglas Cochran. This package makes it
234 % easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE
235 % work, it is a good idea to load it with the tight package option to reduce
236 % the amount of white space around the subfigures. subfigure.sty is already
237 % installed on most LaTeX systems. The latest version and documentation can
238 % be obtained at:
239 % http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/
240 % subfigure.sty has been superceeded by subfig.sty.
241
242
243
244 %\usepackage[caption=false]{caption}
245 %\usepackage[font=footnotesize]{subfig}
246 % subfig.sty, also written by Steven Douglas Cochran, is the modern
247 % replacement for subfigure.sty. However, subfig.sty requires and
248 % automatically loads Axel Sommerfeldt's caption.sty which will override
249 % IEEEtran.cls handling of captions and this will result in nonIEEE style
250 % figure/table captions. To prevent this problem, be sure and preload
251 % caption.sty with its "caption=false" package option. This is will preserve
252 % IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later 
253 % (recommended due to many improvements over 1.2) of subfig.sty supports
254 % the caption=false option directly:
255 %\usepackage[caption=false,font=footnotesize]{subfig}
256 %
257 % The latest version and documentation can be obtained at:
258 % http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/
259 % The latest version and documentation of caption.sty can be obtained at:
260 % http://www.ctan.org/tex-archive/macros/latex/contrib/caption/
261
262
263
264
265 % *** FLOAT PACKAGES ***
266 %
267 %\usepackage{fixltx2e}
268 % fixltx2e, the successor to the earlier fix2col.sty, was written by
269 % Frank Mittelbach and David Carlisle. This package corrects a few problems
270 % in the LaTeX2e kernel, the most notable of which is that in current
271 % LaTeX2e releases, the ordering of single and double column floats is not
272 % guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a
273 % single column figure to be placed prior to an earlier double column
274 % figure. The latest version and documentation can be found at:
275 % http://www.ctan.org/tex-archive/macros/latex/base/
276
277
278
279 %\usepackage{stfloats}
280 % stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e
281 % the ability to do double column floats at the bottom of the page as well
282 % as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in
283 % LaTeX2e). It also provides a command:
284 %\fnbelowfloat
285 % to enable the placement of footnotes below bottom floats (the standard
286 % LaTeX2e kernel puts them above bottom floats). This is an invasive package
287 % which rewrites many portions of the LaTeX2e float routines. It may not work
288 % with other packages that modify the LaTeX2e float routines. The latest
289 % version and documentation can be obtained at:
290 % http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/
291 % Documentation is contained in the stfloats.sty comments as well as in the
292 % presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE
293 % does not allow \baselineskip to stretch. Authors submitting work to the
294 % IEEE should note that IEEE rarely uses double column equations and
295 % that authors should try to avoid such use. Do not be tempted to use the
296 % cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does
297 % not format its papers in such ways.
298
299
300
301
302
303 % *** PDF, URL AND HYPERLINK PACKAGES ***
304 %
305 %\usepackage{url}
306 % url.sty was written by Donald Arseneau. It provides better support for
307 % handling and breaking URLs. url.sty is already installed on most LaTeX
308 % systems. The latest version can be obtained at:
309 % http://www.ctan.org/tex-archive/macros/latex/contrib/misc/
310 % Read the url.sty source comments for usage information. Basically,
311 % \url{my_url_here}.
312
313 % *** Do not adjust lengths that control margins, column widths, etc. ***
314 % *** Do not use packages that alter fonts (such as pslatex).         ***
315 % There should be no need to do such things with IEEEtran.cls V1.6 and later.
316 % (Unless specifically asked to do so by the journal or conference you plan
317 % to submit to, of course. )
318
319
320
321 \usepackage[T1]{fontenc}
322 \usepackage[utf8]{inputenc}
323 \usepackage{amsfonts,amssymb}
324 \usepackage{amsmath}
325 \usepackage{algorithm}
326 \usepackage{algpseudocode}
327 %\usepackage{amsthm}
328 \usepackage{graphicx}
329 %\usepackage{xspace}
330 \usepackage[american]{babel}
331 % Extension pour les liens intra-documents (tagged PDF)
332 % et l'affichage correct des URL (commande \url{http://example.com})
333 %\usepackage{hyperref}
334
335 \algnewcommand\algorithmicinput{\textbf{Input:}}
336 \algnewcommand\Input{\item[\algorithmicinput]}
337
338 \algnewcommand\algorithmicoutput{\textbf{Output:}}
339 \algnewcommand\Output{\item[\algorithmicoutput]}
340
341
342
343
344 \begin{document}
345 %
346 % paper title
347 % can use linebreaks \\ within to get better formatting as desired
348 \title{Simulation of Asynchronous Iterative Numerical Algorithms Using SimGrid}
349
350
351 % author names and affiliations
352 % use a multiple column layout for up to three different
353 % affiliations
354 \author{\IEEEauthorblockN{Raphaël Couturier and Arnaud Giersch and David Laiymani and Charles Emile Ramamonjisoa}
355 \IEEEauthorblockA{Femto-ST Institute - DISC Department\\
356 Université de Franche-Comté\\
357 Belfort\\
358 Email: raphael.couturier@univ-fcomte.fr}
359 %\and
360 %\IEEEauthorblockN{Arnaud Giersch}
361 %\IEEEauthorblockA{Twentieth Century Fox\\
362 %Springfield, USA\\
363 %Email: homer@thesimpsons.com}
364 %\and
365 %\IEEEauthorblockN{James Kirk\\ and Montgomery Scott}
366 %\IEEEauthorblockA{Starfleet Academy\\
367 %San Francisco, California 96678-2391\\
368 %Telephone: (800) 555--1212\\
369 %Fax: (888) 555--1212
370 }
371
372
373
374 % make the title area
375 \maketitle
376
377
378 \begin{abstract}
379 %\boldmath
380 The abstract goes here.
381 \end{abstract}
382 % IEEEtran.cls defaults to using nonbold math in the Abstract.
383 % This preserves the distinction between vectors and scalars. However,
384 % if the conference you are submitting to favors bold math in the abstract,
385 % then you can use LaTeX's standard command \boldmath at the very start
386 % of the abstract to achieve this. Many IEEE journals/conferences frown on
387 % math in the abstract anyway.
388
389 % no keywords
390
391
392
393
394 % For peer review papers, you can put extra information on the cover
395 % page as needed:
396 % \ifCLASSOPTIONpeerreview
397 % \begin{center} \bfseries EDICS Category: 3-BBND \end{center}
398 % \fi
399 %
400 % For peerreview papers, this IEEEtran command inserts a page break and
401 % creates the second title. It will be ignored for other modes.
402 \IEEEpeerreviewmaketitle
403
404
405
406 \section{Introduction}
407
408 Parallel computing and high performance computing (HPC) are becoming 
409 more and more imperative for solving various problems raised by 
410 researchers on various scientific disciplines but also by industrial in 
411 the field. Indeed, the increasing complexity of these requested 
412 applications combined with a continuous increase of their sizes lead to 
413 write distributed and parallel algorithms requiring significant hardware 
414 resources ( grid computing , clusters, broadband network ,etc... ) but 
415 also a non- negligible CPU execution time. We consider in this paper a 
416 class of highly efficient parallel algorithms called iterative executed 
417 in a distributed environment. As their name suggests, these algorithm 
418 solves a given problem that might be NP- complete complex by successive 
419 iterations (X$_{n +1 }$= f (X$_{n}$) ) from an initial value X
420 $_{0}$ to find an approximate value X* of the solution with a very low 
421 residual error. Several well-known methods demonstrate the convergence 
422 of these algorithms. Generally, to reduce the complexity and the 
423 execution time, the problem is divided into several "pieces" that will 
424 be solved in parallel on multiple processing units. The latter will 
425 communicate each intermediate results before a new iteration starts 
426 until the approximate solution is reached. These distributed parallel 
427 computations can be performed either in "synchronous" communication mode 
428 where a new iteration begin only when all nodes communications are 
429 completed, either "asynchronous" mode where processors can continue 
430 independently without or few synchronization points. Despite the 
431 effectiveness of iterative approach, a major drawback of the method is 
432 the requirement of huge resources in terms of computing capacity, 
433 storage and high speed communication network. Indeed, limited physical 
434 resources are blocking factors for large-scale deployment of parallel 
435 algorithms. 
436
437 In recent years, the use of a simulation environment to execute parallel 
438 iterative algorithms found some interests in reducing the highly cost of 
439 access to computing resources: (1) for the applications development life 
440 cycle and in code debugging (2) and in production to get results in a 
441 reasonable execution time with a simulated infrastructure not accessible 
442 with physical resources. Indeed, the launch of distributed iterative 
443 asynchronous algorithms to solve a given problem on a large-scale 
444 simulated environment challenges to find optimal configurations giving 
445 the best results with a lowest residual error and in the best of 
446 execution time. According our knowledge, no testing of large-scale 
447 simulation of the class of algorithm solving to achieve real results has 
448 been undertaken to date. We had in the scope of this work implemented a 
449 program for solving large non-symmetric linear system of equations by 
450 numerical method GMRES (Generalized Minimal Residual ) in the simulation 
451 environment Simgrid . The simulated platform had allowed us to launch 
452 the application from a modest computing infrastructure by simulating 
453 different distributed architectures composed by clusters nodes 
454 interconnected by variable speed networks. In addition, it has been 
455 permitted to show the effectiveness of asynchronous mode algorithm by 
456 comparing its performance with the synchronous mode time. With selected 
457 parameters on the network platforms (bandwidth, latency of inter cluster 
458 network) and on the clusters architecture (number, capacity calculation 
459 power) in the simulated environment , the experimental results have 
460 demonstrated not only the algorithm convergence within a reasonable time 
461 compared with the physical environment performance, but also a time 
462 saving of up to 40 \% in asynchronous mode.
463
464 This article is structured as follows: after this introduction, the next 
465 section will give a brief description of iterative asynchronous model. 
466 Then, the simulation framework SIMGRID will be presented with the 
467 settings to create various distributed architectures. The algorithm of 
468 the multi -splitting method used by GMRES written with MPI primitives 
469 and its adaptation to Simgrid with SMPI (Simulation MPI ) will be in the 
470 next section . At last, the experiments results carried out will be 
471 presented before the conclusion which we will announce the opening of 
472 our future work after the results.
473  
474 \section{The asynchronous iteration model}
475
476 Décrire le modèle asynchrone. Je m'en charge (DL)
477
478 \section{SimGrid}
479
480 Décrire SimGrid (Arnaud)
481
482
483
484
485
486
487
488 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
489 \section{Simulation of the multisplitting method}
490 %Décrire le problème (algo) traité ainsi que le processus d'adaptation à SimGrid.
491 Let $Ax=b$ be a large sparse system of $n$ linear equations in $\mathbb{R}$, where $A$ is a sparse square and nonsingular matrix, $x$ is the solution vector and $y$ is the right-hand side vector. We use a multisplitting method based on the block Jacobi partitioning to solve this linear system on a large scale platform composed of $L$ clusters of processors. In this case, we apply a row-by-row splitting without overlapping  
492 \[
493 \left(\begin{array}{ccc}
494 A_{11} & \cdots & A_{1L} \\
495 \vdots & \ddots & \vdots\\
496 A_{L1} & \cdots & A_{LL}
497 \end{array} \right)
498 \times 
499 \left(\begin{array}{c}
500 X_1 \\
501 \vdots\\
502 X_L
503 \end{array} \right)
504 =
505 \left(\begin{array}{c}
506 Y_1 \\
507 \vdots\\
508 Y_L
509 \end{array} \right)\] 
510 in such a way that successive rows of matrix $A$ and both vectors $x$ and $b$ are assigned to one cluster, where for all $l,i\in\{1,\ldots,L\}$ $A_{li}$ is a rectangular block of $A$ of size $n_l\times n_i$, $X_l$ and $Y_l$ are sub-vectors of $x$ and $y$, respectively, each of size $n_l$ and $\sum_{l} n_l=\sum_{i} n_i=n$.
511
512 The multisplitting method proceeds by iteration to solve in parallel the linear system by $L$ clusters of processors, in such a way each sub-system
513 \begin{equation}
514 \left\{
515 \begin{array}{l}
516 A_{ll}X_l = Y_l \mbox{,~such that}\\
517 Y_l = B_l - \displaystyle\sum_{i=1,i\neq l}^{L}A_{li}X_i,
518 \end{array}
519 \right.
520 \label{eq:4.1}
521 \end{equation}
522 is solved independently by a cluster and communication are required to update the right-hand side sub-vectors $Y_l$, such that the sub-vectors $X_i$ represent the data dependencies between the clusters. As each sub-system (\ref{eq:4.1}) is solved in parallel by a cluster of processors, our multisplitting method uses an iterative method as an inner solver which is easier to parallelize and more scalable than a direct method. In this work, we use the parallel GMRES method~\cite{ref1} which is one of the most used iterative method by many researchers. 
523
524 \begin{algorithm}
525 \caption{A multisplitting solver with inner iteration GMRES method}
526 \begin{algorithmic}[1]
527 \Input $A_l$ (local sparse matrix), $B_l$ (local right-hand side), $x^0$ (initial guess)
528 \Output $X_l$ (local solution vector)\vspace{0.2cm}
529 \State Load $A_l$, $B_l$, $x^0$
530 \State Initialize the shared vector $\hat{x}=x^0$
531 \For {$k=1,2,3,\ldots$ until the global convergence}
532 \State $x^0=\hat{x}$
533 \State Inner iteration solver: \Call{InnerSolver}{$x^0$, $k$}
534 \State Exchange the local solution ${X}_l^k$ with the neighboring clusters and copy the shared vector elements in $\hat{x}$
535 \EndFor
536
537 \Statex
538
539 \Function {InnerSolver}{$x^0$, $k$}
540 \State Compute the local right-hand side: $Y_l = B_l - \sum^L_{i=1,i\neq l}A_{li}X_i^0$
541 \State Solving the local splitting $A_{ll}X_l^k=Y_l$ using the parallel GMRES method, such that $X_l^0$ is the local initial guess
542 \State \Return $X_l^k$
543 \EndFunction
544 \end{algorithmic}
545 \label{algo:01}
546 \end{algorithm}
547 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
548
549
550
551
552
553
554
555
556 \section{Experimental results}
557
558 When the ``real'' application runs in the simulation environment and produces
559 the expected results, varying the input parameters and the program arguments
560 allows us to compare outputs from the code execution. We have noticed from this
561 study that the results depend on the following parameters: (1) at the network
562 level, we found that the most critical values are the bandwidth (bw) and the
563 network latency (lat). (2) Hosts power (GFlops) can also influence on the
564 results. And finally, (3) when submitting job batches for execution, the
565 arguments values passed to the program like the maximum number of iterations or
566 the ``external'' precision are critical to ensure not only the convergence of the
567 algorithm but also to get the main objective of the experimentation of the
568 simulation in having an execution time in asynchronous less than in synchronous
569 mode, in others words, in having a ``speedup'' less than 1 (Speedup = Execution
570 time in synchronous mode / Execution time in asynchronous mode).
571
572 A priori, obtaining a speedup less than 1 would be difficult in a local area
573 network configuration where the synchronous mode will take advantage on the rapid
574 exchange of information on such high-speed links. Thus, the methodology adopted
575 was to launch the application on clustered network. In this last configuration,
576 degrading the inter-cluster network performance will "penalize" the synchronous
577 mode allowing to get a speedup lower than 1. This action simulates the case of
578 clusters linked with long distance network like Internet.
579
580 As a first step, the algorithm was run on a network consisting of two clusters
581 containing fifty hosts each, totaling one hundred hosts. Various combinations of
582 the above factors have providing the results shown in Table~\ref{tab.cluster.2x50} with a matrix size
583 ranging from Nx = Ny = Nz = 62 to 171 elements or from 62$^{3}$ = 238328 to
584 171$^{3}$ = 5,211,000 entries.
585
586 Then we have changed the network configuration using three clusters containing
587 respectively 33, 33 and 34 hosts, or again by on hundred hosts for all the
588 clusters. In the same way as above, a judicious choice of key parameters has
589 permitted to get the results in Table~\ref{tab.cluster.3x33} which shows the speedups less than 1 with
590 a matrix size from 62 to 100 elements.
591
592 In a final step, results of an execution attempt to scale up the three clustered
593 configuration but increasing by two hundreds hosts has been recorded in Table~\ref{tab.cluster.3x67}.
594
595 Note that the program was run with the following parameters:
596
597 \paragraph*{SMPI parameters}
598
599 \begin{itemize}
600         \item HOSTFILE : Hosts file description.
601         \item PLATFORM: file description of the platform architecture : clusters (CPU power,
602 ... ) , intra cluster network description, inter cluster network (bandwidth bw ,
603 lat latency , ... ).
604 \end{itemize}
605
606
607 \paragraph*{Arguments of the program}
608
609 \begin{itemize}
610         \item Description of the cluster architecture;
611         \item Maximum number of internal and external iterations;
612         \item Internal and external precisions;
613         \item Matrix size NX , NY and NZ;
614         \item Matrix diagonal value = 6.0;
615         \item Execution Mode: synchronous or asynchronous.
616 \end{itemize}
617
618 \begin{table}
619   \centering
620   \caption{2 clusters X 50 nodes}
621   \label{tab.cluster.2x50}
622   \includegraphics[width=209pt]{img1.jpg}
623 \end{table}
624
625 \begin{table}
626   \centering
627   \caption{3 clusters X 33 nodes}
628   \label{tab.cluster.3x33}
629   \includegraphics[width=209pt]{img2.jpg}
630 \end{table}
631
632 \begin{table}
633   \centering
634   \caption{3 clusters X 67 nodes}
635   \label{tab.cluster.3x67}
636 %  \includegraphics[width=160pt]{img3.jpg}
637   \includegraphics[scale=0.5]{img3.jpg}
638 \end{table}
639
640 \paragraph*{Interpretations and comments}
641
642 After analyzing the outputs, generally, for the configuration with two or three
643 clusters including one hundred hosts (Tables~\ref{tab.cluster.2x50} and~\ref{tab.cluster.3x33}), some combinations of the
644 used parameters affecting the results have given a speedup less than 1, showing
645 the effectiveness of the asynchronous performance compared to the synchronous
646 mode.
647
648 In the case of a two clusters configuration, Table~\ref{tab.cluster.2x50} shows that with a
649 deterioration of inter cluster network set with 5 Mbits/s of bandwidth, a latency
650 in order of a hundredth of a millisecond and a system power of one GFlops, an
651 efficiency of about 40\% in asynchronous mode is obtained for a matrix size of 62
652 elements . It is noticed that the result remains stable even if we vary the
653 external precision from E -05 to E-09. By increasing the problem size up to 100
654 elements, it was necessary to increase the CPU power of 50 \% to 1.5 GFlops for a
655 convergence of the algorithm with the same order of asynchronous mode efficiency.
656 Maintaining such a system power but this time, increasing network throughput
657 inter cluster up to 50 Mbits /s, the result of efficiency of about 40\% is
658 obtained with high external  precision of E-11 for a matrix size from 110 to 150
659 side elements .
660
661 For the 3 clusters architecture including a total of 100 hosts, Table~\ref{tab.cluster.3x33} shows
662 that it was difficult to have a combination which gives an efficiency of
663 asynchronous below 80 \%. Indeed, for a matrix size of 62 elements, equality
664 between the performance of the two modes (synchronous and asynchronous) is
665 achieved with an inter cluster of 10 Mbits/s and a latency of E- 01 ms. To
666 challenge an efficiency by 78\% with a matrix size of 100 points, it was
667 necessary to degrade the inter cluster network bandwidth from 5 to 2 Mbit/s.
668
669 A last attempt was made for a configuration of three clusters but more power
670 with 200 nodes in total. The convergence with a speedup of 90 \% was obtained
671 with a bandwidth of 1 Mbits/s as shown in Table~\ref{tab.cluster.3x67}.
672
673 \section{Conclusion}
674
675
676 % An example of a floating figure using the graphicx package.
677 % Note that \label must occur AFTER (or within) \caption.
678 % For figures, \caption should occur after the \includegraphics.
679 % Note that IEEEtran v1.7 and later has special internal code that
680 % is designed to preserve the operation of \label within \caption
681 % even when the captionsoff option is in effect. However, because
682 % of issues like this, it may be the safest practice to put all your
683 % \label just after \caption rather than within \caption{}.
684 %
685 % Reminder: the "draftcls" or "draftclsnofoot", not "draft", class
686 % option should be used if it is desired that the figures are to be
687 % displayed while in draft mode.
688 %
689 %\begin{figure}[!t]
690 %\centering
691 %\includegraphics[width=2.5in]{myfigure}
692 % where an .eps filename suffix will be assumed under latex, 
693 % and a .pdf suffix will be assumed for pdflatex; or what has been declared
694 % via \DeclareGraphicsExtensions.
695 %\caption{Simulation Results}
696 %\label{fig_sim}
697 %\end{figure}
698
699 % Note that IEEE typically puts floats only at the top, even when this
700 % results in a large percentage of a column being occupied by floats.
701
702
703 % An example of a double column floating figure using two subfigures.
704 % (The subfig.sty package must be loaded for this to work.)
705 % The subfigure \label commands are set within each subfloat command, the
706 % \label for the overall figure must come after \caption.
707 % \hfil must be used as a separator to get equal spacing.
708 % The subfigure.sty package works much the same way, except \subfigure is
709 % used instead of \subfloat.
710 %
711 %\begin{figure*}[!t]
712 %\centerline{\subfloat[Case I]\includegraphics[width=2.5in]{subfigcase1}%
713 %\label{fig_first_case}}
714 %\hfil
715 %\subfloat[Case II]{\includegraphics[width=2.5in]{subfigcase2}%
716 %\label{fig_second_case}}}
717 %\caption{Simulation results}
718 %\label{fig_sim}
719 %\end{figure*}
720 %
721 % Note that often IEEE papers with subfigures do not employ subfigure
722 % captions (using the optional argument to \subfloat), but instead will
723 % reference/describe all of them (a), (b), etc., within the main caption.
724
725
726 % An example of a floating table. Note that, for IEEE style tables, the 
727 % \caption command should come BEFORE the table. Table text will default to
728 % \footnotesize as IEEE normally uses this smaller font for tables.
729 % The \label must come after \caption as always.
730 %
731 %\begin{table}[!t]
732 %% increase table row spacing, adjust to taste
733 %\renewcommand{\arraystretch}{1.3}
734 % if using array.sty, it might be a good idea to tweak the value of
735 % \extrarowheight as needed to properly center the text within the cells
736 %\caption{An Example of a Table}
737 %\label{table_example}
738 %\centering
739 %% Some packages, such as MDW tools, offer better commands for making tables
740 %% than the plain LaTeX2e tabular which is used here.
741 %\begin{tabular}{|c||c|}
742 %\hline
743 %One & Two\\
744 %\hline
745 %Three & Four\\
746 %\hline
747 %\end{tabular}
748 %\end{table}
749
750
751 % Note that IEEE does not put floats in the very first column - or typically
752 % anywhere on the first page for that matter. Also, in-text middle ("here")
753 % positioning is not used. Most IEEE journals/conferences use top floats
754 % exclusively. Note that, LaTeX2e, unlike IEEE journals/conferences, places
755 % footnotes above bottom floats. This can be corrected via the \fnbelowfloat
756 % command of the stfloats package.
757
758
759
760
761
762
763
764 % conference papers do not normally have an appendix
765
766
767 % use section* for acknowledgement
768 \section*{Acknowledgment}
769
770
771 The authors would like to thank...
772
773
774
775
776
777 % trigger a \newpage just before the given reference
778 % number - used to balance the columns on the last page
779 % adjust value as needed - may need to be readjusted if
780 % the document is modified later
781 %\IEEEtriggeratref{8}
782 % The "triggered" command can be changed if desired:
783 %\IEEEtriggercmd{\enlargethispage{-5in}}
784
785 % references section
786
787 % can use a bibliography generated by BibTeX as a .bbl file
788 % BibTeX documentation can be easily obtained at:
789 % http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/
790 % The IEEEtran BibTeX style support page is at:
791 % http://www.michaelshell.org/tex/ieeetran/bibtex/
792 \bibliographystyle{IEEEtran}
793 % argument is your BibTeX string definitions and bibliography database(s)
794 \bibliography{hpccBib}
795 %
796 % <OR> manually copy in the resultant .bbl file
797 % set second argument of \begin to the number of references
798 % (used to reserve space for the reference number labels box)
799 %\begin{thebibliography}{1}
800 %
801 %\bibitem{IEEEhowto:kopka}
802 %H.~Kopka and P.~W. Daly, \emph{A Guide to \LaTeX}, 3rd~ed.\hskip 1em plus
803 %  0.5em minus 0.4em\relax Harlow, England: Addison-Wesley, 1999.
804 %
805 %\end{thebibliography}
806
807
808
809
810 % that's all folks
811 \end{document}
812
813