From: Arnaud Giersch Date: Mon, 14 Feb 2011 13:48:20 +0000 (+0100) Subject: Do load_balance_loop in the new spawned thread instead of compute_loop. X-Git-Tag: v0.1~132 X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/commitdiff_plain/d79c6aa768cb68806408632c832e5e1330e451a6?ds=inline Do load_balance_loop in the new spawned thread instead of compute_loop. --- diff --git a/deployment.cpp b/deployment.cpp index fa9e731..70bd8b3 100644 --- a/deployment.cpp +++ b/deployment.cpp @@ -59,7 +59,7 @@ void deployment_generator::deploy() XBT_DEBUG("%s/neighbor -> \"%s\"", hostname, neighbor_name); xbt_dynar_push_as(args, const char*, neighbor_name); } - MSG_set_function(hostname, "loba", args); + MSG_set_function(hostname, "compute", args); xbt_dynar_reset(args); } xbt_dynar_free(&args); diff --git a/process.cpp b/process.cpp index f997d99..6549638 100644 --- a/process.cpp +++ b/process.cpp @@ -58,9 +58,9 @@ process::process(int argc, char* argv[]) comp_iter = lb_iter = 0; - compute_thread = new_msg_thread("compute", - std::tr1::bind(&process::compute_loop, - this)); + lb_thread = new_msg_thread("loba", + std::tr1::bind(&process::load_balance_loop, + this)); e_xbt_log_priority_t logp = xbt_log_priority_verbose; if (!LOG_ISENABLED(logp)) @@ -80,7 +80,7 @@ process::process(int argc, char* argv[]) process::~process() { - delete compute_thread; + delete lb_thread; total_load_exit += real_load; if (opt::log_rate < 0) return; @@ -99,9 +99,9 @@ int process::run() if (opt::log_rate >= 0) XBT_INFO("Initial load: %g", real_load); XBT_VERB("Starting..."); - compute_thread->start(); - load_balance_loop(); - compute_thread->wait(); + lb_thread->start(); + compute_loop(); + lb_thread->wait(); XBT_VERB("Done."); return 0; } diff --git a/process.h b/process.h index dbf9b05..ceca948 100644 --- a/process.h +++ b/process.h @@ -98,10 +98,10 @@ private: double expected_load; // expected load in bookkeeping mode // Load-balancing loop + msg_thread* lb_thread; void load_balance_loop(); // Simulate computation loop - msg_thread* compute_thread; void compute_loop(); bool still_running();