]> AND Private Git Repository - loba.git/commitdiff
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
Rename process::load -> process::real_load.
authorArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Tue, 25 Jan 2011 09:26:29 +0000 (10:26 +0100)
committerArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Tue, 25 Jan 2011 09:26:29 +0000 (10:26 +0100)
main.cpp
process.cpp
process.h

index 3a47b920da0db461b81444de817c70e399e9e97d..ccd11bd4143aa8d68f4da203500a0cfcb58a547e 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -47,7 +47,7 @@ static int simulation_main(int argc, char* argv[])
         proc = opt::loba_algorithms.new_instance(opt::loba_algo, argc, argv);
         result = proc->run();
         comps.push(proc->get_comp());
-        loads.push(proc->get_load());
+        loads.push(proc->get_real_load());
         delete proc;
     }
     catch (std::invalid_argument& e) {
index cd1143316289affc356406ed0bb75ee740d9d17c..6d791bdc94e1c6a3a99cfca44ad0b24a57beb155 100644 (file)
@@ -20,7 +20,7 @@ double process::total_load_exit = 0.0;
 
 process::process(int argc, char* argv[])
 {
-    if (argc < 2 || !(std::istringstream(argv[1]) >> load))
+    if (argc < 2 || !(std::istringstream(argv[1]) >> real_load))
         throw std::invalid_argument("bad or missing initial load parameter");
 
     neigh.assign(argv + 2, argv + argc);
@@ -36,9 +36,9 @@ process::process(int argc, char* argv[])
     comp = 0.0;
 
     prev_load_broadcast = -1;   // force sending of load on first send_all()
-    expected_load = load;
-    total_load_running += load;
-    total_load_init += load;
+    expected_load = real_load;
+    total_load_running += real_load;
+    total_load_init += real_load;
 
     ctrl_close_pending = data_close_pending = neigh.size();
     close_received = false;
@@ -62,13 +62,13 @@ process::process(int argc, char* argv[])
 
 process::~process()
 {
-    total_load_exit += load;
+    total_load_exit += real_load;
     if (opt::bookkeeping) {
         INFO4("Final load after %d:%d iterations: %g ; expected: %g",
-              lb_iter, comp_iter, load, expected_load);
+              lb_iter, comp_iter, real_load, expected_load);
     } else {
         INFO2("Final load after %d iterations: %g",
-              lb_iter, load);
+              lb_iter, real_load);
         if (lb_iter != comp_iter)
             WARN2("lb_iter (%d) and comp_iter (%d) differ!",
                   lb_iter, comp_iter);
@@ -79,7 +79,7 @@ process::~process()
 int process::run()
 {
     double next_iter_after_date = 0.0;
-    INFO1("Initial load: %g", load);
+    INFO1("Initial load: %g", real_load);
     VERB0("Starting...");
     comp_iter = lb_iter = 0;
     while (true) {
@@ -95,10 +95,10 @@ int process::run()
             if (opt::log_rate && lb_iter % opt::log_rate == 0) {
                 if (opt::bookkeeping)
                     INFO4("(%u:%u) current load: %g ; expected: %g",
-                          lb_iter, comp_iter, load, expected_load);
+                          lb_iter, comp_iter, real_load, expected_load);
                 else
                     INFO2("(%u) current load: %g",
-                          lb_iter, load);
+                          lb_iter, real_load);
             }
 
             ld -= load_balance(ld);
@@ -109,7 +109,7 @@ int process::run()
 
         // send load information, and load (data) if any
         send_all();
-        if (load > 0.0) {
+        if (real_load > 0.0) {
             ++comp_iter;
             compute();
         }
@@ -130,7 +130,7 @@ int process::run()
         // block on receiving unless there is something to compute or
         // to send
         double timeout;
-        if (load != 0 || lb_load() != prev_load_broadcast)
+        if (real_load != 0 || lb_load() != prev_load_broadcast)
             timeout = 0.0;
         else if (opt::min_iter_duration)
             timeout = opt::min_iter_duration;
@@ -145,7 +145,7 @@ int process::run()
         }
 
         // have no load and cannot receive anything
-        if (load == 0.0 && !may_receive()) {
+        if (real_load == 0.0 && !may_receive()) {
             VERB0("I'm a poor lonesome process, and I have no load...");
             break;
         }
@@ -183,8 +183,8 @@ double process::load_balance(double /*my_load*/)
 
 void process::compute()
 {
-    if (load > 0.0) {
-        double flops = opt::comp_cost(load);
+    if (real_load > 0.0) {
+        double flops = opt::comp_cost(real_load);
         m_task_t task = MSG_task_create("computation", flops, 0.0, NULL);
         TRACE_msg_set_task_category(task, TRACE_CAT_COMP);
         DEBUG2("compute %g flop%s", flops, ESSE(flops));
@@ -198,8 +198,8 @@ void process::compute()
 
 void process::send1_no_bookkeeping(neighbor& nb)
 {
-    if (load != prev_load_broadcast)
-        comm.send(nb.get_ctrl_mbox(), new message(message::INFO, load));
+    if (real_load != prev_load_broadcast)
+        comm.send(nb.get_ctrl_mbox(), new message(message::INFO, real_load));
     double load_to_send = nb.get_to_send();
     if (load_to_send > 0.0) {
         comm.send(nb.get_data_mbox(), new message(message::LOAD, load_to_send));
@@ -223,14 +223,14 @@ void process::send1_bookkeeping(neighbor& nb)
     } else {
         new_debt = nb.get_debt();
     }
-    if (load <= new_debt) {
-        load_to_send = load;
+    if (real_load <= new_debt) {
+        load_to_send = real_load;
         nb.set_debt(new_debt - load_to_send);
-        load = 0.0;
+        real_load = 0.0;
     } else {
         load_to_send = new_debt;
         nb.set_debt(0.0);
-        load -= load_to_send;
+        real_load -= load_to_send;
     }
     if (load_to_send > 0.0)
         comm.send(nb.get_data_mbox(), new message(message::LOAD, load_to_send));
@@ -248,7 +248,7 @@ void process::send_all()
     } else {
         std::for_each(neigh.begin(), neigh.end(),
                       bind(&process::send1_no_bookkeeping, this, _1));
-        prev_load_broadcast = load;
+        prev_load_broadcast = real_load;
     }
     comm.flush(false);
 }
@@ -271,7 +271,7 @@ void process::receive(double timeout)
             break;
         case message::LOAD: {
             double ld = msg->get_amount();
-            load += ld;
+            real_load += ld;
             if (finalizing)
                 total_load_running -= ld;
             break;
@@ -303,7 +303,7 @@ void process::finalize()
     using std::tr1::placeholders::_1;
 
     finalizing = true;
-    total_load_running -= load;
+    total_load_running -= real_load;
 
     DEBUG2("send CLOSE to %lu neighbor%s",
            (unsigned long )neigh.size(), ESSE(neigh.size()));
index 3978e3a914c50dce4bc9110ea94e4f548f1027bd..8f96fd8e188eac0719b938b21af2085c77be9daa 100644 (file)
--- a/process.h
+++ b/process.h
@@ -28,7 +28,7 @@ public:
     virtual ~process();
 
     double get_comp() const                { return comp; }
-    double get_load() const                { return load; }
+    double get_real_load() const           { return real_load; }
 
     int run();
 
@@ -74,14 +74,14 @@ private:
 
     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);