statistics comps;
statistics comp_iterations;
statistics all_comp_iterations;
+ statistics iter_deviation;
statistics data_send_amount;
statistics data_recv_amount;
statistics data_send_count;
statistics ctrl_recv_amount;
statistics ctrl_send_count;
statistics ctrl_recv_count;
+ statistics idle_duration;
statistics convergence;
}
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());
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)
+ if (c != -1.0)
convergence.push(c);
// Synchronization barrier...
#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[])
"times the total amount of data");
PR_VALUE("Number of hosts that converged", "%u / %u",
convergence.get_count(), loads.get_count());
- PR_VALUE("Date of first host convergence", "%g", convergence.get_min());
- PR_VALUE("Date of last host convergence", "%g", convergence.get_max());
+ 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("`----");
}