X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/23920e90bb305cc5fca5f7b93a6b81bf6fc69065..c8312a5fc4607cd996e6e687c98ee08fd5e8a08b:/main.cpp diff --git a/main.cpp b/main.cpp index ad59642..ff1fa1b 100644 --- a/main.cpp +++ b/main.cpp @@ -26,6 +26,8 @@ XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(main); #include "tracing.h" #include "version.h" +#define DATA_DESCR_WIDTH 37 + namespace { // Failure exit status enum { @@ -41,8 +43,16 @@ namespace { condition_t* proc_cond; unsigned proc_counter = 0; - statistics comps; statistics loads; + statistics comps; + statistics data_send_amount; + statistics data_recv_amount; + statistics data_send_count; + statistics data_recv_count; + statistics ctrl_send_amount; + statistics ctrl_recv_amount; + statistics ctrl_send_count; + statistics ctrl_recv_count; } @@ -60,8 +70,16 @@ static int simulation_main(int argc, char* argv[]) result = proc->run(); proc_mutex->acquire(); - comps.push(proc->get_comp()); loads.push(proc->get_real_load()); + comps.push(proc->get_comp_amount()); + 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()); + data_recv_count.push(proc->get_data_recv_count()); + ctrl_send_amount.push(proc->get_ctrl_send_amount()); + ctrl_recv_amount.push(proc->get_ctrl_recv_amount()); + ctrl_send_count.push(proc->get_ctrl_send_count()); + ctrl_recv_count.push(proc->get_ctrl_recv_count()); // Synchronization barrier... // The goal is to circumvent a limitation in SimGrid (at least @@ -114,8 +132,8 @@ static void check_for_lost_load() } #define PR_STATS(descr, st) \ - XBT_INFO("| %.*s: %g / %g / %g", 39, \ - descr " total/avg./stddev. at exit.........................", \ + XBT_INFO("| %.*s: %g / %g / %g", DATA_DESCR_WIDTH, \ + descr " (total/avg./stddev)................................", \ st.get_sum(), st.get_mean(), st.get_stddev()) int main(int argc, char* argv[]) @@ -171,8 +189,11 @@ int main(int argc, char* argv[]) MSG_function_register_default(simulation_main); // Create the platform and the application. + XBT_DEBUG("Loading platform file..."); MSG_create_environment(opt::platform_file.c_str()); + XBT_DEBUG("Creating hostdata..."); hostdata::create(); + XBT_DEBUG("Deploying processes..."); if (opt::auto_depl::enabled) { if (!opt::auto_depl::nhosts) opt::auto_depl::nhosts = hostdata::size(); @@ -236,9 +257,19 @@ int main(int argc, char* argv[]) XBT_INFO(",----[ Results ]"); PR_STATS("Load", loads); PR_STATS("Computation", comps); - XBT_INFO("| Total simulated time...................: %g", + PR_STATS("Data send amount", data_send_amount); + PR_STATS("Data recv amount", data_recv_amount); + PR_STATS("Data send count", data_send_count); + PR_STATS("Data recv count", data_recv_count); + PR_STATS("Ctrl send amount", ctrl_send_amount); + PR_STATS("Ctrl recv amount", ctrl_recv_amount); + PR_STATS("Ctrl send count", ctrl_send_count); + PR_STATS("Ctrl recv count", ctrl_recv_count); + XBT_INFO("| %.*s: %g", DATA_DESCR_WIDTH, + "Total simulated time..................................", simulated_time); - XBT_INFO("| Total simulation time..................: %g", + XBT_INFO("| %.*s: %g", DATA_DESCR_WIDTH, + "Total simulation time.................................", simulation_time.duration()); XBT_INFO("`----"); }