Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add an option to alter the default hidden and poorly performing loopback link in...
authorAugustin Degomme <adegomme@gmail.com>
Fri, 6 Mar 2020 11:08:29 +0000 (12:08 +0100)
committerAugustin Degomme <adegomme@gmail.com>
Fri, 6 Mar 2020 13:09:05 +0000 (14:09 +0100)
src/simgrid/sg_config.cpp
src/surf/network_cm02.cpp
src/surf/ptask_L07.cpp

index 2341736..5a51587 100644 (file)
@@ -297,6 +297,16 @@ void sg_config_init(int *argc, char **argv)
       sg_weight_S_parameter, "network/weight-S", {"network/weight_S"},
       "Correction factor to apply to the weight of competing streams (default value set by network model)");
 
+  simgrid::config::declare_flag<double>("network/loopback-lat",
+                                      "For network models with an implicit loopback link (L07, CM02, LV08), "
+                                      "latency of the loopback link. 0 by default",
+                                      0);
+
+  simgrid::config::declare_flag<double>("network/loopback-bw",
+                                      "For network models with an implicit loopback link (L07, CM02, LV08), "
+                                      "bandwidth of the loopback link. 10GBps by default",
+                                      10e9);
+
   /* Inclusion path */
   simgrid::config::declare_flag<std::string>("path", "Lookup path for inclusions in platform and deployment XML files",
                                              "", [](std::string const& path) {
index 25b0ba3..28b678e 100644 (file)
@@ -87,7 +87,9 @@ NetworkCm02Model::NetworkCm02Model(kernel::lmm::System* (*make_new_lmm_system)(b
   }
 
   set_maxmin_system(make_new_lmm_system(select));
-  loopback_ = NetworkCm02Model::create_link("__loopback__", std::vector<double>(1, 498000000), 0.000015,
+  loopback_ = NetworkCm02Model::create_link("__loopback__", 
+                                            std::vector<double>{simgrid::config::get_value<double>("network/loopback-bw")},
+                                            simgrid::config::get_value<double>("network/loopback-lat"),
                                             s4u::Link::SharingPolicy::FATPIPE);
 }
 
index 43591c0..c7c61cd 100644 (file)
@@ -57,8 +57,10 @@ NetworkL07Model::NetworkL07Model(HostL07Model* hmodel, kernel::lmm::System* sys)
     : NetworkModel(Model::UpdateAlgo::FULL), hostModel_(hmodel)
 {
   set_maxmin_system(sys);
-  loopback_ = NetworkL07Model::create_link("__loopback__", std::vector<double>{498000000}, 0.000015,
-                                           s4u::Link::SharingPolicy::FATPIPE);
+  loopback_ = NetworkL07Model::create_link("__loopback__", 
+                                            std::vector<double>{simgrid::config::get_value<double>("network/loopback-bw")},
+                                            simgrid::config::get_value<double>("network/loopback-lat"),
+                                            s4u::Link::SharingPolicy::FATPIPE);
 }
 
 NetworkL07Model::~NetworkL07Model()