From 9e03186f5603b3f961f90c0a797ed2b42ba83cea Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Wed, 4 Apr 2018 18:15:08 +0200 Subject: [PATCH] make option 'network/crosstraffic' clean and nice --- src/simgrid/sg_config.cpp | 8 -------- src/surf/network_cm02.cpp | 6 ++---- src/surf/network_interface.cpp | 7 ++++++- src/surf/network_interface.hpp | 1 + src/surf/surf_interface.hpp | 1 - 5 files changed, 9 insertions(+), 14 deletions(-) diff --git a/src/simgrid/sg_config.cpp b/src/simgrid/sg_config.cpp index 49cbfcc7cb..a79dfb5555 100644 --- a/src/simgrid/sg_config.cpp +++ b/src/simgrid/sg_config.cpp @@ -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", diff --git a/src/surf/network_cm02.cpp b/src/surf/network_cm02.cpp index 3970dcc8d5..1a45b05311 100644 --- a/src/surf/network_cm02.cpp +++ b/src/surf/network_cm02.cpp @@ -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); diff --git a/src/surf/network_interface.cpp b/src/surf/network_interface.cpp index ac8dcb2b4d..489580819c 100644 --- a/src/surf/network_interface.cpp +++ b/src/surf/network_interface.cpp @@ -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 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 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*/) { diff --git a/src/surf/network_interface.hpp b/src/surf/network_interface.hpp index 822602ad8a..f513f71943 100644 --- a/src/surf/network_interface.hpp +++ b/src/surf/network_interface.hpp @@ -34,6 +34,7 @@ namespace surf { class NetworkModel : public kernel::resource::Model { public: static simgrid::config::Flag cfg_tcp_gamma; + static simgrid::config::Flag cfg_crosstraffic; explicit NetworkModel(kernel::resource::Model::UpdateAlgo algo) : Model(algo) {} ~NetworkModel() override; diff --git a/src/surf/surf_interface.hpp b/src/surf/surf_interface.hpp index 0b5a60f25f..3dd6ecaaae 100644 --- a/src/surf/surf_interface.hpp +++ b/src/surf/surf_interface.hpp @@ -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 surf_path; extern XBT_PRIVATE std::unordered_map traces_set_list; extern XBT_PRIVATE std::set watched_hosts; -- 2.20.1