X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/96311be045a24d96c20acfc876b43c91858464e4..23529d55ccbfd0a851fdc86708320811ddda8ec4:/process.cpp?ds=sidebyside diff --git a/process.cpp b/process.cpp index 9f46f8f..0544b21 100644 --- a/process.cpp +++ b/process.cpp @@ -33,6 +33,8 @@ process::process(int argc, char* argv[]) rev_neigh.insert(std::make_pair(host, ptr)); } + comp = 0.0; + prev_load_broadcast = -1; // force sending of load on first send() expected_load = load; total_load_running += load; @@ -75,7 +77,7 @@ int process::run() if (now < next_iter_after_date){ double delay = next_iter_after_date - now; DEBUG1("sleeping for %g s", delay); - MSG_process_sleep(next_iter_after_date - now); + MSG_process_sleep(delay); } next_iter_after_date = MSG_get_clock() + opt::min_iter_duration; } @@ -143,6 +145,8 @@ int process::run() opt::load_ratio_threshold) { VERB0("No more load to balance in system."); break; + } else { + DEBUG1("still %g load to balance, continuing...", total_load_running); } } VERB0("Going to finalize..."); @@ -189,10 +193,11 @@ double process::load_balance(double /*my_load*/) void process::compute() { if (load > 0.0) { - double duration = opt::comp_cost(load); - m_task_t task = MSG_task_create("computation", duration, 0.0, NULL); - DEBUG2("compute %g flop%s", duration, ESSE(duration)); + double flops = opt::comp_cost(load); + m_task_t task = MSG_task_create("computation", flops, 0.0, NULL); + DEBUG2("compute %g flop%s", flops, ESSE(flops)); MSG_task_execute(task); + comp += flops; MSG_task_destroy(task); } else { DEBUG0("nothing to compute !"); @@ -261,6 +266,7 @@ void process::receive(bool wait) message* msg; m_host_t from; + DEBUG1("%sblocking receive", "\0non-" + !wait); while (may_receive() && comm.recv(msg, from, wait)) { switch (msg->get_type()) { case message::INFO: {