}
}
+static void set_update_mechanism(void) {
+ char *optim = xbt_cfg_get_string(_surf_cfg_set, "network/optim");
+
+ if(!strcmp(optim,"Full")) {
+ network_update_mechanism = UM_FULL;
+ } else if (!strcmp(optim,"Lazy")) {
+ network_update_mechanism = UM_LAZY;
+ } else {
+ xbt_die("Unsupported optimization (%s) for this model",optim);
+ }
+}
+
/************************************************************************/
/* New model based on LV08 and experimental results of MPI ping-pongs */
/************************************************************************/
if (surf_network_model)
return;
+ set_update_mechanism();
+
im_surf_network_model_init_internal();
im_latency_factor_callback = &smpi_latency_factor;
im_bandwidth_factor_callback = &smpi_bandwidth_factor;
xbt_cfg_setdefault_double(_surf_cfg_set, "network/sender_gap", 10e-6);
xbt_cfg_setdefault_double(_surf_cfg_set, "network/weight_S", 8775);
-
}
/************************************************************************/
/************************************************************************/
void im_surf_network_model_init_LegrandVelho(void)
{
- if( strcmp(xbt_cfg_get_string(_surf_cfg_set, "network/model"),"LV08"))
- network_update_mechanism = UM_LAZY;
- else
- network_update_mechanism = UM_FULL;
+ char *model = xbt_cfg_get_string(_surf_cfg_set, "network/model");
if (surf_network_model)
return;
+
+ if(!strcmp(model,"LV08_fullupdate")) {
+ XBT_WARN("[*Deprecated*. Use --cfg=network/model:LV08 with option --cfg=network/optim:Full instead.]");
+ }
+ set_update_mechanism();
+
im_surf_network_model_init_internal();
im_net_define_callbacks();
xbt_dynar_push(model_list, &surf_network_model);
if (surf_network_model)
return;
+
+ set_update_mechanism();
im_surf_network_model_init_internal();
im_net_define_callbacks();
xbt_dynar_push(model_list, &surf_network_model);
{
if (surf_network_model)
return;
+
+ set_update_mechanism();
im_surf_network_model_init_internal();
im_net_define_callbacks();
{
if (surf_network_model)
return;
+
+ set_update_mechanism();
im_surf_network_model_init_internal();
im_net_define_callbacks();
{
if (surf_network_model)
return;
+
+ set_update_mechanism();
im_surf_network_model_init_internal();
im_net_define_callbacks();