From 82f71f716643bf7c4ba1c63793439b753fcfa954 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Sat, 4 Jun 2016 19:46:02 +0200 Subject: [PATCH] cosmetics in AsCluster and friends --- src/surf/AsCluster.cpp | 51 +++++++++++++++++----------------- src/surf/AsCluster.hpp | 6 ++-- src/surf/AsClusterFatTree.cpp | 6 ++-- src/surf/AsClusterTorus.cpp | 40 +++++++++++++------------- src/surf/AsVivaldi.cpp | 12 ++++---- src/surf/sg_platf.cpp | 26 ++++++++--------- src/surf/xml/platf_private.hpp | 4 +-- 7 files changed, 73 insertions(+), 72 deletions(-) diff --git a/src/surf/AsCluster.cpp b/src/surf/AsCluster.cpp index a42c765832..53b888220e 100644 --- a/src/surf/AsCluster.cpp +++ b/src/surf/AsCluster.cpp @@ -29,25 +29,25 @@ void AsCluster::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cb if (! src->isRouter()) { // No specific link for router - if((src->id() == dst->id()) && has_loopback_ ){ - info = xbt_dynar_get_as(privateLinks_, src->id() * nb_links_per_node_, s_surf_parsing_link_up_down_t); - route->link_list->push_back(info.link_up); + if((src->id() == dst->id()) && hasLoopback_ ){ + info = xbt_dynar_get_as(privateLinks_, src->id() * linkCountPerNode_, s_surf_parsing_link_up_down_t); + route->link_list->push_back(info.linkUp); if (lat) - *lat += info.link_up->getLatency(); + *lat += info.linkUp->getLatency(); return; } - if (has_limiter_){ // limiter for sender - info = xbt_dynar_get_as(privateLinks_, src->id() * nb_links_per_node_ + has_loopback_, s_surf_parsing_link_up_down_t); - route->link_list->push_back((Link*)info.link_up); + if (hasLimiter_){ // limiter for sender + info = xbt_dynar_get_as(privateLinks_, src->id() * linkCountPerNode_ + (hasLoopback_?1:0), s_surf_parsing_link_up_down_t); + route->link_list->push_back((Link*)info.linkUp); } - info = xbt_dynar_get_as(privateLinks_, src->id() * nb_links_per_node_ + has_loopback_ + has_limiter_, s_surf_parsing_link_up_down_t); - if (info.link_up) { // link up - route->link_list->push_back(info.link_up); + info = xbt_dynar_get_as(privateLinks_, src->id() * linkCountPerNode_ + (hasLoopback_?1:0) + (hasLimiter_?1:0), s_surf_parsing_link_up_down_t); + if (info.linkUp) { // link up + route->link_list->push_back(info.linkUp); if (lat) - *lat += info.link_up->getLatency(); + *lat += info.linkUp->getLatency(); } } @@ -59,16 +59,16 @@ void AsCluster::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cb } if (! dst->isRouter()) { // No specific link for router - info = xbt_dynar_get_as(privateLinks_, dst->id() * nb_links_per_node_ + has_loopback_ + has_limiter_, s_surf_parsing_link_up_down_t); + info = xbt_dynar_get_as(privateLinks_, dst->id() * linkCountPerNode_ + hasLoopback_ + hasLimiter_, s_surf_parsing_link_up_down_t); - if (info.link_down) { // link down - route->link_list->push_back(info.link_down); + if (info.linkDown) { // link down + route->link_list->push_back(info.linkDown); if (lat) - *lat += info.link_down->getLatency(); + *lat += info.linkDown->getLatency(); } - if (has_limiter_){ // limiter for receiver - info = xbt_dynar_get_as(privateLinks_, dst->id() * nb_links_per_node_ + has_loopback_, s_surf_parsing_link_up_down_t); - route->link_list->push_back(info.link_up); + if (hasLimiter_){ // limiter for receiver + info = xbt_dynar_get_as(privateLinks_, dst->id() * linkCountPerNode_ + hasLoopback_, s_surf_parsing_link_up_down_t); + route->link_list->push_back(info.linkUp); } } } @@ -103,10 +103,10 @@ void AsCluster::getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges) info = xbt_dynar_get_as(privateLinks_, src->id(), s_surf_parsing_link_up_down_t); - if (info.link_up) { // link up + if (info.linkUp) { // link up const char *link_name = static_cast( - info.link_up)->getName(); + info.linkUp)->getName(); current = new_xbt_graph_node(graph, link_name, nodes); new_xbt_graph_edge(graph, previous, current, edges); @@ -118,9 +118,9 @@ void AsCluster::getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges) } - if (info.link_down) { // link down + if (info.linkDown) { // link down const char *link_name = static_cast( - info.link_down)->getName(); + info.linkDown)->getName(); current = new_xbt_graph_node(graph, link_name, nodes); new_xbt_graph_edge(graph, previous, current, edges); @@ -149,13 +149,14 @@ void AsCluster::create_links_for_node(sg_platf_cluster_cbarg_t cluster, int id, if (link.policy == SURF_LINK_FULLDUPLEX) { char *tmp_link = bprintf("%s_UP", link_id); - info.link_up = Link::byName(tmp_link); + info.linkUp = Link::byName(tmp_link); xbt_free(tmp_link); tmp_link = bprintf("%s_DOWN", link_id); - info.link_down = Link::byName(tmp_link); + info.linkDown = Link::byName(tmp_link); xbt_free(tmp_link); } else { - info.link_up = info.link_down = Link::byName(link_id); + info.linkUp = Link::byName(link_id); + info.linkDown = info.linkUp; } xbt_dynar_set(privateLinks_, position, &info); xbt_free(link_id); diff --git a/src/surf/AsCluster.hpp b/src/surf/AsCluster.hpp index 544906905c..80a93fff8f 100644 --- a/src/surf/AsCluster.hpp +++ b/src/surf/AsCluster.hpp @@ -27,9 +27,9 @@ public: Link* backbone_ = nullptr; void *loopback_ = nullptr; NetCard *router_ = nullptr; - int has_limiter_ = 0; /* O or 1. must be an int since it's used to shift the considered index */ - int has_loopback_ = 0; /* O or 1. must be an int since it's used to shift the considered index */ - int nb_links_per_node_ = 1; /* may be 1 (if only a private link), 2 or 3 (if limiter and loopback) */ + bool hasLimiter_ = false; + bool hasLoopback_ = false; + int linkCountPerNode_ = 1; /* may be 1 (if only a private link), 2 or 3 (if limiter and loopback) */ }; diff --git a/src/surf/AsClusterFatTree.cpp b/src/surf/AsClusterFatTree.cpp index 3b071e1f9d..263d2d50b4 100644 --- a/src/surf/AsClusterFatTree.cpp +++ b/src/surf/AsClusterFatTree.cpp @@ -92,7 +92,7 @@ void AsClusterFatTree::getRouteAndLatency(NetCard *src, /* In case destination is the source, and there is a loopback, let's get through it instead of going up to a switch*/ - if(source->id == destination->id && this->has_loopback_) { + if(source->id == destination->id && this->hasLoopback_) { into->link_list->push_back(source->loopback); if(latency) { *latency += source->loopback->getLatency(); @@ -118,7 +118,7 @@ void AsClusterFatTree::getRouteAndLatency(NetCard *src, *latency += currentNode->parents[d]->upLink->getLatency(); } - if (this->has_limiter_) { + if (this->hasLimiter_) { into->link_list->push_back(currentNode->limiterLink); } currentNode = currentNode->parents[d]->upNode; @@ -138,7 +138,7 @@ void AsClusterFatTree::getRouteAndLatency(NetCard *src, *latency += currentNode->children[i]->downLink->getLatency(); } currentNode = currentNode->children[i]->downNode; - if (this->has_limiter_) { + if (this->hasLimiter_) { into->link_list->push_back(currentNode->limiterLink); } XBT_DEBUG("%d(%u,%u) is accessible through %d(%u,%u)", destination->id, diff --git a/src/surf/AsClusterTorus.cpp b/src/surf/AsClusterTorus.cpp index af5abc764d..d53146eae3 100644 --- a/src/surf/AsClusterTorus.cpp +++ b/src/surf/AsClusterTorus.cpp @@ -63,14 +63,14 @@ namespace simgrid { s_surf_parsing_link_up_down_t info; if (link.policy == SURF_LINK_FULLDUPLEX) { char *tmp_link = bprintf("%s_UP", link_id); - info.link_up = Link::byName(tmp_link); + info.linkUp = Link::byName(tmp_link); free(tmp_link); tmp_link = bprintf("%s_DOWN", link_id); - info.link_down = Link::byName(tmp_link); + info.linkDown = Link::byName(tmp_link); free(tmp_link); } else { - info.link_up = Link::byName(link_id); - info.link_down = info.link_up; + info.linkUp = Link::byName(link_id); + info.linkDown = info.linkUp; } /* * Add the link to its appropriate position; @@ -102,7 +102,7 @@ namespace simgrid { xbt_dynar_set_as(dimensions_, iter, int, tmp); } - nb_links_per_node_ = xbt_dynar_length(dimensions_); + linkCountPerNode_ = xbt_dynar_length(dimensions_); } xbt_dynar_free(&dimensions); @@ -116,12 +116,12 @@ namespace simgrid { if (dst->isRouter() || src->isRouter()) return; - if ((src->id() == dst->id()) && has_loopback_) { - s_surf_parsing_link_up_down_t info = xbt_dynar_get_as(privateLinks_, src->id() * nb_links_per_node_, s_surf_parsing_link_up_down_t); + if ((src->id() == dst->id()) && hasLoopback_) { + s_surf_parsing_link_up_down_t info = xbt_dynar_get_as(privateLinks_, src->id() * linkCountPerNode_, s_surf_parsing_link_up_down_t); - route->link_list->push_back(info.link_up); + route->link_list->push_back(info.linkUp); if (lat) - *lat += info.link_up->getLatency(); + *lat += info.linkUp->getLatency(); return; } @@ -170,8 +170,8 @@ namespace simgrid { next_node = (current_node + dim_product); // HERE: We use *CURRENT* node for calculation (as opposed to next_node) - nodeOffset = current_node * (nb_links_per_node_); - linkOffset = nodeOffset + has_loopback_ + has_limiter_ + j; + nodeOffset = current_node * (linkCountPerNode_); + linkOffset = nodeOffset + (hasLoopback_?1:0) + (hasLimiter_?1:0) + j; use_lnk_up = true; assert(linkOffset >= 0); } else { // Route to the left @@ -181,8 +181,8 @@ namespace simgrid { next_node = (current_node - dim_product); // HERE: We use *next* node for calculation (as opposed to current_node!) - nodeOffset = next_node * (nb_links_per_node_); - linkOffset = nodeOffset + j + has_loopback_ + has_limiter_; + nodeOffset = next_node * (linkCountPerNode_); + linkOffset = nodeOffset + j + (hasLoopback_?1:0) + (hasLimiter_?1:0) ; use_lnk_up = false; assert(linkOffset >= 0); @@ -198,21 +198,21 @@ namespace simgrid { s_surf_parsing_link_up_down_t info; - if (has_limiter_) { // limiter for sender - info = xbt_dynar_get_as(privateLinks_, nodeOffset + has_loopback_, s_surf_parsing_link_up_down_t); - route->link_list->push_back(info.link_up); + if (hasLimiter_) { // limiter for sender + info = xbt_dynar_get_as(privateLinks_, nodeOffset + hasLoopback_, s_surf_parsing_link_up_down_t); + route->link_list->push_back(info.linkUp); } info = xbt_dynar_get_as(privateLinks_, linkOffset, s_surf_parsing_link_up_down_t); if (use_lnk_up == false) { - route->link_list->push_back(info.link_down); + route->link_list->push_back(info.linkDown); if (lat) - *lat += info.link_down->getLatency(); + *lat += info.linkDown->getLatency(); } else { - route->link_list->push_back(info.link_up); + route->link_list->push_back(info.linkUp); if (lat) - *lat += info.link_up->getLatency(); + *lat += info.linkUp->getLatency(); } current_node = next_node; next_node = 0; diff --git a/src/surf/AsVivaldi.cpp b/src/surf/AsVivaldi.cpp index dce28ba020..5e310fa4dd 100644 --- a/src/surf/AsVivaldi.cpp +++ b/src/surf/AsVivaldi.cpp @@ -65,18 +65,18 @@ void AsVivaldi::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cb /* Retrieve the private links */ if ((int)xbt_dynar_length(privateLinks_) > src->id()) { s_surf_parsing_link_up_down_t info = xbt_dynar_get_as(privateLinks_, src->id(), s_surf_parsing_link_up_down_t); - if(info.link_up) { - route->link_list->push_back(info.link_up); + if(info.linkUp) { + route->link_list->push_back(info.linkUp); if (lat) - *lat += info.link_up->getLatency(); + *lat += info.linkUp->getLatency(); } } if ((int)xbt_dynar_length(privateLinks_)>dst->id()) { s_surf_parsing_link_up_down_t info = xbt_dynar_get_as(privateLinks_, dst->id(), s_surf_parsing_link_up_down_t); - if(info.link_down) { - route->link_list->push_back(info.link_down); + if(info.linkDown) { + route->link_list->push_back(info.linkDown); if (lat) - *lat += info.link_down->getLatency(); + *lat += info.linkDown->getLatency(); } } diff --git a/src/surf/sg_platf.cpp b/src/surf/sg_platf.cpp index a93e51fe34..ef0882175d 100644 --- a/src/surf/sg_platf.cpp +++ b/src/surf/sg_platf.cpp @@ -262,13 +262,13 @@ void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster) current_as->parse_specific_arguments(cluster); if(cluster->loopback_bw!=0 || cluster->loopback_lat!=0){ - current_as->nb_links_per_node_++; - current_as->has_loopback_ = 1; + current_as->linkCountPerNode_++; + current_as->hasLoopback_ = 1; } if(cluster->limiter_link!=0){ - current_as->nb_links_per_node_++; - current_as->has_limiter_ = 1; + current_as->linkCountPerNode_++; + current_as->hasLimiter_ = 1; } std::vector *radicals = explodesRadical(cluster->radical); @@ -321,10 +321,10 @@ void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster) link.latency = cluster->loopback_lat; link.policy = SURF_LINK_FATPIPE; sg_platf_new_link(&link); - info_loop.link_up = info_loop.link_down = Link::byName(tmp_link); + info_loop.linkUp = info_loop.linkDown = Link::byName(tmp_link); free(tmp_link); auto as_cluster = static_cast(current_as); - xbt_dynar_set(as_cluster->privateLinks_, rankId*as_cluster->nb_links_per_node_, &info_loop); + xbt_dynar_set(as_cluster->privateLinks_, rankId*as_cluster->linkCountPerNode_, &info_loop); } //add a limiter link (shared link to account for maximal bandwidth of the node) @@ -338,9 +338,9 @@ void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster) link.latency = 0; link.policy = SURF_LINK_SHARED; sg_platf_new_link(&link); - info_lim.link_up = info_lim.link_down = Link::byName(tmp_link); + info_lim.linkUp = info_lim.linkDown = Link::byName(tmp_link); free(tmp_link); - xbt_dynar_set(current_as->privateLinks_, rankId * current_as->nb_links_per_node_ + current_as->has_loopback_ , &info_lim); + xbt_dynar_set(current_as->privateLinks_, rankId * current_as->linkCountPerNode_ + current_as->hasLoopback_ , &info_lim); } //call the cluster function that adds the others links @@ -349,7 +349,7 @@ void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster) } else { current_as->create_links_for_node(cluster, i, rankId, - rankId*current_as->nb_links_per_node_ + current_as->has_loopback_ + current_as->has_limiter_ ); + rankId*current_as->linkCountPerNode_ + current_as->hasLoopback_ + current_as->hasLimiter_ ); } xbt_free(link_id); xbt_free(host_id); @@ -891,11 +891,11 @@ void sg_platf_new_hostlink(sg_platf_host_link_cbarg_t hostlink) "Only hosts from Cluster and Vivaldi ASes can get an host_link."); s_surf_parsing_link_up_down_t link_up_down; - link_up_down.link_up = Link::byName(hostlink->link_up); - link_up_down.link_down = Link::byName(hostlink->link_down); + link_up_down.linkUp = Link::byName(hostlink->link_up); + link_up_down.linkDown = Link::byName(hostlink->link_down); - xbt_assert(link_up_down.link_up, "Link '%s' not found!",hostlink->link_up); - xbt_assert(link_up_down.link_down, "Link '%s' not found!",hostlink->link_down); + xbt_assert(link_up_down.linkUp, "Link '%s' not found!",hostlink->link_up); + xbt_assert(link_up_down.linkDown, "Link '%s' not found!",hostlink->link_down); // If dynar is is greater than netcard id and if the host_link is already defined auto as_cluster = static_cast(current_routing); diff --git a/src/surf/xml/platf_private.hpp b/src/surf/xml/platf_private.hpp index 3d21302f1a..899c37bd46 100644 --- a/src/surf/xml/platf_private.hpp +++ b/src/surf/xml/platf_private.hpp @@ -251,8 +251,8 @@ XBT_PRIVATE void sg_instr_AS_end(void); typedef struct s_surf_parsing_link_up_down *surf_parsing_link_up_down_t; typedef struct s_surf_parsing_link_up_down { - Link* link_up; - Link* link_down; + Link* linkUp; + Link* linkDown; } s_surf_parsing_link_up_down_t; -- 2.20.1