Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
TorusZone: Add limiter for destination node
authorBruno Donassolo <bruno.donassolo@inria.fr>
Fri, 30 Apr 2021 12:53:19 +0000 (14:53 +0200)
committerBruno Donassolo <bruno.donassolo@inria.fr>
Tue, 4 May 2021 16:04:49 +0000 (18:04 +0200)
Uniform the behavior of limiters for clusters: Torus, Dragonfly and
Fat-tree.

Limiters are added in source, destination and middle nodes.
Example: Route from A to C, passing through B (A -> B -> C)
A-> limiter(A) -> link(A-B) -> limiter(B) -> link(B-C) -> limiter(C) ->
C

Adjust test timing because of the new limiter. Also, fix flatifier test,
adding new limiter link at destination.

examples/cpp/clusters-multicpu/s4u-clusters-multicpu.cpp
examples/cpp/clusters-multicpu/s4u-clusters-multicpu.tesh
src/kernel/routing/TorusZone.cpp
teshsuite/simdag/flatifier/flatifier.tesh

index 751c8cc..c5477b3 100644 (file)
@@ -154,16 +154,16 @@ static sg4::Link* create_limiter(sg4::NetZone* zone, const std::vector<unsigned
  * B-----+----C (X-axis=2)
  *
  * For example, a communication from A to C goes through:
- * <tt> A->limiter(A)->link(A-B)->limiter(B)->link(B-C)->C </tt>
+ * <tt> A->limiter(A)->link(A-B)->limiter(B)->link(B-C)->limiter(C)->C </tt>
  *
  * More precisely, considering that A and C are StarZones, a
  * communication from A-CPU-3 to C-CPU-7 goes through:
  * 1) StarZone A: A-CPU-3 -> link-up-A-CPU-3 -> A-CPU-0
- * 2) A-CPU-0->limiter(A)->link(A-B)->limiter(B)->link(B-C)->C-CPU-0
+ * 2) A-CPU-0->limiter(A)->link(A-B)->limiter(B)->link(B-C)->limiter(C)->C-CPU-0
  * 3) StarZone C: C-CPU-0-> link-down-C-CPU-7 -> C-CPU-7
  *
  * Note that we don't have limiter links inside the StarZones(A, B, C),
- * but we have limiters in the Torus that are added to the links in the path (as we can see in "2)"")
+ * but we have limiters in the Torus that are added to the links in the path (as we can see in "2)")
  *
  * More details in: <a href="https://simgrid.org/doc/latest/Platform_examples.html?highlight=torus#torus-cluster">Torus
  * Cluster</a>
index 4058737..5470ce6 100644 (file)
@@ -10,63 +10,63 @@ $ ${bindir:=.}/s4u-clusters-multicpu torus
 > [host0-cpu2:receiver-host0-cpu2:(4) 0.000083] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
 > [host0-cpu1:receiver-host0-cpu1:(3) 0.000083] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
 > [host0-cpu0:receiver-host0-cpu0:(2) 0.000083] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host4-cpu0:receiver-host4-cpu0:(34) 0.039554] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host2-cpu0:receiver-host2-cpu0:(18) 0.039554] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host1-cpu0:receiver-host1-cpu0:(10) 0.039554] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host4-cpu7:receiver-host4-cpu7:(41) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host4-cpu6:receiver-host4-cpu6:(40) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host4-cpu5:receiver-host4-cpu5:(39) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host4-cpu4:receiver-host4-cpu4:(38) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host4-cpu3:receiver-host4-cpu3:(37) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host4-cpu2:receiver-host4-cpu2:(36) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host4-cpu1:receiver-host4-cpu1:(35) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host2-cpu7:receiver-host2-cpu7:(25) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host2-cpu6:receiver-host2-cpu6:(24) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host2-cpu5:receiver-host2-cpu5:(23) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host2-cpu4:receiver-host2-cpu4:(22) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host2-cpu3:receiver-host2-cpu3:(21) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host2-cpu2:receiver-host2-cpu2:(20) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host2-cpu1:receiver-host2-cpu1:(19) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host1-cpu7:receiver-host1-cpu7:(17) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host1-cpu6:receiver-host1-cpu6:(16) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host1-cpu5:receiver-host1-cpu5:(15) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host1-cpu4:receiver-host1-cpu4:(14) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host1-cpu3:receiver-host1-cpu3:(13) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host1-cpu2:receiver-host1-cpu2:(12) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host1-cpu1:receiver-host1-cpu1:(11) 0.040015] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host6-cpu0:receiver-host6-cpu0:(50) 0.054947] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host5-cpu0:receiver-host5-cpu0:(42) 0.054947] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host3-cpu0:receiver-host3-cpu0:(26) 0.054947] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host6-cpu7:receiver-host6-cpu7:(57) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host6-cpu6:receiver-host6-cpu6:(56) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host6-cpu5:receiver-host6-cpu5:(55) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host6-cpu4:receiver-host6-cpu4:(54) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host6-cpu3:receiver-host6-cpu3:(53) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host6-cpu2:receiver-host6-cpu2:(52) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host6-cpu1:receiver-host6-cpu1:(51) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host5-cpu7:receiver-host5-cpu7:(49) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host5-cpu6:receiver-host5-cpu6:(48) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host5-cpu5:receiver-host5-cpu5:(47) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host5-cpu4:receiver-host5-cpu4:(46) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host5-cpu3:receiver-host5-cpu3:(45) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host5-cpu2:receiver-host5-cpu2:(44) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host5-cpu1:receiver-host5-cpu1:(43) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host3-cpu7:receiver-host3-cpu7:(33) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host3-cpu6:receiver-host3-cpu6:(32) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host3-cpu5:receiver-host3-cpu5:(31) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host3-cpu4:receiver-host3-cpu4:(30) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host3-cpu3:receiver-host3-cpu3:(29) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host3-cpu2:receiver-host3-cpu2:(28) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host3-cpu1:receiver-host3-cpu1:(27) 0.055118] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host7-cpu0:receiver-host7-cpu0:(58) 0.057832] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host7-cpu7:receiver-host7-cpu7:(65) 0.057862] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host7-cpu6:receiver-host7-cpu6:(64) 0.057862] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host7-cpu5:receiver-host7-cpu5:(63) 0.057862] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host7-cpu4:receiver-host7-cpu4:(62) 0.057862] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host7-cpu3:receiver-host7-cpu3:(61) 0.057862] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host7-cpu2:receiver-host7-cpu2:(60) 0.057862] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host7-cpu1:receiver-host7-cpu1:(59) 0.057862] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
