summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
9dcc6d1)
hierarchical platforms.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@5234
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
double rate)
{
surf_action_network_CM02_t action = NULL;
double rate)
{
surf_action_network_CM02_t action = NULL;
+ /* LARGE PLATFORMS HACK:
+ Add a link_CM02_t *link and a int link_nb to network_card_CM02_t. It will represent local links for this node
+ Use the cluster_id for ->id */
network_card_CM02_t card_src = src;
network_card_CM02_t card_dst = dst;
int route_size = ROUTE_SIZE(card_src->id, card_dst->id);
link_CM02_t *route = ROUTE(card_src->id, card_dst->id);
network_card_CM02_t card_src = src;
network_card_CM02_t card_dst = dst;
int route_size = ROUTE_SIZE(card_src->id, card_dst->id);
link_CM02_t *route = ROUTE(card_src->id, card_dst->id);
+ /* LARGE PLATFORMS HACK:
+ total_route_size = route_size + src->link_nb + dst->nb */
int i;
XBT_IN4("(%s,%s,%g,%g)", card_src->name, card_dst->name, size, rate);
int i;
XBT_IN4("(%s,%s,%g,%g)", card_src->name, card_dst->name, size, rate);
+ /* LARGE PLATFORMS HACK:
+ assert on total_route_size */
xbt_assert2(route_size,
"You're trying to send data from %s to %s but there is no connexion between these two cards.",
card_src->name, card_dst->name);
xbt_assert2(route_size,
"You're trying to send data from %s to %s but there is no connexion between these two cards.",
card_src->name, card_dst->name);
action->latency = 0.0;
for (i = 0; i < route_size; i++)
action->latency += route[i]->lat_current;
action->latency = 0.0;
for (i = 0; i < route_size; i++)
action->latency += route[i]->lat_current;
+ /* LARGE PLATFORMS HACK:
+ Add src->link and dst->link latencies */
action->lat_current = action->latency;
action->lat_current = action->latency;
+ /* LARGE PLATFORMS HACK:
+ lmm_variable_new(..., total_route_size)*/
if (action->latency > 0)
action->variable =
lmm_variable_new(network_maxmin_system, action, 0.0, -1.0,
if (action->latency > 0)
action->variable =
lmm_variable_new(network_maxmin_system, action, 0.0, -1.0,
for (i = 0; i < route_size; i++)
lmm_expand(network_maxmin_system, route[i]->constraint,
action->variable, 1.0);
for (i = 0; i < route_size; i++)
lmm_expand(network_maxmin_system, route[i]->constraint,
action->variable, 1.0);
+ /* LARGE PLATFORMS HACK:
+ expand also with src->link and dst->link */
+
XBT_OUT;
return (surf_action_t) action;
XBT_OUT;
return (surf_action_t) action;