Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[SURF] Cosmetics - indented assignments in surf_routing.cpp.
[simgrid.git] / src / surf / surf_routing.cpp
index 56d0f61..4a381dc 100644 (file)
 
 /**
  * @ingroup SURF_build_api
- * @brief A library containing all known workstations
+ * @brief A library containing all known hosts
  */
 xbt_lib_t host_lib;
 
 int ROUTING_HOST_LEVEL;         //Routing level
 int SURF_CPU_LEVEL;             //Surf cpu level
-int SURF_WKS_LEVEL;             //Surf workstation level
+int SURF_HOST_LEVEL;            //Surf host level
 int SIMIX_HOST_LEVEL;           //Simix host level
 int SIMIX_STORAGE_LEVEL;        //Simix storage level
 int MSG_HOST_LEVEL;             //Msg host level
@@ -43,7 +43,6 @@ int NS3_HOST_LEVEL;             //host node for ns3
 xbt_lib_t link_lib;
 int SD_LINK_LEVEL;              //Simdag level
 int SURF_LINK_LEVEL;            //Surf level
-int NS3_LINK_LEVEL;             //link for ns3
 
 xbt_lib_t as_router_lib;
 int ROUTING_ASR_LEVEL;          //Routing level
@@ -56,7 +55,7 @@ static xbt_dict_t random_value = NULL;
 
 /** @brief Retrieve a routing edge from its name
  *
- * Routing edges are either CPU/workstation and routers, whatever
+ * Routing edges are either host and routers, whatever
  */
 RoutingEdgePtr sg_routing_edge_by_name_or_null(const char *name) {
   RoutingEdgePtr net_elm = (RoutingEdgePtr) xbt_lib_get_or_null(host_lib, name, ROUTING_HOST_LEVEL);
@@ -762,36 +761,36 @@ static void routing_parse_cabinet(sg_platf_cabinet_cbarg_t cabinet)
     s_sg_platf_host_cbarg_t host;
     memset(&host, 0, sizeof(host));
     host.initial_state = SURF_RESOURCE_ON;
-    host.pstate = 0;
-    host.power_scale = 1.0;
-    host.core_amount = 1;
+    host.pstate        = 0;
+    host.power_scale   = 1.0;
+    host.core_amount   = 1;
 
     s_sg_platf_link_cbarg_t link;
     memset(&link, 0, sizeof(link));
-    link.state = SURF_RESOURCE_ON;
-    link.policy = SURF_LINK_FULLDUPLEX;
-    link.latency = cabinet->lat;
+    link.state     = SURF_RESOURCE_ON;
+    link.policy    = SURF_LINK_FULLDUPLEX;
+    link.latency   = cabinet->lat;
     link.bandwidth = cabinet->bw;
 
     s_sg_platf_host_link_cbarg_t host_link;
     memset(&host_link, 0, sizeof(host_link));
 
     for (i = start; i <= end; i++) {
-      host_id = bprintf("%s%d%s",cabinet->prefix,i,cabinet->suffix);
-      link_id = bprintf("link_%s%d%s",cabinet->prefix,i,cabinet->suffix);
-      host.id = host_id;
-      link.id = link_id;
+      host_id                      = bprintf("%s%d%s",cabinet->prefix,i,cabinet->suffix);
+      link_id                      = bprintf("link_%s%d%s",cabinet->prefix,i,cabinet->suffix);
+      host.id                      = host_id;
+      link.id                      = link_id;
       xbt_dynar_t power_state_list = xbt_dynar_new(sizeof(double), NULL);
       xbt_dynar_push(power_state_list,&cabinet->power);
       host.power_peak = power_state_list;
       sg_platf_new_host(&host);
       sg_platf_new_link(&link);
 
-      char* link_up = bprintf("%s_UP",link_id);
-      char* link_down = bprintf("%s_DOWN",link_id);
-      host_link.id = host_id;
-      host_link.link_up = link_up;
-      host_link.link_down= link_down;
+      char* link_up       = bprintf("%s_UP",link_id);
+      char* link_down     = bprintf("%s_DOWN",link_id);
+      host_link.id        = host_id;
+      host_link.link_up   = link_up;
+      host_link.link_down = link_down;
       sg_platf_new_host_link(&host_link);
 
       free(host_id);
@@ -846,7 +845,7 @@ static void routing_parse_cluster(sg_platf_cluster_cbarg_t cluster)
     sg_platf_new_AS_begin(&AS);
     ((AsClusterFatTree*)current_routing)->parse_specific_arguments(cluster);
   }
-  
+
   else{
     XBT_DEBUG("<AS id=\"%s\"\trouting=\"Cluster\">", cluster->id);
     AS.routing = A_surfxml_AS_routing_Cluster;
@@ -895,6 +894,15 @@ static void routing_parse_cluster(sg_platf_cluster_cbarg_t cluster)
 
       memset(&host, 0, sizeof(host));
       host.id = host_id;
+      if ((cluster->properties != NULL) && (!xbt_dict_is_empty(cluster->properties))) {
+         xbt_dict_cursor_t cursor=NULL;
+         char *key,*data;
+         host.properties = xbt_dict_new();
+
+         xbt_dict_foreach(cluster->properties,cursor,key,data) {
+                 xbt_dict_set(host.properties, key, xbt_strdup(data),free);
+         }
+      }
       if (cluster->availability_trace && strcmp(cluster->availability_trace, "")) {
         xbt_dict_set(patterns, "radical", bprintf("%d", i), NULL);
         char *avail_file = xbt_str_varsubst(cluster->availability_trace, patterns);
@@ -913,7 +921,7 @@ static void routing_parse_cluster(sg_platf_cluster_cbarg_t cluster)
       } else {
         XBT_DEBUG("\tstate_file=\"\"");
       }
-      
+
       xbt_dynar_t power_state_list = xbt_dynar_new(sizeof(double), NULL);
       xbt_dynar_push(power_state_list,&cluster->power);
       host.power_peak = power_state_list;
@@ -947,13 +955,13 @@ static void routing_parse_cluster(sg_platf_cluster_cbarg_t cluster)
 
 
         memset(&link, 0, sizeof(link));
-        link.id = tmp_link;
+        link.id        = tmp_link;
         link.bandwidth = cluster->loopback_bw;
-        link.latency = cluster->loopback_lat;
-        link.state = SURF_RESOURCE_ON;
-        link.policy = SURF_LINK_FATPIPE;
+        link.latency   = cluster->loopback_lat;
+        link.state     = SURF_RESOURCE_ON;
+        link.policy    = SURF_LINK_FATPIPE;
         sg_platf_new_link(&link);
-        info_loop.link_up =
+        info_loop.link_up   =
             xbt_lib_get_or_null(link_lib, tmp_link, SURF_LINK_LEVEL);
         info_loop.link_down = info_loop.link_up;
         free(tmp_link);
@@ -1003,7 +1011,7 @@ static void routing_parse_cluster(sg_platf_cluster_cbarg_t cluster)
     xbt_dynar_free(&radical_ends);
   }
   xbt_dynar_free(&radical_elements);
-  
+
   // For fat trees, the links must be created once all nodes have been added
   if(cluster->topology == SURF_CLUSTER_FAT_TREE) {
     ((AsClusterFatTree*)current_routing)->create_links();
@@ -1032,11 +1040,11 @@ static void routing_parse_cluster(sg_platf_cluster_cbarg_t cluster)
               cluster->bb_bw, cluster->bb_lat);
 
     memset(&link, 0, sizeof(link));
-    link.id = link_backbone;
+    link.id        = link_backbone;
     link.bandwidth = cluster->bb_bw;
-    link.latency = cluster->bb_lat;
-    link.state = SURF_RESOURCE_ON;
-    link.policy = cluster->bb_sharing_policy;
+    link.latency   = cluster->bb_lat;
+    link.state     = SURF_RESOURCE_ON;
+    link.policy    = cluster->bb_sharing_policy;
 
     sg_platf_new_link(&link);
 
@@ -1068,8 +1076,8 @@ static void routing_parse_peer(sg_platf_peer_cbarg_t peer)
 
   XBT_DEBUG("<AS id=\"%s\"\trouting=\"Cluster\">", peer->id);
   s_sg_platf_AS_cbarg_t AS = SG_PLATF_AS_INITIALIZER;
-  AS.id = peer->id;
-  AS.routing = A_surfxml_AS_routing_Cluster;
+  AS.id                    = peer->id;
+  AS.routing               = A_surfxml_AS_routing_Cluster;
   sg_platf_new_AS_begin(&AS);
 
   current_routing->p_linkUpDownList = xbt_dynar_new(sizeof(s_surf_parsing_link_up_down_t),NULL);
@@ -1093,8 +1101,8 @@ static void routing_parse_peer(sg_platf_peer_cbarg_t peer)
 
   s_sg_platf_link_cbarg_t link;
   memset(&link, 0, sizeof(link));
-  link.state = SURF_RESOURCE_ON;
-  link.policy = SURF_LINK_SHARED;
+  link.state   = SURF_RESOURCE_ON;
+  link.policy  = SURF_LINK_SHARED;
   link.latency = peer->lat;
 
   char* link_up = bprintf("%s_UP",link_id);
@@ -1114,9 +1122,9 @@ static void routing_parse_peer(sg_platf_peer_cbarg_t peer)
   XBT_DEBUG("<host_link\tid=\"%s\"\tup=\"%s\"\tdown=\"%s\" />", host_id,link_up,link_down);
   s_sg_platf_host_link_cbarg_t host_link;
   memset(&host_link, 0, sizeof(host_link));
-  host_link.id = host_id;
-  host_link.link_up = link_up;
-  host_link.link_down= link_down;
+  host_link.id        = host_id;
+  host_link.link_up   = link_up;
+  host_link.link_down = link_down;
   sg_platf_new_host_link(&host_link);
 
   XBT_DEBUG("<router id=\"%s\"/>", router_id);
@@ -1299,9 +1307,7 @@ void routing_register_callbacks()
   sg_platf_trace_add_cb(routing_parse_trace);
   sg_platf_trace_connect_add_cb(routing_parse_trace_connect);
 
-#ifdef HAVE_TRACING
   instr_routing_define_callbacks();
-#endif
 }
 
 /**
@@ -1397,4 +1403,3 @@ xbt_dynar_t surf_AS_get_hosts(AsPtr as) {
 void surf_AS_get_graph(AS_t as, xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges) {
   as->getGraph(graph, nodes, edges);
 }
-