#include <vector>
#include <msg/msg.h>
#include <xbt/log.h>
+#include "atomic_compat.h"
#include "communicator.h"
#include "misc.h"
#include "msg_thread.h"
static int process_counter;
static double total_load_average;
+ static double average_load_ratio;
static double load_diff_threshold;
+ static std::atomic<int> convergence_counter;
+
typedef MAP_TEMPLATE<m_host_t, neighbor*> rev_neigh_type;
neigh_type neigh; // list of neighbors (do not alter
// after construction!)
double idle_duration; // how long we had nothing to compute
double convergence; // date when convergence was achieved, or -1.0
+ int local_convergence_counter; // number of iterations since convergence
mutex_t mutex; // synchronization between threads
condition_t cond;