-#include "loba_simple.h"
-
#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
int imax = -1;
double min = my_load;
double max = -1.0;
- for (unsigned i = 0 ; i < neigh.size() ; ++i) {
- double l = neigh[i].get_load();
+ for (unsigned i = 0 ; i < pneigh.size() ; ++i) {
+ double l = pneigh[i]->get_load();
if (l >= my_load)
continue;
if (l < min) {
}
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);
- neigh[imin].set_to_send(balance);
+ pneigh[imin]->set_to_send(balance);
+ pneigh[imin]->set_load(min+balance);
return balance;
} else {
return 0.0;