virtual ~process();
double get_comp() const { return comp; }
- double get_load() const { return load; }
+ double get_real_load() const { return real_load; }
int run();
pneigh_type pneigh; // list of pointers to neighbors that
// we are free to reorder
- // Returns the sum of "to_send" for all neighbors.
- double sum_of_to_send() const;
-
// Calls neighbor::print(verbose, logp, cat) for each member of neigh.
void print_loads(bool verbose = false,
e_xbt_log_priority_t logp = xbt_log_priority_info,
double prev_load_broadcast; // used to ensure that we do not send
// a same information messages
- double load; // current load
+ double real_load; // current load
double expected_load; // expected load in bookkeeping mode
- double& lb_load() { return opt::bookkeeping ? expected_load : load; }
+ double& lb_load() { return opt::bookkeeping ? expected_load : real_load; }
// The load balancing algorithm comes here...
// Parameter "my_load" is the load to take into account for myself
- // (may be load or expected load).
+ // (may be real load or expected load).
// Returns the total load sent to neighbors.
virtual double load_balance(double my_load);
// Send procedures, with helpers for bookkeeping mode or not
void send1_no_bookkeeping(neighbor& nb);
void send1_bookkeeping(neighbor& nb);
- void send();
+ void send_all();
// Returns true if there remains neighbors to listen for
bool may_receive() { return ctrl_close_pending || data_close_pending; }