X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/4834f187a84f677242809a7413accb2a3009d6f4..7d8d4e8c0966dc85a94e5993a51402c0ca65df20:/main.cpp?ds=inline diff --git a/main.cpp b/main.cpp index 9ad4b53..8dbbc79 100644 --- a/main.cpp +++ b/main.cpp @@ -53,6 +53,7 @@ namespace { statistics comps; statistics comp_iterations; statistics all_comp_iterations; + statistics iter_deviation; statistics data_send_amount; statistics data_recv_amount; statistics data_send_count; @@ -61,6 +62,8 @@ namespace { statistics ctrl_recv_amount; statistics ctrl_send_count; statistics ctrl_recv_count; + statistics idle_duration; + statistics convergence; } @@ -82,6 +85,7 @@ static int simulation_main(int argc, char* argv[]) comps.push(proc->get_comp_amount()); comp_iterations.push(proc->get_comp_iter()); all_comp_iterations.push(proc->get_all_comp_iter()); + iter_deviation.push(proc->get_iter_deviation()); 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()); @@ -90,6 +94,10 @@ static int simulation_main(int argc, char* argv[]) 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()); + idle_duration.push(proc->get_idle_duration()); + double c = proc->get_convergence(); + if (c != -1.0) + convergence.push(c); // Synchronization barrier... // The goal is to circumvent a limitation in SimGrid (at least @@ -181,7 +189,7 @@ static void install_signal_handler() #define PR_STATS(descr, st) \ XBT_INFO("| %.*s: %g / %g / %g", DATA_DESCR_WIDTH, \ - descr " (total/avg./stddev).............................", \ + descr " (sum/avg/dev)...................................", \ st.get_sum(), st.get_mean(), st.get_stddev()) int main(int argc, char* argv[]) @@ -347,6 +355,13 @@ int main(int argc, char* argv[]) "percent of the load average"); PR_VALUE("Data transfer amount", "%g %s", transfer_amount, "times the total amount of data"); + PR_VALUE("Number of hosts that converged", "%u / %u", + convergence.get_count(), loads.get_count()); + PR_VALUE("Times of convergence (min/max/avg/dev)", "%g / %g / %g / %g", + convergence.get_min(), convergence.get_max(), + convergence.get_mean(), convergence.get_stddev()); + PR_STATS("Idle duration", idle_duration); + PR_STATS("Supernumer. comp. iter.", iter_deviation); XBT_INFO("`----"); }