1 \documentclass[a4paper]{article}
2 \usepackage{amsfonts,amssymb}
5 \usepackage[francais]{babel}
6 \usepackage[utf8]{inputenc}
11 \title{Questions/Remarques sur l'équilibrage asynchrone}
12 \author{Sylvain Contassot-Vivier et Jacques Bahi}
17 Remarques/questions sur l'équilibrage asynchrone :
23 \item Est-ce que l'on considère des connections full-duplex ?\\ OUI
24 C'est-à-dire que si $j$ est connecté à $i$ à l'instant $t$, alors la
25 réciproque est vraie (symétrie des communications)
27 \item Qu'entend-t-on exactement par connexion entre deux procs ?\\ Sont-ce les
28 instants où les deux procs échangent des informations ? (a priori OUI)\\
29 Ou les instants où ils échangent de la charge ? (a priori NON)
31 \item La condition de somme sur les $\alpha_{ij}$ me paraît très
32 contraignante, voire même problématique. Prenons par exemple le cas simple
33 où le proc $i$ est connecté à un seul proc $j$ ayant une charge inférieure à
34 celle de $i$. On voit logiquement que $i$ doit transférer la moitié de la
35 différence de charge vers $j$ ce qui implique $\alpha_{ij}=1/2$. Et comme il
36 n'y a que $j$ comme voisin de $i$ à $t$ alors la somme des $\alpha_{ij}$ est
37 inférieure à 1.\\$\rightarrow$ cette condition est-elle nécessaire dans la
40 \item Dans la définition de $r_{ij}(t)$, les deux conditions entre parenthèses
41 sont fausses car la 1ère impliquerait le contraire de la remarque précédente
42 (transferts de charges en mode connecté) et la seconde n'a pas lieu d'être
43 (plutôt le contraire) notamment à l'instant $t$ puisque l'envoi de ce qui
44 est reçu à $t$ a obligatoirement été effectué \emph{avant} $t$.
50 \item Dans l'équation (2), il faut faire la somme des $v_{ij}(t)$ sur
51 $\overline{N_i}(t)$ et non $N_i(t)$.
53 \item Dans l'hypothèse 1, donner les bornes de l'union de $t-B+1$ à $t$ pour
54 être cohérent avec ce qui précède (ne change pas le concept).
60 \item L'hypothèse 2 est problématique car elle implique un envoi non nul de
61 charge à tous les processeurs connectés à $i$ à l'instant $t$ et qui ont une
62 charge inférieure à celui-ci. Or, cela n'est pas optimal car il peut
63 arriver (souvent) que certains procs ont une charge inférieure à $i$ mais
64 supérieure à la répartition équilibrée localement. Autrement dit, certains
65 procs reçoivent une charge dont ils n'ont pas besoin.\\
66 $\rightarrow$ Je pense qu'il faut relâcher cette contrainte en changeant le
67 $\forall j$ en $\exists j$. Cela indique bien qu'il y a au moins un
68 transfert de charge lorsque le proc $i$ est connecté à des procs moins
71 \item L'hypothèse 3 est incomplète car il manque la condition de sélection des
72 $j$ dans l'équation (3). Nous avions convenu que cela devait être $\forall
73 j\in N_i(t)$ mais j'en doute fortement maintenant car cela impliquerait que
74 la charge d'un processeur ne peut descendre au-dessous de celle de n'importe
75 lequel de ses voisins à l'instant $t$. Or, cela est une contrainte bloquante
76 pour le transfert de charge (et donc aussi sans doute la convergence) car si
77 le proc $i$ a plusieurs voisins connectés à l'instant $t$ dont un qui a la
78 même charge que lui, alors il ne devra pas envoyer de charge à aucun autre
79 de ses voisins pour respecter cette contrainte. Cela peut donc générer un
80 inter-blocage indéfiniment long si les deux procs en question sont toujours
81 connectés ensemble (il n'y a pas d'hypothèse empêchant cela).\\
82 $\rightarrow$ Je pense que la bonne condition de sélection devrait être
83 $\forall j, s_{ij}(t)>0$ mais cela est à approfondir (notamment avec le
84 choix des $\alpha_{ij}$).
90 \item Correction dans l'équation (4) et juste avant ($j\ne j*\in N_i(t)$) : il
91 faut remplacer les $j$ en haut de la fraction par $k$ et inverser les
92 indices/exposants de $x^._.(t)$.
94 \item J'ai initialement pensé que le paramètre $\beta$ ne pouvait être égal à
95 1 sinon cela impliquait un $\alpha_{ij*}$ potentiellement nul. Or, dans la
96 modélisation actuelle, cet alpha peut effectivement être nul si $x^i_{j*}\ge
98 On peut donc laisser comme c'était mais on peut aussi distinguer
99 explicitement deux cas : aucun transfert de charge et au moins un transfert
100 avec un voisin. Est-ce que cela apporterait un gain en clarté ??
102 \item En ce qui concerne le choix des $\alpha_{ij}$, il me semble qu'il faut
103 prendre en compte la distribution finale sur l'ensemble des procs dans
104 $\{i\}\cup N_i(t)$. Ainsi, on calcule les $\alpha_{ij}$ de façon à avoir une
105 répartition équitable de la charge des procs $i$ et $j$ dans $N_i(t)$ de la
108 x_i-\sum_{j\ne i\in N_i(t)} \alpha_{ij}(x_i(t)-x^i_j(t))=\frac{x_i(t)+\sum_{j\in
109 D_i(t)}x^i_j(t)}{|D_i(t)| + 1}
111 où $D_i(t)$ est l'ensemble des procs $j\in N_i(t)$ qui vérifient :
113 \forall j\in D_i(t), x^i_j(t)<\frac{x_i(t) + \sum_{j\in D_i(t)} x^i_j(t)}{|D_i(t)| +
117 Quelques autres cas de politiques de transfert intéressantes :
120 \item Envoyer une unité de charge de $i$ vers $j*$ fonctionne mais donne une
122 \item Une version plus rapide est d'envoyer de $i$ vers $j*$ la moitié de
123 leur différence de charge.
124 \item La version donnée dans la thèse d'Abdallah utilise des $\alpha_{ij}$
125 identiques, égaux à $\frac{1}{|N_i(t)|+1}$ pour les procs $j$ dans l'ordre
126 croissant des charges et tant qu'il reste assez de charge sur $i$.
127 D'après mes expés, elle aurait tendance à être moins efficace que 1.
130 On pourrait peut-être voir également pour anticiper les charges que le proc
131 $i$ va recevoir après l'instant t. On peut éventuellement déduire qu'il va
132 recevoir quelque chose lorsqu'à l'instant $t$ il est connecté avec un proc
133 qui a une charge supérieure à la sienne. On peut borner supérieurement
134 cette apport potentiel par $\frac{1}{2}(x^i_j-x_i)$, mais le problème est
135 que la borne inférieure est nulle. Il paraît donc difficile d'en tirer
136 quelque chose... Voir ce que ça donne en estimant le transfert max... On
137 peut étudier des variantes si l'on a des infos supplémentaires telles que le
138 degré max des noeuds.
144 \item Le théorème 3 ne prend pas en compte l'aspect discret des charges en