Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cosmetics in AsCluster and friends
[simgrid.git] / src / surf / AsClusterTorus.cpp
index 223c068..d53146e 100644 (file)
@@ -36,9 +36,9 @@ namespace simgrid {
     void AsClusterTorus::create_links_for_node(sg_platf_cluster_cbarg_t cluster, int id, int rank, int position) {
       char *link_id;
       unsigned int j = 0;
-      /**
+      /*
        * Create all links that exist in the torus.
-       * Each rank creates #dimensions-1 links
+       * Each rank creates @a dimensions-1 links
        */
       int neighbour_rank_id = 0;        // The other node the link connects
       int current_dimension = 0,        // which dimension are we currently in?
@@ -63,16 +63,16 @@ 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;
          * note that position rankId*(xbt_dynar_length(dimensions)+has_loopack?+has_limiter?)
          * holds the link "rankId->rankId"
@@ -92,8 +92,7 @@ namespace simgrid {
 
       if (!xbt_dynar_is_empty(dimensions)) {
         dimensions_ = xbt_dynar_new(sizeof(int), NULL);
-        /**
-         * We are in a torus cluster
+        /* We are in a torus cluster
          * Parse attribute dimensions="dim1,dim2,dim3,...,dimN"
          * and safe it in a dynarray.
          * Additionally, we need to know how many ranks we have in total
@@ -103,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);
@@ -117,24 +116,24 @@ 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;
       }
 
 
-      /**
+      /*
        * Dimension based routing routes through each dimension consecutively
        * TODO Change to dynamic assignment
        */
       unsigned int j, cur_dim, dim_product = 1;
       int current_node = src->id();
       int unsigned next_node = 0;
-      /**
+      /*
        * Arrays that hold the coordinates of the current node and
        * the target; comparing the values at the i-th position of
        * both arrays, we can easily assess whether we need to route
@@ -143,7 +142,7 @@ namespace simgrid {
       unsigned int *myCoords, *targetCoords;
       myCoords = rankId_to_coords(src->id(), dimensions_);
       targetCoords = rankId_to_coords(dst->id(), dimensions_);
-      /**
+      /*
        * linkOffset describes the offset where the link
        * we want to use is stored
        * (+1 is added because each node has a link from itself to itself,
@@ -171,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
@@ -182,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);
@@ -199,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;