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

Private GIT Repository
Do not go below expected_load when bookkeeping.
[loba.git] / main.cpp
index 5cf37287a034275e2ea17384c573dd51bb4464fa..80a43d9995e722978443b108cba4c1c1480b1167 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -234,6 +234,7 @@ int main(int argc, char* argv[])
         MSG_create_environment(opt::platform_file.c_str());
         XBT_DEBUG("Creating hostdata...");
         hostdata::create();
+        XBT_INFO("Loaded description of %zd hosts.", hostdata::size());
         XBT_DEBUG("Deploying processes...");
         if (opt::auto_depl::enabled) {
             if (!opt::auto_depl::nhosts)
@@ -244,11 +245,18 @@ int main(int argc, char* argv[])
                 opt::auto_depl::nhosts = hostdata::size();
             }
             if (opt::auto_depl::load == 0.0) {
-                XBT_WARN("Initial load is zero!  Falling back on old behaviour.");
+                XBT_WARN("Initial load is zero!  "
+                         "Falling back on old behaviour (load = 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;
+            double iload = trunc(opt::auto_depl::load);
+            if (opt::integer_transfer && opt::auto_depl::load != iload) {
+                XBT_WARN("Total load %g is not an integer.  Truncate it.",
+                         opt::auto_depl::load);
+                opt::auto_depl::load = iload;
+            }
             MY_launch_application(); // it is already opt::* aware...
         } else {
             MSG_launch_application(opt::deployment_file.c_str());