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

Private GIT Repository
Define process::lb_load(), and use it.
[loba.git] / loba_simple.cpp
index 2cf613f5773d21815376a09b651732ca19e2a2a9..5702fba8a667fb76d6c982bd495769f1363adec2 100644 (file)
@@ -1,9 +1,9 @@
-#include "loba_simple.h"
-
 #include <xbt/log.h>
 
 XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(loba);
 
 #include <xbt/log.h>
 
 XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(loba);
 
+#include "loba_simple.h"
+
 /* simple version:
  *   load balance with a least-loaded neighbor,
  *   without breaking the ping-pong condition
 /* simple version:
  *   load balance with a least-loaded neighbor,
  *   without breaking the ping-pong condition
@@ -29,9 +29,10 @@ double loba_simple::load_balance(double my_load)
     }
     if (imin != -1) {
         // found someone
     }
     if (imin != -1) {
         // found someone
-        double balance = (my_load - max) / 2;
+        double balance = (my_load - min) / 2;
         DEBUG6("%d:%g %d:%g %g %g", imin, min, imax, max, my_load, balance);
         pneigh[imin]->set_to_send(balance);
         DEBUG6("%d:%g %d:%g %g %g", imin, min, imax, max, my_load, balance);
         pneigh[imin]->set_to_send(balance);
+        pneigh[imin]->add_load(balance);
         return balance;
     } else {
         return 0.0;
         return balance;
     } else {
         return 0.0;