Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cosmetics in AsCluster and friends
authorMartin Quinson <martin.quinson@loria.fr>
Sat, 4 Jun 2016 17:46:02 +0000 (19:46 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Sat, 4 Jun 2016 17:46:02 +0000 (19:46 +0200)
src/surf/AsCluster.cpp
src/surf/AsCluster.hpp
src/surf/AsClusterFatTree.cpp
src/surf/AsClusterTorus.cpp
src/surf/AsVivaldi.cpp
src/surf/sg_platf.cpp
src/surf/xml/platf_private.hpp

index a42c765..53b8882 100644 (file)
@@ -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->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)
       if (lat)
-        *lat += info.link_up->getLatency();
+        *lat += info.linkUp->getLatency();
       return;
     }
 
 
       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)
       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
   }
 
   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)
       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);
 
 
       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<simgrid::surf::Resource*>(
 
         const char *link_name = static_cast<simgrid::surf::Resource*>(
-          info.link_up)->getName();
+          info.linkUp)->getName();
         current = new_xbt_graph_node(graph, link_name, nodes);
         new_xbt_graph_edge(graph, previous, current, edges);
 
         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<simgrid::surf::Resource*>(
         const char *link_name = static_cast<simgrid::surf::Resource*>(
-          info.link_down)->getName();
+          info.linkDown)->getName();
         current = new_xbt_graph_node(graph, link_name, nodes);
         new_xbt_graph_edge(graph, previous, current, edges);
 
         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);
 
   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);
     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 {
     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);
   }
   xbt_dynar_set(privateLinks_, position, &info);
   xbt_free(link_id);
index 5449069..80a93ff 100644 (file)
@@ -27,9 +27,9 @@ public:
   Link* backbone_ = nullptr;
   void *loopback_ = nullptr;
   NetCard *router_ = nullptr;
   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) */
 
 };
 
 
 };
 
index 3b071e1..263d2d5 100644 (file)
@@ -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*/
 
   /* 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();
     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();
     }
 
       *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;
       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;
           *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,
           into->link_list->push_back(currentNode->limiterLink);
         }
         XBT_DEBUG("%d(%u,%u) is accessible through %d(%u,%u)", destination->id,
index af5abc7..d53146e 100644 (file)
@@ -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);
         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);
           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 {
           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;
         }
         /*
          * Add the link to its appropriate position;
@@ -102,7 +102,7 @@ namespace simgrid {
           xbt_dynar_set_as(dimensions_, iter, int, tmp);
         }
 
           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);
 
       }
       xbt_dynar_free(&dimensions);
@@ -116,12 +116,12 @@ namespace simgrid {
       if (dst->isRouter() || src->isRouter())
         return;
 
       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)
         if (lat)
-          *lat += info.link_up->getLatency();
+          *lat += info.linkUp->getLatency();
         return;
       }
 
         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)
                 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
               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!)
                 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);
               use_lnk_up = false;
 
               assert(linkOffset >= 0);
@@ -198,21 +198,21 @@ namespace simgrid {
 
         s_surf_parsing_link_up_down_t info;
 
 
         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) {
         }
 
         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)
           if (lat)
-            *lat += info.link_down->getLatency();
+            *lat += info.linkDown->getLatency();
         } else {
         } else {
-          route->link_list->push_back(info.link_up);
+          route->link_list->push_back(info.linkUp);
           if (lat)
           if (lat)
-            *lat += info.link_up->getLatency();
+            *lat += info.linkUp->getLatency();
         }
         current_node = next_node;
         next_node = 0;
         }
         current_node = next_node;
         next_node = 0;
index dce28ba..5e310fa 100644 (file)
@@ -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);
   /* 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)
       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 ((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)
       if (lat)
-        *lat += info.link_down->getLatency();
+        *lat += info.linkDown->getLatency();
     }
   }
 
     }
   }
 
index a93e51f..ef08821 100644 (file)
@@ -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->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){
   }
 
   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<int> *radicals = explodesRadical(cluster->radical);
   }
 
   std::vector<int> *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);
       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<AsCluster*>(current_as);
       free(tmp_link);
       auto as_cluster = static_cast<AsCluster*>(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)
     }
 
     //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);
       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);
       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
     }
 
     //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,
     }
     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);
     }
     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;
       "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<simgrid::surf::AsCluster*>(current_routing);
 
   // If dynar is is greater than netcard id and if the host_link is already defined
   auto as_cluster = static_cast<simgrid::surf::AsCluster*>(current_routing);
index 3d21302..899c37b 100644 (file)
@@ -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 {
 
 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;
 
 
 } s_surf_parsing_link_up_down_t;