-> [host0-cpu0:sender:(1) 0.057862] [s4u_torus_multicpu/INFO] Goodbye now!
+> [host4-cpu0:receiver-host4-cpu0:(34) 0.045733] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host2-cpu0:receiver-host2-cpu0:(18) 0.045733] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host1-cpu0:receiver-host1-cpu0:(10) 0.045733] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host4-cpu7:receiver-host4-cpu7:(41) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host4-cpu6:receiver-host4-cpu6:(40) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host4-cpu5:receiver-host4-cpu5:(39) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host4-cpu4:receiver-host4-cpu4:(38) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host4-cpu3:receiver-host4-cpu3:(37) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host4-cpu2:receiver-host4-cpu2:(36) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host4-cpu1:receiver-host4-cpu1:(35) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host2-cpu7:receiver-host2-cpu7:(25) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host2-cpu6:receiver-host2-cpu6:(24) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host2-cpu5:receiver-host2-cpu5:(23) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host2-cpu4:receiver-host2-cpu4:(22) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host2-cpu3:receiver-host2-cpu3:(21) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host2-cpu2:receiver-host2-cpu2:(20) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host2-cpu1:receiver-host2-cpu1:(19) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host1-cpu7:receiver-host1-cpu7:(17) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host1-cpu6:receiver-host1-cpu6:(16) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host1-cpu5:receiver-host1-cpu5:(15) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host1-cpu4:receiver-host1-cpu4:(14) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host1-cpu3:receiver-host1-cpu3:(13) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host1-cpu2:receiver-host1-cpu2:(12) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host1-cpu1:receiver-host1-cpu1:(11) 0.046063] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host6-cpu0:receiver-host6-cpu0:(50) 0.058223] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host5-cpu0:receiver-host5-cpu0:(42) 0.058223] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host3-cpu0:receiver-host3-cpu0:(26) 0.058223] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host6-cpu7:receiver-host6-cpu7:(57) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host6-cpu6:receiver-host6-cpu6:(56) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host6-cpu5:receiver-host6-cpu5:(55) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host6-cpu4:receiver-host6-cpu4:(54) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host6-cpu3:receiver-host6-cpu3:(53) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host6-cpu2:receiver-host6-cpu2:(52) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host6-cpu1:receiver-host6-cpu1:(51) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host5-cpu7:receiver-host5-cpu7:(49) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host5-cpu6:receiver-host5-cpu6:(48) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host5-cpu5:receiver-host5-cpu5:(47) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host5-cpu4:receiver-host5-cpu4:(46) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host5-cpu3:receiver-host5-cpu3:(45) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host5-cpu2:receiver-host5-cpu2:(44) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host5-cpu1:receiver-host5-cpu1:(43) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host3-cpu7:receiver-host3-cpu7:(33) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host3-cpu6:receiver-host3-cpu6:(32) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host3-cpu5:receiver-host3-cpu5:(31) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host3-cpu4:receiver-host3-cpu4:(30) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host3-cpu3:receiver-host3-cpu3:(29) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host3-cpu2:receiver-host3-cpu2:(28) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host3-cpu1:receiver-host3-cpu1:(27) 0.058362] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host7-cpu0:receiver-host7-cpu0:(58) 0.060722] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host7-cpu7:receiver-host7-cpu7:(65) 0.060749] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host7-cpu6:receiver-host7-cpu6:(64) 0.060749] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host7-cpu5:receiver-host7-cpu5:(63) 0.060749] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host7-cpu4:receiver-host7-cpu4:(62) 0.060749] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host7-cpu3:receiver-host7-cpu3:(61) 0.060749] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host7-cpu2:receiver-host7-cpu2:(60) 0.060749] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host7-cpu1:receiver-host7-cpu1:(59) 0.060749] [s4u_torus_multicpu/INFO] I got a 'Hello, I'm alive and running on host0-cpu0'.
+> [host0-cpu0:sender:(1) 0.060749] [s4u_torus_multicpu/INFO] Goodbye now!
 
 $ ${bindir:=.}/s4u-clusters-multicpu fatTree
 > [host0-cpu0:sender:(1) 0.000000] [s4u_torus_multicpu/INFO] Done dispatching all messages
