]> AND Private Git Repository - loba-papers.git/blob - supercomp11/supercomp11.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
introduction
[loba-papers.git] / supercomp11 / supercomp11.tex
1
2 \documentclass[smallextended]{svjour3}
3 \usepackage{graphicx}
4
5 \begin{document}
6
7 \title{Best effort strategy and virtual load for asynchronous iterative load balancing}
8
9 \author{Raphaël Couturier \and
10         Arnaud Giersch \and
11         Abderrahmane Sider
12 }
13
14 \institute{F. Author \at
15               first address \\
16               Tel.: +123-45-678910\\
17               Fax: +123-45-678910\\
18               \email{fauthor@example.com}           %  \\
19 %             \emph{Present address:} of F. Author  %  if needed
20            \and
21            S. Author \at
22               second address
23 }
24
25 \maketitle
26
27
28 \begin{abstract}
29
30 Most of the  time, asynchronous load balancing algorithms  have extensively been
31 studied in a theoretical point  of view. The Bertsekas and Tsitsiklis' algorithm
32 is certainly  the most well known  algorithm for which the  convergence proof is
33 given. From a  practical point of view, when  a node wants to balance  a part of
34 its  load to some  of its  neighbors, the  strategy is  not described.   In this
35 paper, we propose a strategy  called \texttt{best effort} which tries to balance
36 the load of a node to all  its less loaded neighbors while ensuring that all the
37 nodes  concerned by  the load  balancing  phase have  the same  amount of  load.
38 Moreover,  asynchronous  iterative  algorithms  in which  an  asynchronous  load
39 balancing  algorithm is  implemented most  of the  time can  dissociate messages
40 concerning load transfers and message  concerning load information.  In order to
41 increase  the  converge of  a  load balancing  algorithm,  we  propose a  simple
42 heuristic called \texttt{virtual load} which allows a node that receives an load
43 information message  to integrate the  load that it  will receive latter  in its
44 load (virtually) and consequently sends a (real) part of its load to some of its
45 neighbors.  In order to  validate our  approaches, we  have defined  a simulator
46 based on SimGrid which allowed us to conduct many experiments.
47
48
49 \end{abstract}
50
51 \section{Introduction}
52
53 Load  balancing algorithms  are  extensively used  in  parallel and  distributed
54 applications in  order to  reduce the  execution times. They  can be  applied in
55 different scientific  fields from high  performance computation to  micro sensor
56 networks.   They are  iterative by  nature.  In  literature many  kinds  of load
57 balancing  algorithms  have been  studied.   They  can  be classified  according
58 different  criteria:   centralized  or  decentralized,  in   static  or  dynamic
59 environment,  with  homogeneous  or  heterogeneous load,  using  synchronous  or
60 asynchronous iterations, with  a static topology or a  dynamic one which evolves
61 during time.  In  this work, we focus on  asynchronous load balancing algorithms
62 where computer nodes  are considered homogeneous and with  homogeneous load with
63 no external  load. In  this context, Bertsekas  and Tsitsiklis have  proposed an
64 algorithm which is definitively a reference  for many works. In their work, they
65 proved that under classical  hypotheses of asynchronous iterative algorithms and
66 a  special  constraint   avoiding  \texttt{ping-pong}  effect,  an  asynchronous
67 iterative algorithm  converge to  the uniform load  distribution. This  work has
68 been extended by many authors. For example, DASUD proposes a version working with
69 integer load. {\bf Rajouter des choses ici}.
70
71 Although  the Bertsekas  and Tsitsiklis'  algorithm describes  the  condition to
72 ensure the convergence,  there is no indication or  strategy to really implement
73 the load distribution. In other word, a node  can send a part of its load to one
74 or   many  of   its  neighbors   while  all   the  convergence   conditions  are
75 followed. Consequently,  we propose a  new strategy called  \texttt{best effort}
76 that tries to balance the load of  a node to all its less loaded neighbors while
77 ensuring that all the nodes concerned  by the load balancing phase have the same
78 amount of  load.  Moreover, when real asynchronous  applications are considered,
79 using  asynchronous   load  balancing   algorithms  can  reduce   the  execution
80 times. Most of the times, it is simpler to distinguish load information messages
81 from  data  migration  messages.  Formers  ones  allows  a  node to  inform  its
82 neighbors of its  current load. These messages are very small,  they can be sent
83 quite often.  For example, if an  computing iteration takes  a significant times
84 (ranging from seconds to minutes), it is possible to send a new load information
85 message at each  neighbor at each iteration. Latter  messages contains data that
86 migrates from one node to another one. Depending on the application, it may have
87 sense or not  that nodes try to balance  a part of their load  at each computing
88 iteration. But the time to transfer a load message from a node to another one is
89 often much nore longer that to  time to transfer a load information message. So,
90 when a node receives the information  that later it will receive a data message,
91 it can take this information into account  and it can consider that its new load
92 is larger.   Consequently, it can  send a part  of it real  load to some  of its
93 neighbors if required. We call this trick the \texttt{virtual load} mecanism.
94
95
96
97 So, in  this work, we propose a  new strategy for improving  the distribution of
98 the  load  and  a  simple  but  efficient trick  that  also  improves  the  load
99 balacing. Moreover, we have conducted  many simulations with simgrid in order to
100 validate our improvements are really efficient. Our simulations consider that in
101 order  to send a  message, a  latency delays  the sending  and according  to the
102 network  performance and  the message  size, the  time of  the reception  of the
103 message also varies.
104
105 In the  following of this  paper, Section~\ref{BT algo} describes  the Bertsekas
106 and Tsitsiklis'  asynchronous load balancing  algorithm. Moreover, we  present a
107 possible  problem  in  the  convergence  conditions.   Section~\ref{Best-effort}
108 presents the best effort strategy which  provides an efficient way to reduce the
109 execution  times. In Section~\ref{Virtual  load}, the  virtual load  mecanism is
110 proposed. Simulations allowed to show that both our approaches are valid using a
111 quite realistic  model detailed in  Section~\ref{Simulations}. Finally we  give a
112 conclusion and some perspectives to this work.
113
114
115
116
117 \section{Bertsekas  and Tsitsiklis' asynchronous load balancing algorithm}
118 \label{BT algo}
119
120 Comment on the problem in the convergence condition.
121
122 \section{Best effort strategy}
123 \label{Best-effort}
124
125
126
127 \section{Virtual load}
128 \label{Virtual load}
129
130 \section{Simulations}
131 \label{Simulations}
132
133 \subsection{Simulation model}
134
135 \subsection{Validation of our approaches}
136
137
138 \section{Conclusion and perspectives}
139
140
141
142 \end{document}