3 le mode des itérations généralisées nécessite que chaque élément
4 connaisse la valeur de chaque autre élément dont il dépend.
5 Pratiquement, cela se réalise en diffusant les valeurs des éléments de
6 proche en proche à tous les composants avant chaque itération.
7 Dans le mode généralisé
8 \emph{asynchrone}, le composant n'attend pas: il met à jour sa
9 valeur avec les dernières valeurs dont il dispose, même si celles-ci
11 Cette section vise l'étude de ce mode.
14 %\subsection{Généralisation au cadre asynchrone}
15 Pratiquement, chaque stratégie du mode généralisé peut être
16 mémorisée comme un nombre décimal dont la représentation en
17 binaire donne la liste des éléments modifiés. Par exemple, pour un système
18 à 5 éléments la stratégie définie par
19 \begin{equation}\label{eq:pseudo}
20 s^{t}=24 \textrm{ si $t$ est pair et } s^{t}=15 \textrm{ sinon }
22 \noindent active successivement les deux premiers éléments (24 est 11000)
23 et les quatre derniers éléments (15 est 01111).
24 % , it is sufficient to establish that the set $\{t \mid t \in \mathbb{N}
25 % \land \textit{bin}(s^t)[i] = 1\}$ is infinite for any $i$, $1 \le i \le n$,
27 % The synchronous iterations modes are defined for any $i \in
28 % \{1,\ldots,n\}$ and any time $t=0,1,2,...$ by:
30 % \begin{equation}\label{eq:sync}
33 % f_i(x^t) \textrm{ if } \textit{bin}(s^t)[i] = 1\\
34 % x^{t}_i \textrm{ otherwise }
39 % Notice that parallel iterations only constrain $s^t$ to be equal to $2^n-1$
40 % for any $t$ whereas chaotic iterations do not constrain $s$.
41 % for convenient reasons [[JFC : a affiner]], the set of components $\{1,
42 % \ldots, n\}$ may be partitioned into $\alpha$ blocks $b_1, \ldots,
44 % %Elements of $b_i$ are ordered w.r.t. the component number.
45 % For $1\le i \le \alpha$, let $B_i$ be the product-space of block $i$.
46 % Formaly, $B_i = \Pi_{j \in b_{i} } E_j$.
47 % To ease the reading, lowercase variable and upercase one represent
48 % respectively an element of some $E_i$ and a matrix of elements in some $E_i$.
49 % The components may be updated (in a random order) according to a
50 % strategy $s$, as in the synchronous mode.
51 Dans le mode asynchrone, à chaque itération $t$, chaque composant peut
52 mettre à jour son état en
53 fonction des dernières valeurs qu'il connaît des autres composants.
54 Obtenir ou non les valeurs les plus à jour dépend du temps de calcul et
55 du temps d'acheminement de celles-ci. On parle de latence, de délai.
57 Formalisons le mode des itérations asynchrone.
58 Soit $x^0 =(x_1^0, \ldots, x_n^0)$ une configuration initiale.
59 Soit $(D^{t})^{t \in \Nats}$ la suite de matrices de taille $n \times n$
60 dont chaque élément $D_{ij}^{t}$ représente la date (inférieure ou égale à $t$)
61 à laquelle la valeur $x_j$ produite par le composant $j$ devient
62 disponible au composant $i$.
63 On considère que le délai entre l'émission par $j$ et la réception par $i$,
64 défini par $\delta_{ij}^t = t - D_{ij}^{t}$, est borné par une constante $\delta_0$ pour tous les $i$, $j$.
65 Le \emph{mode des itérations généralisées asynchrone}
66 est défini pour chaque $i
67 \in \{1,\ldots,n\}$ et chaque $t=0,1,2,...$ par:
70 \begin{equation}\label{eq:async}
73 f_i( x_1^{D_{i1}^t},\ldots, x_{n}^{D_{i{n}}^t})
74 \textrm{ si } i \in s^t \\
75 x^{t}_i \textrm{ sinon.}
80 \noindent où $\textit{bin}$ convertit un entier en un nombre binaire.
81 Les itérations de $f$ sont \emph{convergentes} modulo une configuration
82 initiale $x^0$, une stratégie $s$ et une matrice de dates $(D^{t})^{t \in
83 \Nats}$, si la fonction atteint un point fixe.
84 Cela revient à vérifier la propriété suivante:
85 \begin{equation}\label{eq:conv}
88 t \geq t_0 \Rightarrow x^{t}=x^{t_0}).
90 Sinon les itérations sont dites \emph{divergentes}.
91 De plus, si $ (x^{(t)})^{t \in \mathbb{N}}$ défini selon l'équation
92 \Equ{eq:async} satisfait \Equ{eq:conv} pour tous les $x^{(0)}
93 \in E$, pour toutes les stratégies pseudo-périodiques
94 $s$ et pour toutes les matrices de dates,
95 $(D^{(t)})^{t \in \Nats}$, alors les itérations de $f$ sont
96 \emph{universellement convergentes}.
100 On considère cinq éléments à valeurs dans $\Bool$.
101 Une configuration dans $\Bool^5$ est représentée par un entier entre
103 La~\Fig{fig:mix:map} donne la fonction définissant la dynamique du
104 système et son graphe d'interaction.
105 On note que le graphe d'interaction contient cinq cycles. Les résultats
106 connus~\cite{Bah00} de conditions suffisantes établissant la convergence
107 du système pour les itérations généralisées sont
108 basés sur l'absence de cycles. Ils ne peuvent donc pas être appliqués ici.
114 f_1(x_1,x_2,x_3,x_4,x_5) & = & x_1.\overline{x_2} + \overline{x_1}.x_2 \\
115 f_2(x_1,x_2,x_3,x_4,x_5) & = & \overline{x_1 + x_2} \\
116 f_3(x_1,x_2,x_3,x_4,x_5) & = & x_3.\overline{x_1} \\
117 f_4(x_1,x_2,x_3,x_4,x_5) & = & x_5 \\
118 f_5(x_1,x_2,x_3,x_4,x_5) & = & \overline{x_3} + x_4
123 \includegraphics[scale=0.55]{xplgraphmix}
125 \caption{Définition de $f:\Bool^5 \rightarrow \Bool^5$ et son graphe d'interaction}
132 \subfigure[Itérations synchrones de $f$.]{
133 \includegraphics[scale=0.50]{para_iterate_dec}
134 \label{fig:mix:xplparaFig}
136 \subfigure[Extrait des itérations unaires.]{
137 \includegraphics[scale=0.49]{chao_iterate_excerpt}
138 \label{fig:mix:xplchaoFig}
141 \caption{Graphes des itérations de $f$ définie à la figure~\ref{fig:mix:map}}
146 Dans ce qui suit, les configurations sont représentées à l'aide d'entiers
147 plutôt que nombres binaires. Le graphe des itérations synchrones est donné
148 en~\Fig{fig:mix:xplparaFig}. Depuis n'importe quelle configuration, on constate
149 qu'il converge vers le point fixe correspondant à l'entier 19.
150 Un extrait du graphe des itérations unaires est donné à
151 la~\Fig{fig:mix:xplchaoFig}. Les libellés des arcs correspondent aux éléments
152 activés. Les itérations unaires ne convergent pas pour la stratégie
153 pseudo-périodique donnée à l'équation~\Equ{eq:pseudo}:
154 le système peut infiniment boucler entre 11 et 3, entre 15 et 7.
156 Comme les itérations unaires ne convergent pas pour certaines stratégies,
157 les itérations asynchrones basées sur les même stratégies peuvent ne pas
158 converger non plus. Cependant, même si l'on considère que tous les composants
159 sont activés à chaque itération, c'est à dire si $s^t$ est
160 constamment égal à $2^n-1$, le délai peut introduire de la divergence.
161 On considère par exemple la matrice $D^t$ dont chaque élément vaut $t$
162 sauf $D^t_{12}$ qui vaut $t-1$ si $t$ est impair.
163 On a ainsi $x^{t+1}= f(x^{t})$ si $t$ est pair et
166 f_1(x_1^{t},x_2^{t-1},x_3^{t},x_4^{t},x_5^{t}), f_2(x^{t}), \ldots,
171 En démarrant de $x^0=00011$, le système atteint $x^1 = 01011$ et boucle entre
172 ces deux configurations. Pour une même stratégie, les itérations
173 asynchrones divergent alors que les synchrones convergent.
174 Les sections suivantes de ce chapitre montrent comment résoudre ce problème.
176 \subsection{Itérations mixtes}
177 Introduit dans~\cite{abcvs05}
178 le mode d'\emph{itérations mixtes} combine synchronisme et asynchronisme.
179 Intuitivement, les n{\oe}uds qui pourraient introduire des cycles dans
180 les itérations asynchrones sont regroupés.
181 Les noeuds à l'intérieur de chaque groupe seront itérés de manière
183 Les itérations asynchrones sont conservées entre les groupes.
185 \begin{Def}[Relation de Synchronisation]\label{def:eqrel}
186 Soit une fonction $f$ et $\Gamma(f)$ son graphe d'interaction.
187 La \emph{relation de synchronisation} $\eqNode$ est
188 définie sur l'ensemble des n{\oe}uds par:
189 $i \eqNode j$ si $i$ et $j$ appartiennent à la même composante fortement
190 connexe (CFC) dans $\Gamma(f)$.
193 On peut facilement démontrer que la relation de synchronisation est une
194 relation d'équivalence sur l'ensemble des éléments.
195 On introduit quelques notations: par la suite \class{i} représente la classe
196 d'équivalence de $i$ et $\mathcal{K}$ représente l'ensemble de toutes
197 les classes, \textit{i.e.},
198 $\mathcal{K}=\{1,\ldots,n\}/\eqNode$. On peut définir les itérations mixtes.
200 \begin{Def}[Itérations mixtes]
201 Les itérations mixtes d'un système discret suivent l'équation \Equ{eq:async} où
202 de plus $bin(s^t)[i]=bin(s^t)[j]$ et $D_{ij}^t=D_{ji}^t=t$ si $i \eqNode j$.
205 Dans ce contexte, il n'y a plus de délai entre deux noeuds de la même CFC
206 et leurs mises à jour sont synchronisées.
207 Cependant, pour $p_0$ et $p_1$ dans la même classe \class{p},
208 et $q$ dans une autre classe \class{q}, ce mode opératoire autorise
209 des délais différents entre $p_0$ et $q$ et entre $p_1$ et $q$.
210 Ainsi $p_1$ et $p_2$ sont distinguables même s'ils appartiennent à la même
212 Pour gommer cette distinction, on définit le mode suivant:
213 \begin{Def}[Itérations mixtes avec delais uniformes]
214 Le mode mixte a des \emph{délais uniformes} si pour chaque
215 $t=0,1,\ldots$ et pour chaque paire de classes $(\class{p}, \class{q})$,
216 il existe une constante $d^t_{pq}$ telle que la propriété suivante est
219 % \forall t\, .\, D_{p_0q_0}^{t} = D_{p_1q_1}^{t}
220 \bigwedge_{p_k \in \class{p}, q_k \in \class{q} }
221 D_{p_{k}q_{k}}^{t} = d_{pq}^t
225 On a alors le théorème suivant.
228 \begin{theorem}\label{th:cvg}
229 Soit une fonction $f$ possédant un unique point fixe $x^*$ et une stratégie
230 pseudo-périodique $s$.
231 Si les itérations synchrones convergent vers $x^*$ pour cette stratégie,
232 alors les itérations mixtes à délai uniforme convergent aussi vers $x^*$
233 pour cette stratégie.
236 La preuve de ce théorème est donnée en section~\ref{anx:mix}.
241 \subsection{Durées de convergence}
242 Cette section donne des bornes supérieures et inférieures des durées
243 globales de convergence pour les modes synchrones, mixtes et asynchrones.
244 Pour simplifier le discours, on considère que les itérations
245 convergent en $I$ étapes dans le mode synchrone et que le graphe
246 d'interaction ne contient qu'une seule composante connexe.
247 Les durées de convergence prennent en compte les temps de calcul et les temps
248 de communication, ce depuis l'initialisation et jusqu'à la stabilisation.
250 Pour simplifier l'évaluation, nous considérons que le temps de calcul d'une
251 itération sur un composant ainsi que celui de communication entre deux
252 composants est constant. Ceci implique en particulier que, dans
253 le mode asynchrone, ces derniers sont bornés. En d'autres mots, il existe
254 un entier $\delta_0$ tel que $0 \le t-D_{ij}^t \le \delta_0$ est établi
255 pour tout couple de n{\oe}uds $(i,j)$.
256 Les notations utilisées sont les suivantes:
258 \item [Taille pour coder l'information] elle représente le nombre
261 pour représenter l'état courant du composant $i$ et est notée $\textit{cs}_i$;
262 \item [Temps de calcul] le composant $i$ a besoin de $\textit{cp}_i$ unités de temps
263 pour faire une mise à jour locale de son état;
264 \item [Temps de communication] on utilise le modèle classique de communication
265 $\beta+L\tau$ où $L$ est le nombre de bits transférés.
266 On définit $\beta_{ij}$ et $\tau_{ij}$ comme la latence et la bande passante du lien
270 % The updating strategy and the delays are respectively related to the computation
271 % and the communication times. In fact, the notion of strategy in dynamical
272 % systems models the power heterogeneity between the components of the system. And
273 % the notion of delays models the heterogeneity in the communication links between
276 \subsection{Le mode synchrone}
279 Dans le cas synchrone, la convergence la plus rapide est obtenue lorsque
280 le point fixe $x^*$ est accessible en un seul pas depuis toute configuration.
281 Le temps global de convergence est donc minoré par $T_{min}(Sync)=\max_i\textit{cp}_i$
282 Dans le cas général, si $B$ est la matrice d'adjacence représentant le
283 graphe d'interaction, le temps global de convergence est
286 T(\textit{Sync})=I\times(\max_i\textit{cp}_i+\max_{i,j}(B_{ji}\times(\beta_{ij}+\textit{cs}_i\times\tau_{ij})))
291 Intuitivement la convergence se propage selon les dépendances internes au système:
292 un n{\oe}ud se stabilise lorsque ceux dont il dépend sont eux aussi stables.
293 Cette stabilisation progressive est illustrée à la \Fig{fig:evalsync} qui
294 représente des exécutions synchrones dans le cas d'une initialisation avec la
296 Dans cette figure et les suivantes, les blocs doublement hachurés
297 indiquent la stabilisation du composant.
302 \begin{minipage}{1\linewidth}
303 \includegraphics[scale=0.4]{eval_sync}
304 \caption{Itérations synchrones}
308 \begin{minipage}{1\textwidth}
309 \includegraphics[scale=0.4]{eval_mixte}
310 \caption{Itérations mixtes avec
311 \class{1} $=\{1,2\}$, \class{3} $=\{3\}$,
312 \class{4} $=\{4,5\}$.}
313 \label{fig:evalmixte}
316 \begin{minipage}{1\textwidth}
317 \includegraphics[scale=0.4]{eval_async}
318 \caption{Itérations asynchrones}
319 \label{fig:evalasync}
325 On peut constater que la première classe \class{1} se stabilise en deux itérations,
326 la seconde classe \class{3} atteint sa valeur finale l'itération suivante
327 tandis que la dernière classe, \class{4}, converge en deux itérations.
330 I=I_{\class{1}}+I_{\class{3}}+I_{\class{4}}=2+1+2=5
334 % It is possible to speed up the global execution time while keeping the same
335 % iteration scheme by relaxing the synchronization constraints only on the
336 % communications. In that case, called SIAC (Synchronous Iterations -
337 % Asynchronous Communications), a component sends its state value to every
338 % component which needs it as soon as that value has been updated. On the
339 % receiver side, an iteration begins only when all the state values corresponding
340 % to the previous iteration have been received from the other components whose
341 % the receiver depends on.
343 % In that context, the synchronous iterations scheme is preserved as every
344 % iteration on any component is computed using the dependency values from the
345 % previous iteration on the other components. So, the global behavior is
346 % preserved while the communication cost is decreased. Moreover, the
347 % synchronization is no more global but restricted to each connected component in
348 % the connection graph of the system. Their respective speeds of evolution depend
349 % on their \emph{source classes} (the classes without any external dependency).
350 % Also, between the starts of two consecutive iterations, a component may receive
351 % from its dependencies some data values which correspond either to the previous
352 % iteration or to the current one (from components which have already finished
353 % their current iteration). This implies a small buffering of the received data
354 % (two elements per dependency) and an explicit distinction of the received data
355 % according to their original iteration.
357 % Finally, as well as in the following subsections, it is not possible to provide
358 % an exact evaluation of the global execution time in that case, but we can
359 % provide lower and upper bounds. The worst case of that version coincides with
360 % the fully synchronous scheme previously described. And in the best case, all
361 % the communications are overlapped by the computations on the slowest component,
362 % implying the suppression of the communication term in~(\ref{eq:tsisc}).
364 % We have then the following boundaries:
367 % I\times(\max_i\textit{cp}_i)\le T(\textit{SIAC}) \le T(Sync)
370 % Figure~\ref{fig:evalsiac} illustrates the potential speed up obtained with the
371 % SIAC variant in the same context of our running example.
374 % % \includegraphics[width=\textwidth]{eval_siac.eps}
375 % \includegraphics[width=\textwidth]{eval_siac.eps}
376 % \caption{Execution of the \textit{SIAC} iterations starting from state 4
378 % \label{fig:evalsiac}
382 \subsection{le mode mixte}
383 \label{sec:evalmixed}
386 On considère $|\mathcal{K}|$ classes de composants synchronisés.
387 (comme donné en équation~(\ref{eq:I})).
388 Soit $I_k$ le nombre d'itérations suffisant pour que la classe
389 $\class{k} \in \mathcal{K}$ se stabilise
390 sachant que toutes ses dépendances ont déjà convergé.
391 Ainsi $I$ vaut $\sum_{\class{k} \in \mathcal{K}} I_k$.
392 La borne inférieure pour la durée de convergence des itérations asynchrones est
395 T(\textit{Mixed})\ge \sum_{k\in \mathcal{K}} I_k(\max_{l\in k}\textit{cp}_{l})
397 \noindent qui apparaît lorsque tous les délais de communication sont consommés
398 par des durées de calcul.
400 Concernant le majorant, celui-ci correspond au cas où
401 les durées de communications entre les classes
402 désynchronisées ne sont pas consommées par des calculs ou lorsque
403 chaque classe nécessite la stabilisation de tous ses
404 ascendants pour converger. On a dans ce cas:
409 T(\textit{Mixed})\le\sum_{k \in \mathcal{K}}\left(I_k\times(\max_{l\in
410 k}\textit{cp}_{l})+\max_{l\in k,e\in k', k\preceq k'}B_{el}\times(\beta_{le}+\textit{cs}_{l}\tau_{le})\right)
414 Une exécution du mode mixte est donnée à la~\Fig{fig:evalmixte}.
415 On peut constater que le temps d'exécution peut être
416 plus petit que pour le
420 \subsection{Le mode unaire asynchrone}
421 \label{sec:evalasync}
422 En termes de durée de convergence, ce mode peut être vu comme un
423 cas particulier du mode mixte où toutes les classes sont des singletons.
424 La borne minimale peut donc s'exprimer comme:
427 T(\textit{Async})\ge\max_{i=1}^{n}I_i\times \textit{cp}_{i}
429 où $I_i$ est le nombre d'itérations suffisant pour que le n{\oe}ud $i$ converge
430 et qui est atteint si tous les n{\oe}uds sont indépendants les uns des autres.
431 Cette borne est arbitrairement faible et n'est pas atteinte dès qu'une
433 La borne supérieure quant à elle est donnée par:
436 T(\textit{Async})\le\sum_{i=1}^{n}\left(I_i\times \textit{cp}_{i}+\max_{1\le k \le n}B_{ki}(\beta_{ik}+\textit{cs}_{i}\tau_{ik})\right)
438 et apparaît lorsque chaque élément dépend des autres et que les calculs
439 ne recouvrent nullement les communications.
442 La \Fig{fig:evalasync} présente un exemple d'exécution du mode unaire
444 Certaines communications issues de l'élément $4$ n'ont pas été représentées
445 pour des raisons de clarté.
446 On constate que le temps global de convergence est plus petit que celui des
464 % The part of asynchronism often reduces the global execution time as the
465 % communications between subgroups are implicitly overlapped by computations.
466 % However, the iterative scheme is no more the same as the synchronous one and its
467 % number of iterations to reach the convergence will be greater or equal.
471 %%% TeX-master: "main"
472 %%% ispell-dictionary: "french"