X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/80a1fe1a200a4309c36598571b1f4ccb76a8788f..401d84724809275a3243d0c711864fa892949f41:/main.cpp?ds=sidebyside diff --git a/main.cpp b/main.cpp index ed8039e..ea84f78 100644 --- a/main.cpp +++ b/main.cpp @@ -1,4 +1,5 @@ #include +#include #include #include // strchr #include @@ -50,6 +51,7 @@ namespace { statistics loads; statistics comps; + statistics comp_iterations; statistics data_send_amount; statistics data_recv_amount; statistics data_send_count; @@ -77,6 +79,7 @@ static int simulation_main(int argc, char* argv[]) proc_mutex->acquire(); loads.push(proc->get_real_load()); comps.push(proc->get_comp_amount()); + comp_iterations.push(proc->get_comp_iter()); data_send_amount.push(proc->get_data_send_amount()); data_recv_amount.push(proc->get_data_recv_amount()); data_send_count.push(proc->get_data_send_count()); @@ -234,6 +237,7 @@ int main(int argc, char* argv[]) MSG_create_environment(opt::platform_file.c_str()); XBT_DEBUG("Creating hostdata..."); hostdata::create(); + XBT_INFO("Loaded description of %zd hosts.", hostdata::size()); XBT_DEBUG("Deploying processes..."); if (opt::auto_depl::enabled) { if (!opt::auto_depl::nhosts) @@ -243,8 +247,19 @@ int main(int argc, char* argv[]) opt::auto_depl::nhosts, hostdata::size()); opt::auto_depl::nhosts = hostdata::size(); } - if (!opt::auto_depl::load) + if (opt::auto_depl::load == 0.0) { + XBT_WARN("Initial load is zero! " + "Falling back on old behaviour (load = nhosts)."); opt::auto_depl::load = opt::auto_depl::nhosts; + } else if (opt::auto_depl::load < 0.0) + opt::auto_depl::load = + -opt::auto_depl::load * opt::auto_depl::nhosts; + double iload = std::trunc(opt::auto_depl::load); + if (opt::integer_transfer && opt::auto_depl::load != iload) { + XBT_WARN("Total load %g is not an integer. Truncate it.", + opt::auto_depl::load); + opt::auto_depl::load = iload; + } MY_launch_application(); // it is already opt::* aware... } else { MSG_launch_application(opt::deployment_file.c_str()); @@ -300,6 +315,7 @@ int main(int argc, char* argv[]) XBT_INFO(",----[ Results ]"); PR_STATS("Load", loads); PR_STATS("Computation", comps); + PR_STATS("Comp. iterations", comp_iterations); PR_STATS("Data send amount", data_send_amount); PR_STATS("Data recv amount", data_recv_amount); PR_STATS("Data send count", data_send_count);