X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/13fb4af932a02ea0bd4293d1e55ac071de326f80..19cd5a52131b50275fa26e0e53c4a8bd333f2937:/src/surf/maxmin_private.hpp diff --git a/src/surf/maxmin_private.hpp b/src/surf/maxmin_private.hpp index f0c93fb14d..44fac8c50b 100644 --- a/src/surf/maxmin_private.hpp +++ b/src/surf/maxmin_private.hpp @@ -25,7 +25,11 @@ typedef struct lmm_element { lmm_constraint_t constraint; lmm_variable_t variable; - double value; + + // consumption_weight: impact of 1 byte or flop of your application onto the resource (in byte or flop) + // - if CPU, then probably 1. + // - If network, then 1 in forward direction and 0.05 backward for the ACKs + double consumption_weight; } s_lmm_element_t; #define make_elem_active(elem) xbt_swag_insert_at_head(elem,&(elem->constraint->active_element_set)) #define make_elem_inactive(elem) xbt_swag_remove(elem,&(elem->constraint->active_element_set)) @@ -82,7 +86,13 @@ typedef struct lmm_variable { s_lmm_element_t *cnsts; int cnsts_size; int cnsts_number; - double weight; /* weight > 0 means variable is considered by LMM, weight == 0 means variable is not considered by LMM*/ + + // sharing_weight: variable's impact on the resource during the sharing + // if == 0, the variable is not considered by LMM + // on CPU, actions with N threads have a sharing of N + // on network, the actions with higher latency have a lesser sharing_weight + double sharing_weight; + double staged_weight; /* If non-zero, variable is staged for addition as soon as maxconcurrency constraints will be met */ double bound; double value;