X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/hdrcouchot.git/blobdiff_plain/2b04820abccb0772b10b2c53542ecddc6a6f600c..8e936c00e392b3c17977d1f959b601dbf17bbf0e:/mixage.tex?ds=sidebyside diff --git a/mixage.tex b/mixage.tex index d5f1981..e4a283c 100644 --- a/mixage.tex +++ b/mixage.tex @@ -3,7 +3,7 @@ Pour être exécuté, le mode des itérations généralisées nécessite que chaque élément connaisse la valeur de chaque autre élément dont il dépend. Pratiquement, cela se réalise en diffusant les valeurs des éléments de -proche en proche à tous les composants. +proche en proche à tous les composants avant chaque itération. Dans le mode généralisé \emph{asynchrone}, le composant n'attend pas: il met à jour sa valeur avec les dernières valeurs dont il dispose, même si celles-ci @@ -54,7 +54,7 @@ souvent. Dans le mode asynchrone, a chaque itération $t$, chaque composant peut mettre à jour son état en fonction des dernières valeurs qu'il connaît des autre composants. -Obtenir où non les valeurs les plus à jours dépend du temps de calcul et +Obtenir ou non les valeurs les plus à jours dépend du temps de calcul et du temps d'acheminement de celles-ci. On parle de latence, de délai. Formalisons le mode les itérations asynchrone. @@ -65,7 +65,7 @@ dont chaque élément $D_{ij}^{t}$ représente la date (inférieure ou égale à disponible au composant $i$. On considère que le délai entre l'émission par $j$ et la réception par $i$, défini par $\delta_{ij}^t = t - D_{ij}^{t}$ est borné par une constante $\delta_0$ pour tous les $i$, $j$. -Le \emph{mode des itérations généralisées sans attente} +Le \emph{mode des itérations généralisées asynchrone} est défini pour chaque $i \in \{1,\ldots,n\}$ et chaque $t=0,1,2,...$ par: @@ -74,7 +74,7 @@ est défini pour chaque $i x^{t+1}_i= \left\{ \begin{array}{l} f_i( x_1^{D_{i1}^t},\ldots, x_{n}^{D_{i{n}}^t}) - \textrm{ if } \textit{bin}(s^t)[i] = 1\\ + \textrm{ si } \textit{bin}(s^t)[i] = 1\\ x^{t}_i \textrm{ sinon } \end{array} \right. @@ -99,20 +99,20 @@ $(D^{(t)})^{t \in \Nats}$, alors les itérations de $f$ sont \emph{universellement convergentes}. -\subsection{Exemple jouet} -On considère cinq éléments prenant à valeurs dans $\Bool$. +\begin{xpl} +On considère cinq éléments à valeurs dans $\Bool$. Une configuration dans $\Bool^5$ est représentée par un entier entre -0 et 31. La~\Fig{fig:mix:map} donne la fonction définissant la dynamique du -système. La~\Fig{fig:mix:xplgraph} donne le graphe d'interaction associé à cette fonction. +0 et 31. +La~\Fig{fig:mix:map} donne la fonction définissant la dynamique du +système et son graphe d'interaction. On note que le graphe d'interaction contient cinq cycles. Les résultats connus~\cite{Bah00} de conditions suffisantes établissant la convergence du système pour les itérations généralisées sont basés sur l'absence de cycles. Ils ne peuvent donc pas être appliqués ici. -\begin{figure}[ht] -\begin{minipage}[b]{0.55\linewidth} - \centering - $ f(x)= \left \{ +\begin{figure}%[ht] + \begin{center} + $$ f(x)= \left \{ \begin{array}{lll} f_1(x_1,x_2,x_3,x_4,x_5) & = & x_1.\overline{x_2} + \overline{x_1}.x_2 \\ f_2(x_1,x_2,x_3,x_4,x_5) & = & \overline{x_1 + x_2} \\ @@ -120,48 +120,47 @@ basés sur l'absence de cycles. Ils ne peuvent donc pas être appliqués ici. f_4(x_1,x_2,x_3,x_4,x_5) & = & x_5 \\ f_5(x_1,x_2,x_3,x_4,x_5) & = & \overline{x_3} + x_4 \end{array} - \right. $ -\caption{Fonction $f$ de l'exemple jouet.} -\label{fig:mix:map} -\end{minipage}\hfill -\begin{minipage}[b]{.40\linewidth} - \begin{center} - \includegraphics[scale=0.55]{xplgraphmix} + \right. + $$ + + \includegraphics[scale=0.55]{xplgraphmix} \end{center} - \caption{Graphe d'interaction associé à $f$.} - \label{fig:mix:xplgraph} -\end{minipage} + \caption{Définition de $f:\Bool^5 \rightarrow \Bool^5$ et son graphe d'interaction} + \label{fig:mix:map} \end{figure} \begin{figure} -\begin{minipage}{0.56\linewidth} - \includegraphics[scale=0.55]{para_iterate_dec} - \caption{Itérations parallèles de $f$.}\label{fig:mix:xplparaFig} -\end{minipage} -\hfill -\begin{minipage}{0.39\linewidth} - \includegraphics[scale=0.55]{chao_iterate_excerpt} - \caption{Extrait d'itérations chaotiques.} - \label{fig:mix:xplchaoFig} -\end{minipage} + \begin{center} + \subfigure[Itérations synchrones de $f$.]{ + \includegraphics[scale=0.50]{para_iterate_dec} + \label{fig:mix:xplparaFig} + } + \subfigure[Extrait des itérations unaires.]{ + \includegraphics[scale=0.49]{chao_iterate_excerpt} + \label{fig:mix:xplchaoFig} + } + \end{center} + \caption{Graphes des itérations de $f$ définie à la figure~\ref{fig:mix:map}} \end{figure} +\end{xpl} + Dans ce qui suit, les configurations sont représentées à l'aide d'entiers -plutôt que nombres binaires. Le graphe des itérations parallèles est donné +plutôt que nombres binaires. Le graphe des itérations synchrones est donné en~\Fig{fig:mix:xplparaFig}. Depuis n'importe quelle configuration, on constate qu'il converge vers le point fixe correspondant à l'entier 19. -Un extrait du graphe des itérations chaotiques est donné à +Un extrait du graphe des itérations unaires est donné à la~\Fig{fig:mix:xplchaoFig}. Les libellés des arcs correspondent aux éléments -activés. Les itérations chaotiques ne convergent pas pour la stratégie +activés. Les itérations unaires ne convergent pas pour la stratégie pseudo périodique donnée à l'équation~\Equ{eq:pseudo}: le système peut infiniment boucler entre 11 et 3, entre 15 et 7. -Comme les itérations chaotiques ne convergent pas pour certaines stratégies, +Comme les itérations unaires ne convergent pas pour certaines stratégies, les itérations asynchrones basées sur les même stratégies peuvent ne pas converger aussi. Cependant, même si l'on considère que tous les composants sont activés à chaque itération, c'est à dire si $s^t$ est -constamment égal à $2^n-1$, le délais peut introduire de la divergence. +constamment égal à $2^n-1$, le délai peut introduire de la divergence. On considère par exemple la matrice $D^t$ dont chaque élément vaut $t$ sauf $D^t_{12}$ qui vaut $t-1$ si $t$ est impair. On a ainsi $x^{t+1}= f(x^{t})$ si $t$ est pair et @@ -174,7 +173,7 @@ $$ \noindent sinon. En démarrant de $x^0=00011$, le système atteint $x^1 = 01011$ et boucle entre ces deux configurations. Pour une même stratégies, les itérations -asynhrones divergent alors que les synchrones convergent. +asynchrones divergent alors que les synchrones convergent. Les sections suivantes de ce chapitre montrent comment résoudre ce problème. \subsection{Itérations Mixes} @@ -206,7 +205,7 @@ Les itérations mixes d'un système discret suit l'équation \Equ{eq:async} où de plus $bin(s^t)[i]=bin(s^t)[j]$ et $D_{ij}^t=D_{ji}^t=t$ si $i \eqNode j$. \end{Def} -Dans ce contexte, il n'y a plus de délais entre deux noeuds de la même CFC +Dans ce contexte, il n'y a plus de délai entre deux noeuds de la même CFC et leurs mises à jour sont synchronisées. Cependant, pour $p_0$ et $p_1$ dans la même classe \class{p}, et $q$ dans une autre classe \class{q}, ce mode opératoire autorise @@ -224,12 +223,6 @@ Pour gommer cette distinction, on définit le mode suivant: \bigwedge_{p_k \in \class{p}, q_k \in \class{q} } D_{p_{k}q_{k}}^{t} = d_{pq}^t \end{equation*} - % Je me demande si cette formalisation n'a pas un souci par rapport à une - % formalisation avec un seul q ?! (car deux éléments supposent qu'ils sont distincts) - % car si on a deux éléments dans chaque classe, on peut alors avoir deux - % groupes de délais : supposons (a,b) dans p et (c,d) dans q - % a,c et b,d sont égaux et a,d et b,c sont égaux mais rien n'implique que a,c et - % a,d soient égaux !!! \end{Def} On a alors le théorème suivant. @@ -252,7 +245,7 @@ La preuve de ce théorème est donnée en section~\ref{anx:mix}. Cette section donne des bornes supérieures et inférieures des durées globales de convergence pour les modes synchrones, mixes et asynchrones. Pour simplifier le discours, on considère que les itérations -convergent en in $I$ étapes dans le mode synchrone et que le graphe +convergent en $I$ étapes dans le mode synchrone et que le graphe d'interaction ne contient qu'une seule composante connexe. Les durées de convergence prennent en compte les temps de calcul et les temps de communication, ce depuis l'initialisation et jusqu'à la stabilisation. @@ -265,11 +258,13 @@ un entier $\delta_0$ tel que $0 \le t-D_{ij}^t \le \delta_0$ est établi pour tout couple de n{\oe}uds $(i,j)$. Les notations utilisées sont les suivantes: \begin{description} -\item [Taille pour coder l'information:] elle représente le nombre de nécessaire de bits +\item [Taille pour coder l'information] elle représente le nombre + de bits + nécessaires pour représenter l'état courant du composant $i$ et est notée $\textit{cs}_i$; -\item [Temps de calcul:] le composant $i$ a besoins de $\textit{cp}_i$ unités de temps +\item [Temps de calcul] le composant $i$ a besoins de $\textit{cp}_i$ unités de temps pour faire une mise à jour locale de son état; -\item [Temps de communication:] On utilise le modèle classique de communication +\item [Temps de communication] on utilise le modèle classique de communication $\beta+L\tau$ où $L$ est le nombre de bits transférés. On définit $\beta_{ij}$ et $\tau_{ij}$ comme la latence et la bande passante du lien entre $i$ et $j$. @@ -299,7 +294,7 @@ graphe d'interaction, le temps global de convergence est Intuitivement la convergence se propage selon les dépendances internes au système: un n{\oe}uds se stabilise lorsque ceux dont il dépend sont eux aussi stables. Cette stabilisation progressive est illustrée à la \Fig{fig:evalsync} qui - représente des exécutions parallèles dans le cas d'une initialisation avec la + représente des exécutions synchrones dans le cas d'une initialisation avec la valeur (00100). Dans cette figure et les suivantes, les blocs doublement hachurés indiquent la stabilisation du composant. @@ -309,7 +304,7 @@ graphe d'interaction, le temps global de convergence est \centering \begin{minipage}{1\linewidth} \includegraphics[scale=0.4]{eval_sync} - \caption{Itérations parallèles} + \caption{Itérations synchrones} \label{fig:evalsync} \end{minipage} @@ -390,38 +385,14 @@ graphe d'interaction, le temps global de convergence est \subsection{le mode mixe} \label{sec:evalmixed} -% As detailed in Sect.~\ref{sec:mdn}, the mixed case asynchronously combines -% subsets of synchronized components (the different classes). The double interest -% of that approach is to ensure the convergence of the system while using -% asynchronism. - -% The part of asynchronism often reduces the global execution time as the -% communications between subgroups are implicitly overlapped by computations. -% However, the iterative scheme is no more the same as the synchronous one and its -% number of iterations to reach the convergence will be greater or equal. - -% Le nombre d'itérations requises pour obtenir la convergence en mode mixe -% dépend des arangements entre les délais de communication et les durées de -% calcul. - -% number directly depends on the arrangement of delays during the execution and -% then on the communication times. But it also depends on the evolution functions -% which influence the way each part of the system stabilizes itself. -% In fact, according to its evolution function, a component may reach its fixed -% point state even with a part of its input data not recently updated. In -% addition, as mentioned earlier, the set of components in any system does not -% stabilize at the same time and there is often a propagation of the stabilization -% through the system. -% Also, the previously mentioned phenomenon of stabilization propagation through -% the system is still present in mixed mode. On considère $|\mathcal{K}|$ classes de composants synchronisés. -(comme donné en équation~(\ref{eq:I}). +(comme donné en équation~(\ref{eq:I})). Soit $I_k$ le nombre d'itérations suffisants pour que la classe -$k \in \mathcal{K}$ se stabilise +$\class{k} \in \mathcal{K}$ se stabilise sachant toutes ses dépendances ont déjà convergé. -Ainsi $I$ vaut $\sum_{k \in \mathcal{K}} I_k$. -La borne inférieur pour la durée de convergence des itérations asynchrones est +Ainsi $I$ vaut $\sum_{\class{k} \in \mathcal{K}} I_k$. +La borne inférieure pour la durée de convergence des itérations asynchrones est \begin{equation} \label{eq:mixtelow} T(\textit{Mixed})\ge \sum_{k\in \mathcal{K}} I_k(\max_{l\in k}\textit{cp}_{l}) @@ -446,7 +417,7 @@ ascendants pour converger. On a dans ce cas: Une exécution du mode mixe est donnée à la~\Fig{fig:evalmixte}. On peut constater que le temps d'exécution peut être plus petit que pour le - mode parallèle. + mode synchrone. \end{xpl} \subsection{Le mode généralisé asynchrone} @@ -467,11 +438,12 @@ La borne supérieure quant à elle est donnée par: \label{eq:asyncup} 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) \end{equation} -et apparaît lorsque chaque élément dépend des autres et que les calcules +et apparaît lorsque chaque élément dépend des autres et que les calculs ne recouvrent nullement les communications. \begin{xpl} - La \Fig{fig:evalasync} présente un exemple d'exécution du mode asynchrone. + La \Fig{fig:evalasync} présente un exemple d'exécution du mode généralisé + asynchrone. Certaines communications issues de l'élément $4$ n'ont pas été représentées pour des raisons de clarté. On constate que le temps global de convergence est plus petit que celui des @@ -500,6 +472,6 @@ ne recouvrent nullement les communications. %%% Local Variables: %%% mode: latex %%% TeX-master: "main" -%%% ispell-dictionary: "american" +%%% ispell-dictionary: "french" %%% mode: flyspell %%% End: