From bda6e0c064e2ebbac5dc3b5f780bb5e6cb61e9b0 Mon Sep 17 00:00:00 2001 From: velho Date: Thu, 16 Oct 2008 14:32:07 +0000 Subject: [PATCH] Add the bandwidth factor for the standard model as well as for the new LegrandVelho model. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@5996 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/surf/network.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/surf/network.c b/src/surf/network.c index 99f4a924dc..7f207d0d23 100644 --- a/src/surf/network.c +++ b/src/surf/network.c @@ -19,6 +19,8 @@ xbt_dict_t link_set = NULL; xbt_dict_t network_card_set = NULL; double latency_factor = 1.0; /* default value */ +double bandwidth_factor = 1.0; /* default value */ + int card_number = 0; int host_number = 0; @@ -72,7 +74,7 @@ static link_CM02_t link_new(char *name, nw_link->constraint = lmm_constraint_new(network_maxmin_system, nw_link, - nw_link->bw_current); + bandwidth_factor*nw_link->bw_current); if (policy == SURF_LINK_FATPIPE) lmm_constraint_shared(nw_link->constraint); @@ -435,7 +437,7 @@ static void update_resource_state(void *id, if (event_type == nw_link->bw_event) { nw_link->bw_current = value; lmm_update_constraint_bound(network_maxmin_system, nw_link->constraint, - nw_link->bw_current); + bandwidth_factor*nw_link->bw_current); } else if (event_type == nw_link->lat_event) { double delta = value - nw_link->lat_current; lmm_variable_t var = NULL; @@ -767,24 +769,25 @@ static void surf_network_model_init_internal(void) network_maxmin_system = lmm_system_new(); } -/***************************************************************************/ -/* New TCP sharing model based on thesis experimantation and discussions. */ -/***************************************************************************/ +/************************************************************************/ +/* New model based on optimizations discussed during this thesis */ +/************************************************************************/ void surf_network_model_init_LegrandVelho(const char *filename) { + if (surf_network_model) return; surf_network_model_init_internal(); define_callbacks(filename); xbt_dynar_push(model_list, &surf_network_model); network_solve = lmm_solve; - + latency_factor = 10.4; + bandwidth_factor = 0.92; update_model_description(surf_network_model_description, "LegrandVelho", (surf_model_t) surf_network_model); - INFO0("LegrandVelho Model was chosen!!"); } /***************************************************************************/ -- 2.20.1