Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[SMPI/LB] Require an actor as argument for get_mapping
authorChristian Heinrich <franz-christian.heinrich@inria.fr>
Thu, 9 Aug 2018 08:12:45 +0000 (10:12 +0200)
committerChristian Heinrich <franz-christian.heinrich@inria.fr>
Thu, 9 Aug 2018 08:12:54 +0000 (10:12 +0200)
src/smpi/plugins/load_balancer/LoadBalancer.cpp
src/smpi/plugins/load_balancer/load_balancer.hpp
src/smpi/plugins/sampi_loadbalancer.cpp

index 12c4ef8..bf993dc 100644 (file)
@@ -136,9 +136,9 @@ void LoadBalancer::run()
   }
 }
 
-simgrid::s4u::Host* LoadBalancer::get_mapping()
+simgrid::s4u::Host* LoadBalancer::get_mapping(simgrid::s4u::ActorPtr actor)
 {
-  return new_mapping.get_host(simgrid::s4u::Actor::self());
+  return new_mapping.get_host(actor);
 }
 
 void LoadBalancer::record_actor_computation(simgrid::s4u::ActorPtr actor, double load)
index cfdf483..44a2d08 100644 (file)
@@ -70,7 +70,7 @@ public:
   /**
    * FIXME These are functions used for testing and should be re-written or removed
    */
-  simgrid::s4u::Host* get_mapping();
+  simgrid::s4u::Host* get_mapping(simgrid::s4u::ActorPtr);
   void record_actor_computation(simgrid::s4u::ActorPtr actor, double load);
 private:
 };
index 99e1bcc..b201830 100644 (file)
@@ -78,7 +78,7 @@ public:
     smpilb_bar.wait();
     was_executed = false; // Must stay behind this barrier so that all processes have passed the if clause
 
-    migrate_to_host = lb.get_mapping();
+    migrate_to_host = lb.get_mapping(simgrid::s4u::Actor::self());
     if (cur_host != migrate_to_host) { // Origin and dest are not the same -> migrate
       sg_host_t migration_hosts[2] = {cur_host, migrate_to_host};
       // Changing this to double[2] ... will cause trouble with parallel_execute, because that fct is trying to call free().