]> AND Private Git Repository - loba.git/commitdiff
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
Try to describe load-balancing algorithms.
authorArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Wed, 23 Feb 2011 22:50:56 +0000 (23:50 +0100)
committerArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Wed, 23 Feb 2011 22:51:53 +0000 (23:51 +0100)
ALGORITHMS [new file with mode: 0644]

diff --git a/ALGORITHMS b/ALGORITHMS
new file mode 100644 (file)
index 0000000..69a2545
--- /dev/null
@@ -0,0 +1,36 @@
+DESCRIPTIONS DES ALGORITHMES
+
+fairstrategy
+============
+Tant qu'il reste un voisin moins chargé[*] que soi-même, envoyer une
+certaine quantité de charge (delta = 0.001 dans le code) à tous les
+voisins moins chargés que soi-même.
+[*] en réalité, un voisin moins chargé à qui on peut envoyer delta de
+    charge sans devenir moins chargé que lui.
+
+Q: à quoi sert le tri du départ ?
+
+makhoul
+=======
+Ordonne les voisins du moins chargé au plus chargé puis calcule les
+différences de charge entre soi-même et chacun des voisins.
+
+Ensuite, pour chaque voisin, dans l'ordre, et tant qu'on reste plus
+chargé que le voisin en question, on lui envoie 1/(N+1) de la
+différence calculée au départ, avec N le nombre de voisins.
+
+none
+====
+Aucun équilibrage.  Peut-être utile pour tester/déboguer le code.
+
+simple
+======
+Tentative de respecter simplement les conditions de Bertsekas.
+Parmi les voisins moins chargés que soi, on sélectionne :
+    - un des moins chargés (vmin) ;
+    - un des plus chargés (vmax),
+puis on équilibre avec vmin en s'assurant que notre charge reste
+toujours supérieure à celle de vmin et à celle de vmax.
+
+On envoie donc (avec "self" pour soi-même) :
+    min((load(self) - load(vmin)) / 2, (load(self) - load(vmax)))