Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
make option 'network/crosstraffic' clean and nice
authorMartin Quinson <martin.quinson@loria.fr>
Wed, 4 Apr 2018 16:15:08 +0000 (18:15 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Wed, 4 Apr 2018 16:26:42 +0000 (18:26 +0200)
src/simgrid/sg_config.cpp
src/surf/network_cm02.cpp
src/surf/network_interface.cpp
src/surf/network_interface.hpp
src/surf/surf_interface.hpp

index 49cbfcc..a79dfb5 100644 (file)
@@ -260,11 +260,6 @@ static void _sg_cfg_cb_contexts_parallel_mode(const char *name)
   }
 }
 
-static void _sg_cfg_cb__surf_network_crosstraffic(const char *name)
-{
-  sg_network_crosstraffic = xbt_cfg_get_boolean(name);
-}
-
 /* build description line with possible values */
 static void describe_model(char *result,int resultsize,
                            const s_surf_model_description_t model_description[],
@@ -435,9 +430,6 @@ void sg_config_init(int *argc, char **argv)
         "Synchronization mode to use when running contexts in parallel (either futex, posix or busy_wait)");
 #endif
 
-    xbt_cfg_register_boolean("network/crosstraffic", "yes", _sg_cfg_cb__surf_network_crosstraffic,
-        "Activate the interferences between uploads and downloads for fluid max-min models (LV08, CM02)");
-
     // For smpi/bw-factor and smpi/lat-factor
     // SMPI model can be used without enable_smpi, so keep this out of the ifdef.
     xbt_cfg_register_string("smpi/bw-factor",
index 3970dcc..1a45b05 100644 (file)
@@ -17,8 +17,6 @@ double sg_latency_factor = 1.0; /* default value; can be set by model or from co
 double sg_bandwidth_factor = 1.0;       /* default value; can be set by model or from command line */
 double sg_weight_S_parameter = 0.0;     /* default value; can be set by model or from command line */
 
-int sg_network_crosstraffic = 0;
-
 /************************************************************************/
 /* New model based on optimizations discussed during Pedro Velho's thesis*/
 /************************************************************************/
@@ -258,7 +256,7 @@ kernel::resource::Action* NetworkCm02Model::communicate(s4u::Host* src, s4u::Hos
     if (link->is_off())
       failed = 1;
 
-  if (sg_network_crosstraffic == 1) {
+  if (cfg_crosstraffic == 1) {
     dst->routeTo(src, back_route, nullptr);
     for (auto const& link : back_route)
       if (link->is_off())
@@ -320,7 +318,7 @@ kernel::resource::Action* NetworkCm02Model::communicate(s4u::Host* src, s4u::Hos
   for (auto const& link : route)
     get_maxmin_system()->expand(link->get_constraint(), action->get_variable(), 1.0);
 
-  if (not back_route.empty()) { //  sg_network_crosstraffic was activated
+  if (not back_route.empty()) { //  cfg_crosstraffic was activated
     XBT_DEBUG("Crosstraffic active adding backward flow using 5%%");
     for (auto const& link : back_route)
       get_maxmin_system()->expand(link->get_constraint(), action->get_variable(), .05);
index ac8dcb2..4895808 100644 (file)
@@ -66,13 +66,18 @@ simgrid::surf::NetworkModel *surf_network_model = nullptr;
 namespace simgrid {
   namespace surf {
 
-  /** Value of the command-line option 'network/TCP-gamma' -- see \ref options_model_network_gamma */
+  /** @brief Command-line option 'network/TCP-gamma' -- see \ref options_model_network_gamma */
   simgrid::config::Flag<double> NetworkModel::cfg_tcp_gamma(
       {"network/TCP-gamma", "network/TCP_gamma"},
       "Size of the biggest TCP window (cat /proc/sys/net/ipv4/tcp_[rw]mem for recv/send window; "
       "Use the last given value, which is the max window size)",
       4194304.0);
 
+  /** @brief Command-line option 'network/crosstraffic' -- see \ref options_model_network_crosstraffic */
+  simgrid::config::Flag<bool> NetworkModel::cfg_crosstraffic(
+      "network/crosstraffic",
+      "Activate the interferences between uploads and downloads for fluid max-min models (LV08, CM02)", "yes");
+
   NetworkModel::~NetworkModel() = default;
 
     double NetworkModel::latencyFactor(double /*size*/) {
index 822602a..f513f71 100644 (file)
@@ -34,6 +34,7 @@ namespace surf {
 class NetworkModel : public kernel::resource::Model {
 public:
   static simgrid::config::Flag<double> cfg_tcp_gamma;
+  static simgrid::config::Flag<bool> cfg_crosstraffic;
 
   explicit NetworkModel(kernel::resource::Model::UpdateAlgo algo) : Model(algo) {}
   ~NetworkModel() override;
index 0b5a60f..3dd6eca 100644 (file)
@@ -33,7 +33,6 @@ XBT_PUBLIC_DATA int sg_concurrency_limit;
 extern XBT_PRIVATE double sg_latency_factor;
 extern XBT_PRIVATE double sg_bandwidth_factor;
 extern XBT_PRIVATE double sg_weight_S_parameter;
-extern XBT_PRIVATE int sg_network_crosstraffic;
 extern XBT_PRIVATE std::vector<std::string> surf_path;
 extern XBT_PRIVATE std::unordered_map<std::string, tmgr_trace_t> traces_set_list;
 extern XBT_PRIVATE std::set<std::string> watched_hosts;