"network/crosstraffic",
"Activate the interferences between uploads and downloads for fluid max-min models (LV08, CM02)", "yes");
+config::Flag<double> NetworkModel::cfg_weight_S_parameter(
+ "network/weight-S",
+ "Correction factor to apply to the weight of competing streams (default value set by network model)", 0.0);
+
NetworkModel::~NetworkModel() = default;
double NetworkModel::next_occurring_event_full(double now)
simgrid::kernel::resource::NetworkModel::cfg_bandwidth_factor, "network/bandwidth-factor",
"Correction factor to apply to the provided bandwidth (default value set by network model)");
- sg_weight_S_parameter = 20537; // comes from the default LV08 network model
- simgrid::config::bind_flag(
- sg_weight_S_parameter, "network/weight-S",
- "Correction factor to apply to the weight of competing streams (default value set by network model)");
-
static simgrid::config::Flag<double> _sg_network_loopback_latency{
"network/loopback-lat",
"For network models with an implicit loopback link (L07, CM02, LV08), "
"Set linear equations solver used by network model",
"maxmin", &simgrid::kernel::lmm::System::validate_solver);
-double sg_weight_S_parameter = 0.0; /* default value; can be set by model or from command line */
-
/************************************************************************/
/* New model based on optimizations discussed during Pedro Velho's thesis*/
/************************************************************************/
action->sharing_penalty_ = latency;
action->latency_ = latency;
- if (sg_weight_S_parameter > 0) {
+ if (cfg_weight_S_parameter > 0) {
action->sharing_penalty_ = std::accumulate(route.begin(), route.end(), action->sharing_penalty_,
[](double total, StandardLinkImpl* const& link) {
- return total + sg_weight_S_parameter / link->get_bandwidth();
+ return total + cfg_weight_S_parameter / link->get_bandwidth();
});
}
StandardLinkImpl::on_bandwidth_change();
- if (sg_weight_S_parameter > 0) {
- double delta = sg_weight_S_parameter / (bandwidth_.peak * bandwidth_.scale) -
- sg_weight_S_parameter / (old_peak * bandwidth_.scale);
+ if (NetworkModel::cfg_weight_S_parameter > 0) {
+ double delta = NetworkModel::cfg_weight_S_parameter / (bandwidth_.peak * bandwidth_.scale) -
+ NetworkModel::cfg_weight_S_parameter / (old_peak * bandwidth_.scale);
const kernel::lmm::Element* elem = nullptr;
const kernel::lmm::Element* nextelem = nullptr;
XBT_PUBLIC_DATA double sg_surf_precision;
XBT_PUBLIC_DATA int sg_concurrency_limit;
-extern XBT_PRIVATE double sg_weight_S_parameter;
extern XBT_PRIVATE std::vector<std::string> surf_path;
extern XBT_PRIVATE std::unordered_map<std::string, simgrid::kernel::profile::Profile*> traces_set_list;