elapsed_time.stop();
if (!check_for_lost_load())
exit_status |= EXIT_FAILURE_LOAD;
+
XBT_INFO(",----[ Results ]");
PR_STATS("Load", loads);
PR_STATS("Computation", comps);
PR_VALUE("Total simulation time", "%g", simulation_time.duration());
PR_VALUE("Elapsed (wall clock) time", "%g", elapsed_time.duration());
XBT_INFO("`----");
+
+ double load_imbalance = 100.0 * loads.get_stddev() / loads.get_mean();
+ double transfer_amount =
+ data_send_amount.get_sum() / opt::comm_cost(loads.get_sum());
+
+ XBT_INFO(",----[ Useful metrics ]");
+ PR_VALUE("Final load imbalance", "%g %s", load_imbalance,
+ "percent of the load average");
+ PR_VALUE("Data transfer amount", "%g %s", transfer_amount,
+ "times the total amount of data");
+ XBT_INFO("`----");
+
}
if (exit_status)
XBT_ERROR("Simulation failed (%#x).", exit_status);