index a9d371d..c9c7299 100644 (file)
@@ -183,6 +183,9 @@ void TorusZone::get_local_route(NetPoint* src, NetPoint* dst, Route* route, doub
 
     current_node = next_node;
   }
+  if (has_limiter()) { // limiter for receiver/destination
+    route->link_list_.push_back(get_downlink_to(node_pos_with_loopback(dst->id())));
+  }
   // set gateways (if any)
   route->gw_src_ = get_gateway(src->id());
   route->gw_dst_ = get_gateway(dst->id());
index 7a4c631..4e10390 100644 (file)
@@ -1436,46 +1436,46 @@ $ ${bindir:=.}/flatifier ../platforms/cluster_torus_noncontiguous_rad.xml "--log
 >   <link_ctn id="bob_cluster_link_0_loopback"/>
 >   </route>
 >   <route src="node-0.simgrid.org" dst="node-1.simgrid.org">
->   <link_ctn id="bob_cluster_link_0_limiter"/><link_ctn id="bob_cluster_link_from_0_to_1_UP"/>
+>   <link_ctn id="bob_cluster_link_0_limiter"/><link_ctn id="bob_cluster_link_from_0_to_1_UP"/><link_ctn id="bob_cluster_link_1_limiter"/>
 >   </route>
 >   <route src="node-0.simgrid.org" dst="node-102.simgrid.org">
->   <link_ctn id="bob_cluster_link_0_limiter"/><link_ctn id="bob_cluster_link_from_0_to_2_UP"/>
+>   <link_ctn id="bob_cluster_link_0_limiter"/><link_ctn id="bob_cluster_link_from_0_to_2_UP"/><link_ctn id="bob_cluster_link_102_limiter"/>
 >   </route>
 >   <route src="node-0.simgrid.org" dst="node-103.simgrid.org">
->   <link_ctn id="bob_cluster_link_0_limiter"/><link_ctn id="bob_cluster_link_from_0_to_1_UP"/><link_ctn id="bob_cluster_link_1_limiter"/><link_ctn id="bob_cluster_link_from_1_to_3_UP"/>
+>   <link_ctn id="bob_cluster_link_0_limiter"/><link_ctn id="bob_cluster_link_from_0_to_1_UP"/><link_ctn id="bob_cluster_link_1_limiter"/><link_ctn id="bob_cluster_link_from_1_to_3_UP"/><link_ctn id="bob_cluster_link_103_limiter"/>
 >   </route>
 >   <route src="node-1.simgrid.org" dst="node-0.simgrid.org">
->   <link_ctn id="bob_cluster_link_1_limiter"/><link_ctn id="bob_cluster_link_from_0_to_1_DOWN"/>
+>   <link_ctn id="bob_cluster_link_1_limiter"/><link_ctn id="bob_cluster_link_from_0_to_1_DOWN"/><link_ctn id="bob_cluster_link_0_limiter"/>
 >   </route>
 >   <route src="node-1.simgrid.org" dst="node-1.simgrid.org">
 >   <link_ctn id="bob_cluster_link_1_loopback"/>
 >   </route>
 >   <route src="node-1.simgrid.org" dst="node-102.simgrid.org">
