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

Private GIT Repository
Add the possibility to specify the initial load with the average among the nodes.
authorArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Mon, 20 Jun 2011 14:10:42 +0000 (16:10 +0200)
committerArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Wed, 31 Aug 2011 20:18:55 +0000 (22:18 +0200)
If the value given for the '-L' option is negative, it is the
opposite of the load average.

For backward compatibility, '-L 0' is a synonym for '-L -1' (load
average of 1.0).

main.cpp
options.cpp

index ed8039e2c0ea5d3d3a392ab12ce067cd5c46f15a..5cf37287a034275e2ea17384c573dd51bb4464fa 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -243,8 +243,12 @@ int main(int argc, char* argv[])
                          opt::auto_depl::nhosts, hostdata::size());
                 opt::auto_depl::nhosts = hostdata::size();
             }
                          opt::auto_depl::nhosts, hostdata::size());
                 opt::auto_depl::nhosts = hostdata::size();
             }
-            if (!opt::auto_depl::load)
+            if (opt::auto_depl::load == 0.0) {
+                XBT_WARN("Initial load is zero!  Falling back on old behaviour.");
                 opt::auto_depl::load = opt::auto_depl::nhosts;
                 opt::auto_depl::load = opt::auto_depl::nhosts;
+            } else if (opt::auto_depl::load < 0.0)
+                opt::auto_depl::load =
+                    -opt::auto_depl::load * opt::auto_depl::nhosts;
             MY_launch_application(); // it is already opt::* aware...
         } else {
             MSG_launch_application(opt::deployment_file.c_str());
             MY_launch_application(); // it is already opt::* aware...
         } else {
             MSG_launch_application(opt::deployment_file.c_str());
index 2eb891d60bcdcc066e3af24cd1dd9505f2b72a1c..cac9752ca9a168618584b933165d4b4457eec98d 100644 (file)
@@ -51,7 +51,7 @@ namespace opt {
         bool        enabled = false;
         std::string topology("clique");
         unsigned    nhosts = 0;
         bool        enabled = false;
         std::string topology("clique");
         unsigned    nhosts = 0;
-        double      load = 0.0;
+        double      load = -1.0;
         bool        random_distribution = false;
         unsigned long random_seed = 0;
     }
         bool        random_distribution = false;
         unsigned long random_seed = 0;
     }
@@ -379,8 +379,10 @@ void opt::print()
         DESCR("- topology", "%s", auto_depl::topology.c_str());
         DESCR("- number of hosts", "%s", h.val_or_string(auto_depl::nhosts,
                                                          "auto"));
         DESCR("- topology", "%s", auto_depl::topology.c_str());
         DESCR("- number of hosts", "%s", h.val_or_string(auto_depl::nhosts,
                                                          "auto"));
-        DESCR("- initial load", "%s", h.val_or_string(auto_depl::load,
-                                                      "auto"));
+        if (auto_depl::load < 0.0)
+            DESCR("- initial load (average)", "%g", -auto_depl::load);
+        else
+            DESCR("- initial load (total)", "%g", auto_depl::load);
         DESCR("- random initial load distribution", "%s",
               h.on_off(auto_depl::random_distribution));
         DESCR("- random seed", "%s",
         DESCR("- random initial load distribution", "%s",
               h.on_off(auto_depl::random_distribution));
         DESCR("- random seed", "%s",
@@ -457,7 +459,7 @@ void opt::usage()
     if (opt::help_requested > 1)
         so_list(opt::topologies);
     std::clog << o("-L value")
     if (opt::help_requested > 1)
         so_list(opt::topologies);
     std::clog << o("-L value")
-              << "total load with auto deployment, 0 for number of hosts"
+              << "total load with auto deployment, average if negative"
               << " [" << opt::auto_depl::load << "]\n";
     std::clog << o("-N value")
               << "number of hosts to use with auto deployment, 0 for max."
               << " [" << opt::auto_depl::load << "]\n";
     std::clog << o("-N value")
               << "number of hosts to use with auto deployment, 0 for max."