->   <link_ctn id="bob_cluster_link_1_limiter"/><link_ctn id="bob_cluster_link_from_0_to_1_DOWN"/><link_ctn id="bob_cluster_link_0_limiter"/><link_ctn id="bob_cluster_link_from_0_to_2_UP"/>
+>   <link_ctn id="bob_cluster_link_1_limiter"/><link_ctn id="bob_cluster_link_from_0_to_1_DOWN"/><link_ctn id="bob_cluster_link_0_limiter"/><link_ctn id="bob_cluster_link_from_0_to_2_UP"/><link_ctn id="bob_cluster_link_102_limiter"/>
 >   </route>
 >   <route src="node-1.simgrid.org" dst="node-103.simgrid.org">
->   <link_ctn id="bob_cluster_link_1_limiter"/><link_ctn id="bob_cluster_link_from_1_to_3_UP"/>
+>   <link_ctn id="bob_cluster_link_1_limiter"/><link_ctn id="bob_cluster_link_from_1_to_3_UP"/><link_ctn id="bob_cluster_link_103_limiter"/>
 >   </route>
 >   <route src="node-102.simgrid.org" dst="node-0.simgrid.org">
->   <link_ctn id="bob_cluster_link_102_limiter"/><link_ctn id="bob_cluster_link_from_0_to_2_DOWN"/>
+>   <link_ctn id="bob_cluster_link_102_limiter"/><link_ctn id="bob_cluster_link_from_0_to_2_DOWN"/><link_ctn id="bob_cluster_link_0_limiter"/>
 >   </route>
 >   <route src="node-102.simgrid.org" dst="node-1.simgrid.org">
->   <link_ctn id="bob_cluster_link_102_limiter"/><link_ctn id="bob_cluster_link_from_2_to_3_UP"/><link_ctn id="bob_cluster_link_103_limiter"/><link_ctn id="bob_cluster_link_from_1_to_3_DOWN"/>
+>   <link_ctn id="bob_cluster_link_102_limiter"/><link_ctn id="bob_cluster_link_from_2_to_3_UP"/><link_ctn id="bob_cluster_link_103_limiter"/><link_ctn id="bob_cluster_link_from_1_to_3_DOWN"/><link_ctn id="bob_cluster_link_1_limiter"/>
 >   </route>
 >   <route src="node-102.simgrid.org" dst="node-102.simgrid.org">
 >   <link_ctn id="bob_cluster_link_102_loopback"/>
 >   </route>
 >   <route src="node-102.simgrid.org" dst="node-103.simgrid.org">
->   <link_ctn id="bob_cluster_link_102_limiter"/><link_ctn id="bob_cluster_link_from_2_to_3_UP"/>
+>   <link_ctn id="bob_cluster_link_102_limiter"/><link_ctn id="bob_cluster_link_from_2_to_3_UP"/><link_ctn id="bob_cluster_link_103_limiter"/>
 >   </route>
 >   <route src="node-103.simgrid.org" dst="node-0.simgrid.org">
->   <link_ctn id="bob_cluster_link_103_limiter"/><link_ctn id="bob_cluster_link_from_2_to_3_DOWN"/><link_ctn id="bob_cluster_link_102_limiter"/><link_ctn id="bob_cluster_link_from_0_to_2_DOWN"/>
+>   <link_ctn id="bob_cluster_link_103_limiter"/><link_ctn id="bob_cluster_link_from_2_to_3_DOWN"/><link_ctn id="bob_cluster_link_102_limiter"/><link_ctn id="bob_cluster_link_from_0_to_2_DOWN"/><link_ctn id="bob_cluster_link_0_limiter"/>
 >   </route>
 >   <route src="node-103.simgrid.org" dst="node-1.simgrid.org">
->   <link_ctn id="bob_cluster_link_103_limiter"/><link_ctn id="bob_cluster_link_from_1_to_3_DOWN"/>
+>   <link_ctn id="bob_cluster_link_103_limiter"/><link_ctn id="bob_cluster_link_from_1_to_3_DOWN"/><link_ctn id="bob_cluster_link_1_limiter"/>
 >   </route>
 >   <route src="node-103.simgrid.org" dst="node-102.simgrid.org">
->   <link_ctn id="bob_cluster_link_103_limiter"/><link_ctn id="bob_cluster_link_from_2_to_3_DOWN"/>
+>   <link_ctn id="bob_cluster_link_103_limiter"/><link_ctn id="bob_cluster_link_from_2_to_3_DOWN"/><link_ctn id="bob_cluster_link_102_limiter"/>
 >   </route>
 >   <route src="node-103.simgrid.org" dst="node-103.simgrid.org">
 >   <link_ctn id="bob_cluster_link_103_loopback"/>