Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add script and platforms for cabinet.
authorNavarrop <Pierre.Navarro@imag.fr>
Mon, 11 Jul 2011 14:48:48 +0000 (16:48 +0200)
committerNavarrop <Pierre.Navarro@imag.fr>
Mon, 11 Jul 2011 14:48:48 +0000 (16:48 +0200)
buildtools/Cmake/generate_g5k_platform_cabinets.pl [new file with mode: 0644]
examples/platforms/g5k_cabinets.xml [new file with mode: 0644]
examples/platforms/nancy.xml [new file with mode: 0644]

diff --git a/buildtools/Cmake/generate_g5k_platform_cabinets.pl b/buildtools/Cmake/generate_g5k_platform_cabinets.pl
new file mode 100644 (file)
index 0000000..f5009f3
--- /dev/null
@@ -0,0 +1,339 @@
+#!/usr/bin/perl -w
+use strict;
+use Switch;
+
+my $site="";
+my $cluster="";
+my $toversion=3;
+my $line;
+my $uid="";
+my $i=0;
+my @AS_route = ();
+
+if($#ARGV!=1) {
+    die "Usage: ./generate_g5k_platform.pl g5k_username g5k_password\n";
+}
+
+print "<?xml version='1.0'?>\n";
+print "<!DOCTYPE platform SYSTEM \"http://simgrid.gforge.inria.fr/simgrid.dtd\">\n";
+print "<platform version=\"$toversion\">\n";
+print "\t<AS id=\"AS_grid5000\" routing=\"Floyd\" >\n";
+
+print "\t\t<AS id=\"AS_interne\" routing=\"Floyd\">\n";
+printf "\t\t\t<router id=\"lille\"/>\n";
+printf "\t\t\t<router id=\"paris\"/>\n";
+printf "\t\t\t<router id=\"nancy\"/>\n";
+printf "\t\t\t<router id=\"rennes\"/>\n";
+printf "\t\t\t<router id=\"lyon\"/>\n";
+printf "\t\t\t<router id=\"bordeaux\"/>\n";
+printf "\t\t\t<router id=\"grenoble\"/>\n";
+printf "\t\t\t<router id=\"marseille\"/>\n";
+printf "\t\t\t<router id=\"toulouse\"/>\n";
+printf "\t\t\t<router id=\"sophia\"/>\n";
+#printf "\t\t\t<router id=\"luxembourg\">\n";
+print "\n";
+printf "\t\t\t<link id=\"Lille_Paris\"        bandwidth=\"1.25E9\" latency=\"1.0E-4\"/>\n";
+printf "\t\t\t<link id=\"Paris_Nancy\"        bandwidth=\"1.25E9\" latency=\"1.0E-4\"/>\n";
+printf "\t\t\t<link id=\"Paris_Rennes\"       bandwidth=\"1.25E9\" latency=\"1.0E-4\"/>\n";
+printf "\t\t\t<link id=\"Paris_Lyon\"         bandwidth=\"1.25E9\" latency=\"1.0E-4\"/>\n";
+printf "\t\t\t<link id=\"Bordeaux_Lyon\"      bandwidth=\"1.25E9\" latency=\"1.0E-4\"/>\n";
+printf "\t\t\t<link id=\"Lyon_Grenoble\"      bandwidth=\"1.25E9\" latency=\"1.0E-4\"/>\n";
+printf "\t\t\t<link id=\"Lyon_Marseille\"     bandwidth=\"1.25E9\" latency=\"1.0E-4\"/>\n";
+printf "\t\t\t<link id=\"Marseille_Sophia\"   bandwidth=\"1.25E9\" latency=\"1.0E-4\"/>\n";
+printf "\t\t\t<link id=\"Marseille_Toulouse\" bandwidth=\"1.25E9\" latency=\"1.0E-4\"/>\n";
+#printf "\t\t<link id=\"Luxemburg_Nancy\"    bandwidth=\"1.25E9\" latency=\"1.0E-4\"/>\n";
+print "\n";
+
+print "\t\t<route src=\"lille\"     dst=\"paris\"     ><link_ctn id=\"Lille_Paris\"/></route>\n";
+print "\t\t<route src=\"paris\"     dst=\"nancy\"     ><link_ctn id=\"Paris_Nancy\"/></route>\n";
+print "\t\t<route src=\"paris\"     dst=\"rennes\"    ><link_ctn id=\"Paris_Rennes\"/></route>\n";
+print "\t\t<route src=\"paris\"     dst=\"lyon\"      ><link_ctn id=\"Paris_Lyon\"/></route>\n";
+print "\t\t<route src=\"bordeaux\"  dst=\"lyon\"      ><link_ctn id=\"Bordeaux_Lyon\"/></route>\n";
+print "\t\t<route src=\"lyon\"      dst=\"grenoble\"  ><link_ctn id=\"Lyon_Grenoble\"/></route>\n";
+print "\t\t<route src=\"lyon\"      dst=\"marseille\" ><link_ctn id=\"Lyon_Marseille\"/></route>\n";
+print "\t\t<route src=\"marseille\" dst=\"sophia\"    ><link_ctn id=\"Marseille_Sophia\"/></route>\n";
+print "\t\t<route src=\"marseille\" dst=\"toulouse\"  ><link_ctn id=\"Marseille_Toulouse\"/></route>\n";
+#print "\t\t<route src=\"Luxemburg\" dst=\"Nancy\"     ><link_ctn id=\"Luxemburg_Nancy\"/></route>\n";
+print "\t\t</AS>\n"; 
+  
+`wget https://api.grid5000.fr/2.0/grid5000/sites --http-user="$ARGV[0]" --http-password="$ARGV[1]" --no-check-certificate --quiet`;
+open SITES_LIGNE, 'sites' or die "Unable to open sites $!\n";
+while(defined($line=<SITES_LIGNE>))
+{
+       if($line =~ /"uid": "(.*)",/){
+               $site = $1;
+               print "\t\t<AS id=\"AS_$site\" routing=\"RuleBased\" >\n";
+       
+               `wget https://api.grid5000.fr/2.0/grid5000/sites/$site/clusters --http-user="$ARGV[0]" --http-password="$ARGV[1]" --no-check-certificate --quiet`;
+               open CLUSTERS_LIGNE, 'clusters' or die "Unable to open clusters $!\n";
+               while(defined($line=<CLUSTERS_LIGNE>))
+               {
+                       if($line =~ /"uid": "(.*)",/){
+                               $cluster = $1;
+                               &get_switch($site, $cluster);                   
+                       }
+               }
+
+               close CLUSTERS_LIGNE;
+               `rm clusters`;
+               
+               print "\t\t\t<AS id=\"gw_AS_$site\" routing=\"Full\">\n";
+               print "\t\t\t\t<router id=\"gw_$site\"/>\n";
+               print "\t\t\t</AS>\n";
+               print "\t\t\t<link   id=\"link_gw_$site\" bandwidth=\"1.25E9\" latency=\"1.0E-4\"/>\n";
+               print "\n";
+               
+               print "\t\t\t<ASroute src=\"^AS_(.*)\$\" dst=\"^AS_(.*)\$\"\n";
+               print "\t\t\t\tgw_src=\"\$1src-AS_\$1src_router.$site.grid5000.fr\"\n";
+               print "\t\t\t\tgw_dst=\"\$1dst-AS_\$1dst_router.$site.grid5000.fr\"\n";
+               print "\t\t\t\tsymmetrical=\"YES\">\n";
+               print "\t\t\t\t\t<link_ctn id=\"link_\$1src\"/>\n";
+               print "\t\t\t\t\t<link_ctn id=\"link_\$1dst\"/>\n";
+               print "\t\t\t</ASroute>\n\n"; 
+
+               print "\t\t\t<ASroute src=\"^AS_(.*)\$\" dst=\"^gw_AS_(.*)\$\"\n";
+               print "\t\t\t\tgw_src=\"\$1src-AS_\$1src_router.$site.grid5000.fr\"\n";
+               print "\t\t\t\tgw_dst=\"gw_\$1dst\"\n";
+               print "\t\t\t\tsymmetrical=\"NO\">\n";
+               print "\t\t\t\t\t<link_ctn id=\"link_\$1src\"/>\n";
+               print "\t\t\t</ASroute>\n\n"; 
+               
+               print "\t\t\t<ASroute src=\"^gw_AS_(.*)\$\" dst=\"^AS_(.*)\$\"\n";
+               print "\t\t\t\tgw_src=\"gw_\$1src\"\n";
+               print "\t\t\t\tgw_dst=\"\$1dst-AS_\$1dst_router.$site.grid5000.fr\"\n";
+               print "\t\t\t\tsymmetrical=\"NO\">\n";
+               print "\t\t\t\t\t<link_ctn id=\"link_\$1dst\"/>\n";
+               print "\t\t\t</ASroute>\n\n"; 
+
+               print "\t\t</AS>\n";
+               
+               push @AS_route, $site;
+       }
+}
+close SITES_LIGNE;
+`rm sites`;
+
+printf "\n";
+
+while(@AS_route)
+{
+       $site = pop @AS_route;
+       print "\t\t<ASroute src=\"AS_$site\" dst=\"AS_interne\" gw_src=\"gw_$site\"";
+       if( $site =~ /^orsay$/ )
+       {
+               print " gw_dst=\"paris\"";
+       }
+       else
+       {
+               print " gw_dst=\"$site\"";
+       }
+       print " symmetrical=\"YES\">\n";
+       print "\t\t\t<link_ctn id=\"link_gw_$site\"/>\n";
+       print "\t\t</ASroute>\n";
+}
+
+print "\t</AS>\n";
+print "</platform>\n";
+
+sub get_switch {
+       my $total;
+       my $switch="";
+       my @switch_list=();
+
+       my @host=();
+       my @host_switch=();
+       $site="$_[0]";
+       $cluster="$_[1]";
+       `wget https://api.grid5000.fr/2.0/grid5000/sites/$site/clusters/$cluster/nodes --http-user="$ARGV[0]" --http-password="$ARGV[1]" --no-check-certificate --quiet`;
+       open NODES_LIGNE, 'nodes' or die "Unable to open nodes $!\n";
+       while(defined($line=<NODES_LIGNE>))
+       {
+               if($line =~ /"uid": "(.*)",/)
+               {
+                       $uid = $1;
+                       push(@host, $1);        
+               }
+               if($line =~ /"total": (.*),/){
+                       $total = $1;
+               }
+               if($line =~ /"switch": "(.*)",/ && !$switch)
+               {
+                       $switch = "$1"; 
+                       push(@host_switch, $1);
+               }
+               if( $uid && $switch )
+               {
+                       push(@switch_list, $switch);    
+                       $uid="";        
+                       $switch="";     
+               }
+       }
+       close NODES_LIGNE;
+       `rm nodes`;
+
+       my %count;
+       my @uniq_array = grep { ++$count{$_} < 2 } @switch_list;
+       @uniq_array = sort (@uniq_array);
+       if(@switch_list && @uniq_array != 1){
+
+               if(@switch_list != @host){
+                       printf "Take care \@host != of \@switch_list\n";
+               }               
+               
+               print "\t\t\t<AS id=\"AS_$cluster\" routing=\"RuleBased\" >\n";
+
+               my @num=();
+               my $radical;
+               foreach(@uniq_array){
+                       $switch = $_;
+                       $i=0;
+                       @num=();
+                       foreach(@host_switch){
+                               if($_ =~ $switch){
+                                       if($host[$i] =~ /$cluster-(.*)/){
+                                               push(@num, $1);
+                                       }       
+                               }
+                               $i++;
+                       }
+       
+                       my $deb;
+                       my $fin;
+                       @num=sort {$a <=> $b} (@num);
+                       $radical = "";
+       
+                       $i=0;
+                       foreach(@num){  
+                               if($i == 0){
+                               $deb = $num[$i];
+                               $fin = $num[$i];
+                               }
+                               else{
+                                       if($num[$i] == ($num[$i-1]+1) )
+                                       {
+                                               $fin = $num[$i];
+                                               if(@num == ($i+1)){
+                                                       if($deb != $fin)
+                                                       {
+                                                               if(!($radical =~ /^$/))
+                                                               {
+                                                                       $radical = $radical.";";
+                                                               }
+                                                               $radical = $radical.$deb."-".$fin;
+                                                               $deb = $num[$i];
+                                                               $fin = $num[$i];
+                                                       }
+                                                       else
+                                                       {
+                                                               $radical=$radical.";".$num[$i];
+                                                       }                               
+                                               }
+                                       }
+                                       else
+                                       {
+                                               if($deb != $fin)
+                                               {
+                                                       if(!($radical =~ /^$/))
+                                                       {
+                                                               $radical = $radical.";";
+                                                       }
+                                                       $radical = $radical.$deb."-".$fin;
+                                                       $deb = $num[$i];
+                                                       $fin = $num[$i];
+                                               }
+                                               else
+                                               {
+                                                       $radical=$radical.";".$num[$i];
+                                               }
+                       
+                                       }
+                               }
+                               $i++;
+                       }
+                       print "\t\t\t\t<cluster id=\"AS_$switch\" prefix=\"$cluster-\" suffix=\".$site.grid5000.fr\"\n";
+                       print "\t\t\t\t\tradical=\"$radical\" power=\"";
+                       &get_gflops($cluster);
+                       print "\" bw=\"1.25E8\" lat=\"1.0E-4\""."\n";
+                       print "\t\t\t\t\tbb_bw=\"1.25E9\" bb_lat=\"1.0E-4\"></cluster>\n";
+               }
+               
+               print "\n\t\t\t\t<AS id=\"gw_AS_$cluster\" routing=\"Full\">\n";
+               print "\t\t\t\t\t<router id=\"".$cluster."-AS_".$cluster."_router.".$site.".grid5000.fr\"/>\n";
+               print "\t\t\t\t</AS>\n";
+               
+               print "\t\t\t\t<link id=\"switch-$cluster\" bandwidth=\"1250000000\" latency=\"5E-4\"/>\n\n";
+       
+       print "\t\t\t\t<ASroute src=\"^AS_(.*)\$\" dst=\"^AS_(.*)\$\"\n";
+               print "\t\t\t\t gw_src=\"$cluster-AS_\$1src_router.$site.grid5000.fr\"\n";
+               print "\t\t\t\t gw_dst=\"$cluster-AS_\$1dst_router.$site.grid5000.fr\">\n";
+               print "\t\t\t\t\t<link_ctn id=\"switch-$cluster\"/>\n";
+       print "\t\t\t\t</ASroute>\n";
+       
+       print "\t\t\t\t<ASroute src=\"^AS_(.*)\$\" dst=\"^gw_AS_(.*)\$\"\n";
+               print "\t\t\t\t gw_src=\"$cluster-AS_\$1src_router.$site.grid5000.fr\"\n";
+               print "\t\t\t\t gw_dst=\"".$cluster."-AS_".$cluster."_router.".$site.".grid5000.fr\">\n";
+               print "\t\t\t\t\t<link_ctn id=\"switch-$cluster\"/>\n";
+       print "\t\t\t\t</ASroute>\n";
+       
+       print "\t\t\t\t<ASroute src=\"^gw_AS_(.*)\$\" dst=\"^AS_(.*)\$\"\n";
+               print "\t\t\t\t gw_src=\"".$cluster."-AS_".$cluster."_router.".$site.".grid5000.fr\"\n";
+               print "\t\t\t\t gw_dst=\"$cluster-AS_\$1dst_router.$site.grid5000.fr\">\n";
+               print "\t\t\t\t\t<link_ctn id=\"switch-$cluster\"/>\n";
+       print "\t\t\t\t</ASroute>\n";
+       
+       
+               print "\t\t\t</AS>\n";
+               
+                       
+       }
+       else{
+               print "\t\t\t<cluster id=\"AS_$cluster\" prefix=\"$cluster-\" suffix=\".$site.grid5000.fr\"\n";
+               print "\t\t\t\tradical=\"1-$total\" power=\"";
+               &get_gflops($cluster);
+               print "\" bw=\"1.25E8\" lat=\"1.0E-4\""."\n";
+               print "\t\t\t\tbb_bw=\"1.25E9\" bb_lat=\"1.0E-4\"></cluster>\n";
+       }
+       print "\t\t\t<link   id=\"link_$cluster\" bandwidth=\"1.25E9\" latency=\"1.0E-4\"/>\n\n";
+}
+
+
+sub get_gflops {
+       switch ($_[0]) {
+               case "bordeplage" { print "5.2297E9" }
+               case "bordereau"  { print "8.8925E9" }
+               case "borderline" { print "13.357E9" }
+               
+               case "chicon"     { print "8.9618E9" }
+               case "chimint"    { print "23.531E9" }
+               case "chinqchint" { print "22.270E9" }
+               case "chirloute"  { print "24.473E9" }
+               
+               case "adonis"     { print "23.681E9" }
+               case "edel"       { print "23.492E9" }
+               case "genepi"     { print "21.175E9" }
+               
+               case "capricorne" { print "4.7233E9" }
+               case "sagittaire" { print "5.6693E9" }
+               
+               case "graphene"   { print "16.673E9" }
+               case "griffon"    { print "20.678E9" }
+               
+               case "gdx"        { print "4.7153E9" }
+               case "netgdx"     { print "4.7144E9" }
+               
+               case "paradent"   { print "21.496E9" }
+               case "paramount"  { print "12.910E9" }
+               case "parapide"   { print "30.130E9" }
+               case "parapluie"  { print "27.391E9" }
+               
+               case "helios"     { print "7.7318E9" }
+               case "sol"        { print "8.9388E9" }
+               case "suno"       { print "23.530E9" }
+               
+               case "pastel"     { print "9.5674E9" }
+               case "violette"   { print "5.1143E9" }
+               
+               case "default"    {     print "3.542E9" }
+               else                      {     print "xxxxxxx" }
+       }
+}
diff --git a/examples/platforms/g5k_cabinets.xml b/examples/platforms/g5k_cabinets.xml
new file mode 100644 (file)
index 0000000..dfb9502
--- /dev/null
@@ -0,0 +1,565 @@
+<?xml version='1.0'?>
+<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
+<platform version="3">
+       <AS id="AS_grid5000" routing="Floyd" >
+               <AS id="AS_interne" routing="Floyd">
+                       <router id="lille"/>
+                       <router id="paris"/>
+                       <router id="nancy"/>
+                       <router id="rennes"/>
+                       <router id="lyon"/>
+                       <router id="bordeaux"/>
+                       <router id="grenoble"/>
+                       <router id="marseille"/>
+                       <router id="toulouse"/>
+                       <router id="sophia"/>
+
+                       <link id="Lille_Paris"        bandwidth="1.25E9" latency="1.0E-4"/>
+                       <link id="Paris_Nancy"        bandwidth="1.25E9" latency="1.0E-4"/>
+                       <link id="Paris_Rennes"       bandwidth="1.25E9" latency="1.0E-4"/>
+                       <link id="Paris_Lyon"         bandwidth="1.25E9" latency="1.0E-4"/>
+                       <link id="Bordeaux_Lyon"      bandwidth="1.25E9" latency="1.0E-4"/>
+                       <link id="Lyon_Grenoble"      bandwidth="1.25E9" latency="1.0E-4"/>
+                       <link id="Lyon_Marseille"     bandwidth="1.25E9" latency="1.0E-4"/>
+                       <link id="Marseille_Sophia"   bandwidth="1.25E9" latency="1.0E-4"/>
+                       <link id="Marseille_Toulouse" bandwidth="1.25E9" latency="1.0E-4"/>
+
+               <route src="lille"     dst="paris"     ><link_ctn id="Lille_Paris"/></route>
+               <route src="paris"     dst="nancy"     ><link_ctn id="Paris_Nancy"/></route>
+               <route src="paris"     dst="rennes"    ><link_ctn id="Paris_Rennes"/></route>
+               <route src="paris"     dst="lyon"      ><link_ctn id="Paris_Lyon"/></route>
+               <route src="bordeaux"  dst="lyon"      ><link_ctn id="Bordeaux_Lyon"/></route>
+               <route src="lyon"      dst="grenoble"  ><link_ctn id="Lyon_Grenoble"/></route>
+               <route src="lyon"      dst="marseille" ><link_ctn id="Lyon_Marseille"/></route>
+               <route src="marseille" dst="sophia"    ><link_ctn id="Marseille_Sophia"/></route>
+               <route src="marseille" dst="toulouse"  ><link_ctn id="Marseille_Toulouse"/></route>
+               </AS>
+               <AS id="AS_bordeaux" routing="RuleBased" >
+                       <cluster id="AS_bordeplage" prefix="bordeplage-" suffix=".bordeaux.grid5000.fr"
+                               radical="1-51" power="5.2297E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_bordeplage" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <cluster id="AS_bordereau" prefix="bordereau-" suffix=".bordeaux.grid5000.fr"
+                               radical="1-93" power="8.8925E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_bordereau" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <cluster id="AS_borderline" prefix="borderline-" suffix=".bordeaux.grid5000.fr"
+                               radical="1-10" power="13.357E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_borderline" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <AS id="gw_AS_bordeaux" routing="Full">
+                               <router id="gw_bordeaux"/>
+                       </AS>
+                       <link   id="link_gw_bordeaux" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <ASroute src="^AS_(.*)$" dst="^AS_(.*)$"
+                               gw_src="$1src-AS_$1src_router.bordeaux.grid5000.fr"
+                               gw_dst="$1dst-AS_$1dst_router.bordeaux.grid5000.fr"
+                               symmetrical="YES">
+                                       <link_ctn id="link_$1src"/>
+                                       <link_ctn id="link_$1dst"/>
+                       </ASroute>
+
+                       <ASroute src="^AS_(.*)$" dst="^gw_AS_(.*)$"
+                               gw_src="$1src-AS_$1src_router.bordeaux.grid5000.fr"
+                               gw_dst="gw_$1dst"
+                               symmetrical="NO">
+                                       <link_ctn id="link_$1src"/>
+                       </ASroute>
+
+                       <ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
+                               gw_src="gw_$1src"
+                               gw_dst="$1dst-AS_$1dst_router.bordeaux.grid5000.fr"
+                               symmetrical="NO">
+                                       <link_ctn id="link_$1dst"/>
+                       </ASroute>
+
+               </AS>
+               <AS id="AS_grenoble" routing="RuleBased" >
+                       <cluster id="AS_adonis" prefix="adonis-" suffix=".grenoble.grid5000.fr"
+                               radical="1-12" power="23.681E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_adonis" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <cluster id="AS_edel" prefix="edel-" suffix=".grenoble.grid5000.fr"
+                               radical="1-72" power="23.492E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_edel" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <cluster id="AS_genepi" prefix="genepi-" suffix=".grenoble.grid5000.fr"
+                               radical="1-34" power="21.175E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_genepi" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <AS id="gw_AS_grenoble" routing="Full">
+                               <router id="gw_grenoble"/>
+                       </AS>
+                       <link   id="link_gw_grenoble" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <ASroute src="^AS_(.*)$" dst="^AS_(.*)$"
+                               gw_src="$1src-AS_$1src_router.grenoble.grid5000.fr"
+                               gw_dst="$1dst-AS_$1dst_router.grenoble.grid5000.fr"
+                               symmetrical="YES">
+                                       <link_ctn id="link_$1src"/>
+                                       <link_ctn id="link_$1dst"/>
+                       </ASroute>
+
+                       <ASroute src="^AS_(.*)$" dst="^gw_AS_(.*)$"
+                               gw_src="$1src-AS_$1src_router.grenoble.grid5000.fr"
+                               gw_dst="gw_$1dst"
+                               symmetrical="NO">
+                                       <link_ctn id="link_$1src"/>
+                       </ASroute>
+
+                       <ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
+                               gw_src="gw_$1src"
+                               gw_dst="$1dst-AS_$1dst_router.grenoble.grid5000.fr"
+                               symmetrical="NO">
+                                       <link_ctn id="link_$1dst"/>
+                       </ASroute>
+
+               </AS>
+               <AS id="AS_lille" routing="RuleBased" >
+                       <cluster id="AS_chicon" prefix="chicon-" suffix=".lille.grid5000.fr"
+                               radical="1-26" power="8.9618E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_chicon" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <cluster id="AS_chimint" prefix="chimint-" suffix=".lille.grid5000.fr"
+                               radical="1-20" power="23.531E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_chimint" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <cluster id="AS_chinqchint" prefix="chinqchint-" suffix=".lille.grid5000.fr"
+                               radical="1-46" power="22.270E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_chinqchint" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <cluster id="AS_chirloute" prefix="chirloute-" suffix=".lille.grid5000.fr"
+                               radical="1-8" power="24.473E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_chirloute" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <AS id="gw_AS_lille" routing="Full">
+                               <router id="gw_lille"/>
+                       </AS>
+                       <link   id="link_gw_lille" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <ASroute src="^AS_(.*)$" dst="^AS_(.*)$"
+                               gw_src="$1src-AS_$1src_router.lille.grid5000.fr"
+                               gw_dst="$1dst-AS_$1dst_router.lille.grid5000.fr"
+                               symmetrical="YES">
+                                       <link_ctn id="link_$1src"/>
+                                       <link_ctn id="link_$1dst"/>
+                       </ASroute>
+
+                       <ASroute src="^AS_(.*)$" dst="^gw_AS_(.*)$"
+                               gw_src="$1src-AS_$1src_router.lille.grid5000.fr"
+                               gw_dst="gw_$1dst"
+                               symmetrical="NO">
+                                       <link_ctn id="link_$1src"/>
+                       </ASroute>
+
+                       <ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
+                               gw_src="gw_$1src"
+                               gw_dst="$1dst-AS_$1dst_router.lille.grid5000.fr"
+                               symmetrical="NO">
+                                       <link_ctn id="link_$1dst"/>
+                       </ASroute>
+
+               </AS>
+               <AS id="AS_lyon" routing="RuleBased" >
+                       <cluster id="AS_capricorne" prefix="capricorne-" suffix=".lyon.grid5000.fr"
+                               radical="1-56" power="4.7233E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_capricorne" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <cluster id="AS_sagittaire" prefix="sagittaire-" suffix=".lyon.grid5000.fr"
+                               radical="1-79" power="5.6693E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_sagittaire" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <AS id="gw_AS_lyon" routing="Full">
+                               <router id="gw_lyon"/>
+                       </AS>
+                       <link   id="link_gw_lyon" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <ASroute src="^AS_(.*)$" dst="^AS_(.*)$"
+                               gw_src="$1src-AS_$1src_router.lyon.grid5000.fr"
+                               gw_dst="$1dst-AS_$1dst_router.lyon.grid5000.fr"
+                               symmetrical="YES">
+                                       <link_ctn id="link_$1src"/>
+                                       <link_ctn id="link_$1dst"/>
+                       </ASroute>
+
+                       <ASroute src="^AS_(.*)$" dst="^gw_AS_(.*)$"
+                               gw_src="$1src-AS_$1src_router.lyon.grid5000.fr"
+                               gw_dst="gw_$1dst"
+                               symmetrical="NO">
+                                       <link_ctn id="link_$1src"/>
+                       </ASroute>
+
+                       <ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
+                               gw_src="gw_$1src"
+                               gw_dst="$1dst-AS_$1dst_router.lyon.grid5000.fr"
+                               symmetrical="NO">
+                                       <link_ctn id="link_$1dst"/>
+                       </ASroute>
+
+               </AS>
+               <AS id="AS_nancy" routing="RuleBased" >
+                       <AS id="AS_graphene" routing="RuleBased" >
+                               <cluster id="AS_sgraphene1" prefix="graphene-" suffix=".nancy.grid5000.fr"
+                                       radical="1-39" power="16.673E9" bw="1.25E8" lat="1.0E-4"
+                                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                               <cluster id="AS_sgraphene2" prefix="graphene-" suffix=".nancy.grid5000.fr"
+                                       radical="40-74" power="16.673E9" bw="1.25E8" lat="1.0E-4"
+                                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                               <cluster id="AS_sgraphene3" prefix="graphene-" suffix=".nancy.grid5000.fr"
+                                       radical="75-104" power="16.673E9" bw="1.25E8" lat="1.0E-4"
+                                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                               <cluster id="AS_sgraphene4" prefix="graphene-" suffix=".nancy.grid5000.fr"
+                                       radical="105-144" power="16.673E9" bw="1.25E8" lat="1.0E-4"
+                                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+
+                               <AS id="gw_AS_graphene" routing="Full">
+                                       <router id="graphene-AS_graphene_router.nancy.grid5000.fr"/>
+                               </AS>
+                               <link id="switch-graphene" bandwidth="1250000000" latency="5E-4"/>
+
+                               <ASroute src="^AS_(.*)$" dst="^AS_(.*)$"
+                                gw_src="graphene-AS_$1src_router.nancy.grid5000.fr"
+                                gw_dst="graphene-AS_$1dst_router.nancy.grid5000.fr">
+                                       <link_ctn id="switch-graphene"/>
+                               </ASroute>
+                               <ASroute src="^AS_(.*)$" dst="^gw_AS_(.*)$"
+                                gw_src="graphene-AS_$1src_router.nancy.grid5000.fr"
+                                gw_dst="graphene-AS_graphene_router.nancy.grid5000.fr">
+                                       <link_ctn id="switch-graphene"/>
+                               </ASroute>
+                               <ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
+                                gw_src="graphene-AS_graphene_router.nancy.grid5000.fr"
+                                gw_dst="graphene-AS_$1dst_router.nancy.grid5000.fr">
+                                       <link_ctn id="switch-graphene"/>
+                               </ASroute>
+                       </AS>
+                       <link   id="link_graphene" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <AS id="AS_griffon" routing="RuleBased" >
+                               <cluster id="AS_sgriffon1" prefix="griffon-" suffix=".nancy.grid5000.fr"
+                                       radical="1-29;58-60" power="20.678E9" bw="1.25E8" lat="1.0E-4"
+                                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                               <cluster id="AS_sgriffon2" prefix="griffon-" suffix=".nancy.grid5000.fr"
+                                       radical="30-57" power="20.678E9" bw="1.25E8" lat="1.0E-4"
+                                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                               <cluster id="AS_sgriffon3" prefix="griffon-" suffix=".nancy.grid5000.fr"
+                                       radical="61-92" power="20.678E9" bw="1.25E8" lat="1.0E-4"
+                                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+
+                               <AS id="gw_AS_griffon" routing="Full">
+                                       <router id="griffon-AS_griffon_router.nancy.grid5000.fr"/>
+                               </AS>
+                               <link id="switch-griffon" bandwidth="1250000000" latency="5E-4"/>
+
+                               <ASroute src="^AS_(.*)$" dst="^AS_(.*)$"
+                                gw_src="griffon-AS_$1src_router.nancy.grid5000.fr"
+                                gw_dst="griffon-AS_$1dst_router.nancy.grid5000.fr">
+                                       <link_ctn id="switch-griffon"/>
+                               </ASroute>
+                               <ASroute src="^AS_(.*)$" dst="^gw_AS_(.*)$"
+                                gw_src="griffon-AS_$1src_router.nancy.grid5000.fr"
+                                gw_dst="griffon-AS_griffon_router.nancy.grid5000.fr">
+                                       <link_ctn id="switch-griffon"/>
+                               </ASroute>
+                               <ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
+                                gw_src="griffon-AS_griffon_router.nancy.grid5000.fr"
+                                gw_dst="griffon-AS_$1dst_router.nancy.grid5000.fr">
+                                       <link_ctn id="switch-griffon"/>
+                               </ASroute>
+                       </AS>
+                       <link   id="link_griffon" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <AS id="gw_AS_nancy" routing="Full">
+                               <router id="gw_nancy"/>
+                       </AS>
+                       <link   id="link_gw_nancy" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <ASroute src="^AS_(.*)$" dst="^AS_(.*)$"
+                               gw_src="$1src-AS_$1src_router.nancy.grid5000.fr"
+                               gw_dst="$1dst-AS_$1dst_router.nancy.grid5000.fr"
+                               symmetrical="YES">
+                                       <link_ctn id="link_$1src"/>
+                                       <link_ctn id="link_$1dst"/>
+                       </ASroute>
+
+                       <ASroute src="^AS_(.*)$" dst="^gw_AS_(.*)$"
+                               gw_src="$1src-AS_$1src_router.nancy.grid5000.fr"
+                               gw_dst="gw_$1dst"
+                               symmetrical="NO">
+                                       <link_ctn id="link_$1src"/>
+                       </ASroute>
+
+                       <ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
+                               gw_src="gw_$1src"
+                               gw_dst="$1dst-AS_$1dst_router.nancy.grid5000.fr"
+                               symmetrical="NO">
+                                       <link_ctn id="link_$1dst"/>
+                       </ASroute>
+
+               </AS>
+               <AS id="AS_orsay" routing="RuleBased" >
+                       <AS id="AS_gdx" routing="RuleBased" >
+                               <cluster id="AS_netgear01.orsay.grid5000.fr" prefix="gdx-" suffix=".orsay.grid5000.fr"
+                                       radical="1-36" power="4.7153E9" bw="1.25E8" lat="1.0E-4"
+                                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                               <cluster id="AS_netgear02.orsay.grid5000.fr" prefix="gdx-" suffix=".orsay.grid5000.fr"
+                                       radical="37-72" power="4.7153E9" bw="1.25E8" lat="1.0E-4"
+                                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                               <cluster id="AS_netgear03.orsay.grid5000.fr" prefix="gdx-" suffix=".orsay.grid5000.fr"
+                                       radical="73-108" power="4.7153E9" bw="1.25E8" lat="1.0E-4"
+                                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                               <cluster id="AS_netgear04.orsay.grid5000.fr" prefix="gdx-" suffix=".orsay.grid5000.fr"
+                                       radical="109-144" power="4.7153E9" bw="1.25E8" lat="1.0E-4"
+                                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                               <cluster id="AS_netgear05.orsay.grid5000.fr" prefix="gdx-" suffix=".orsay.grid5000.fr"
+                                       radical="145-180" power="4.7153E9" bw="1.25E8" lat="1.0E-4"
+                                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                               <cluster id="AS_netgear06.orsay.grid5000.fr" prefix="gdx-" suffix=".orsay.grid5000.fr"
+                                       radical="193-216" power="4.7153E9" bw="1.25E8" lat="1.0E-4"
+                                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                               <cluster id="AS_netgear07.orsay.grid5000.fr" prefix="gdx-" suffix=".orsay.grid5000.fr"
+                                       radical="217-252" power="4.7153E9" bw="1.25E8" lat="1.0E-4"
+                                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                               <cluster id="AS_netgear08.orsay.grid5000.fr" prefix="gdx-" suffix=".orsay.grid5000.fr"
+                                       radical="253-288" power="4.7153E9" bw="1.25E8" lat="1.0E-4"
+                                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                               <cluster id="AS_procurve-bmc-09.orsay.grid5000.fr" prefix="gdx-" suffix=".orsay.grid5000.fr"
+                                       radical="289-310" power="4.7153E9" bw="1.25E8" lat="1.0E-4"
+                                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                               <cluster id="AS_switch14.orsay.grid5000.fr" prefix="gdx-" suffix=".orsay.grid5000.fr"
+                                       radical="181-186" power="4.7153E9" bw="1.25E8" lat="1.0E-4"
+                                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                               <cluster id="AS_switch15.orsay.grid5000.fr" prefix="gdx-" suffix=".orsay.grid5000.fr"
+                                       radical="187-192" power="4.7153E9" bw="1.25E8" lat="1.0E-4"
+                                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+
+                               <AS id="gw_AS_gdx" routing="Full">
+                                       <router id="gdx-AS_gdx_router.orsay.grid5000.fr"/>
+                               </AS>
+                               <link id="switch-gdx" bandwidth="1250000000" latency="5E-4"/>
+
+                               <ASroute src="^AS_(.*)$" dst="^AS_(.*)$"
+                                gw_src="gdx-AS_$1src_router.orsay.grid5000.fr"
+                                gw_dst="gdx-AS_$1dst_router.orsay.grid5000.fr">
+                                       <link_ctn id="switch-gdx"/>
+                               </ASroute>
+                               <ASroute src="^AS_(.*)$" dst="^gw_AS_(.*)$"
+                                gw_src="gdx-AS_$1src_router.orsay.grid5000.fr"
+                                gw_dst="gdx-AS_gdx_router.orsay.grid5000.fr">
+                                       <link_ctn id="switch-gdx"/>
+                               </ASroute>
+                               <ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
+                                gw_src="gdx-AS_gdx_router.orsay.grid5000.fr"
+                                gw_dst="gdx-AS_$1dst_router.orsay.grid5000.fr">
+                                       <link_ctn id="switch-gdx"/>
+                               </ASroute>
+                       </AS>
+                       <link   id="link_gdx" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <cluster id="AS_netgdx" prefix="netgdx-" suffix=".orsay.grid5000.fr"
+                               radical="1-30" power="4.7144E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_netgdx" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <AS id="gw_AS_orsay" routing="Full">
+                               <router id="gw_orsay"/>
+                       </AS>
+                       <link   id="link_gw_orsay" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <ASroute src="^AS_(.*)$" dst="^AS_(.*)$"
+                               gw_src="$1src-AS_$1src_router.orsay.grid5000.fr"
+                               gw_dst="$1dst-AS_$1dst_router.orsay.grid5000.fr"
+                               symmetrical="YES">
+                                       <link_ctn id="link_$1src"/>
+                                       <link_ctn id="link_$1dst"/>
+                       </ASroute>
+
+                       <ASroute src="^AS_(.*)$" dst="^gw_AS_(.*)$"
+                               gw_src="$1src-AS_$1src_router.orsay.grid5000.fr"
+                               gw_dst="gw_$1dst"
+                               symmetrical="NO">
+                                       <link_ctn id="link_$1src"/>
+                       </ASroute>
+
+                       <ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
+                               gw_src="gw_$1src"
+                               gw_dst="$1dst-AS_$1dst_router.orsay.grid5000.fr"
+                               symmetrical="NO">
+                                       <link_ctn id="link_$1dst"/>
+                       </ASroute>
+
+               </AS>
+               <AS id="AS_rennes" routing="RuleBased" >
+                       <cluster id="AS_paradent" prefix="paradent-" suffix=".rennes.grid5000.fr"
+                               radical="1-64" power="21.496E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_paradent" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <cluster id="AS_paramount" prefix="paramount-" suffix=".rennes.grid5000.fr"
+                               radical="1-33" power="12.910E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_paramount" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <cluster id="AS_parapide" prefix="parapide-" suffix=".rennes.grid5000.fr"
+                               radical="1-25" power="30.130E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_parapide" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <cluster id="AS_parapluie" prefix="parapluie-" suffix=".rennes.grid5000.fr"
+                               radical="1-40" power="27.391E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_parapluie" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <AS id="gw_AS_rennes" routing="Full">
+                               <router id="gw_rennes"/>
+                       </AS>
+                       <link   id="link_gw_rennes" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <ASroute src="^AS_(.*)$" dst="^AS_(.*)$"
+                               gw_src="$1src-AS_$1src_router.rennes.grid5000.fr"
+                               gw_dst="$1dst-AS_$1dst_router.rennes.grid5000.fr"
+                               symmetrical="YES">
+                                       <link_ctn id="link_$1src"/>
+                                       <link_ctn id="link_$1dst"/>
+                       </ASroute>
+
+                       <ASroute src="^AS_(.*)$" dst="^gw_AS_(.*)$"
+                               gw_src="$1src-AS_$1src_router.rennes.grid5000.fr"
+                               gw_dst="gw_$1dst"
+                               symmetrical="NO">
+                                       <link_ctn id="link_$1src"/>
+                       </ASroute>
+
+                       <ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
+                               gw_src="gw_$1src"
+                               gw_dst="$1dst-AS_$1dst_router.rennes.grid5000.fr"
+                               symmetrical="NO">
+                                       <link_ctn id="link_$1dst"/>
+                       </ASroute>
+
+               </AS>
+               <AS id="AS_sophia" routing="RuleBased" >
+                       <cluster id="AS_helios" prefix="helios-" suffix=".sophia.grid5000.fr"
+                               radical="1-56" power="7.7318E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_helios" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <cluster id="AS_sol" prefix="sol-" suffix=".sophia.grid5000.fr"
+                               radical="1-50" power="8.9388E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_sol" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <cluster id="AS_suno" prefix="suno-" suffix=".sophia.grid5000.fr"
+                               radical="1-45" power="23.530E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_suno" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <AS id="gw_AS_sophia" routing="Full">
+                               <router id="gw_sophia"/>
+                       </AS>
+                       <link   id="link_gw_sophia" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <ASroute src="^AS_(.*)$" dst="^AS_(.*)$"
+                               gw_src="$1src-AS_$1src_router.sophia.grid5000.fr"
+                               gw_dst="$1dst-AS_$1dst_router.sophia.grid5000.fr"
+                               symmetrical="YES">
+                                       <link_ctn id="link_$1src"/>
+                                       <link_ctn id="link_$1dst"/>
+                       </ASroute>
+
+                       <ASroute src="^AS_(.*)$" dst="^gw_AS_(.*)$"
+                               gw_src="$1src-AS_$1src_router.sophia.grid5000.fr"
+                               gw_dst="gw_$1dst"
+                               symmetrical="NO">
+                                       <link_ctn id="link_$1src"/>
+                       </ASroute>
+
+                       <ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
+                               gw_src="gw_$1src"
+                               gw_dst="$1dst-AS_$1dst_router.sophia.grid5000.fr"
+                               symmetrical="NO">
+                                       <link_ctn id="link_$1dst"/>
+                       </ASroute>
+
+               </AS>
+               <AS id="AS_toulouse" routing="RuleBased" >
+                       <cluster id="AS_pastel" prefix="pastel-" suffix=".toulouse.grid5000.fr"
+                               radical="1-80" power="9.5674E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_pastel" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <cluster id="AS_violette" prefix="violette-" suffix=".toulouse.grid5000.fr"
+                               radical="1-52" power="5.1143E9" bw="1.25E8" lat="1.0E-4"
+                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+                       <link   id="link_violette" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <AS id="gw_AS_toulouse" routing="Full">
+                               <router id="gw_toulouse"/>
+                       </AS>
+                       <link   id="link_gw_toulouse" bandwidth="1.25E9" latency="1.0E-4"/>
+
+                       <ASroute src="^AS_(.*)$" dst="^AS_(.*)$"
+                               gw_src="$1src-AS_$1src_router.toulouse.grid5000.fr"
+                               gw_dst="$1dst-AS_$1dst_router.toulouse.grid5000.fr"
+                               symmetrical="YES">
+                                       <link_ctn id="link_$1src"/>
+                                       <link_ctn id="link_$1dst"/>
+                       </ASroute>
+
+                       <ASroute src="^AS_(.*)$" dst="^gw_AS_(.*)$"
+                               gw_src="$1src-AS_$1src_router.toulouse.grid5000.fr"
+                               gw_dst="gw_$1dst"
+                               symmetrical="NO">
+                                       <link_ctn id="link_$1src"/>
+                       </ASroute>
+
+                       <ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
+                               gw_src="gw_$1src"
+                               gw_dst="$1dst-AS_$1dst_router.toulouse.grid5000.fr"
+                               symmetrical="NO">
+                                       <link_ctn id="link_$1dst"/>
+                       </ASroute>
+
+               </AS>
+               <ASroute src="AS_toulouse" dst="AS_interne" gw_src="gw_toulouse" gw_dst="toulouse" symmetrical="YES">
+                       <link_ctn id="link_gw_toulouse"/>
+               </ASroute>
+               <ASroute src="AS_sophia" dst="AS_interne" gw_src="gw_sophia" gw_dst="sophia" symmetrical="YES">
+                       <link_ctn id="link_gw_sophia"/>
+               </ASroute>
+               <ASroute src="AS_rennes" dst="AS_interne" gw_src="gw_rennes" gw_dst="rennes" symmetrical="YES">
+                       <link_ctn id="link_gw_rennes"/>
+               </ASroute>
+               <ASroute src="AS_orsay" dst="AS_interne" gw_src="gw_orsay" gw_dst="paris" symmetrical="YES">
+                       <link_ctn id="link_gw_orsay"/>
+               </ASroute>
+               <ASroute src="AS_nancy" dst="AS_interne" gw_src="gw_nancy" gw_dst="nancy" symmetrical="YES">
+                       <link_ctn id="link_gw_nancy"/>
+               </ASroute>
+               <ASroute src="AS_lyon" dst="AS_interne" gw_src="gw_lyon" gw_dst="lyon" symmetrical="YES">
+                       <link_ctn id="link_gw_lyon"/>
+               </ASroute>
+               <ASroute src="AS_lille" dst="AS_interne" gw_src="gw_lille" gw_dst="lille" symmetrical="YES">
+                       <link_ctn id="link_gw_lille"/>
+               </ASroute>
+               <ASroute src="AS_grenoble" dst="AS_interne" gw_src="gw_grenoble" gw_dst="grenoble" symmetrical="YES">
+                       <link_ctn id="link_gw_grenoble"/>
+               </ASroute>
+               <ASroute src="AS_bordeaux" dst="AS_interne" gw_src="gw_bordeaux" gw_dst="bordeaux" symmetrical="YES">
+                       <link_ctn id="link_gw_bordeaux"/>
+               </ASroute>
+       </AS>
+</platform>
diff --git a/examples/platforms/nancy.xml b/examples/platforms/nancy.xml
new file mode 100644 (file)
index 0000000..f21a9b1
--- /dev/null
@@ -0,0 +1,106 @@
+<?xml version='1.0'?>
+<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
+<platform version="3">
+
+<AS id="AS_nancy" routing="RuleBased" >
+       <AS id="AS_graphene" routing="RuleBased" >
+               <cluster id="AS_sgraphene1" prefix="graphene-" suffix=".nancy.grid5000.fr"
+                       radical="1-39" power="16.673E9" bw="1.25E8" lat="1.0E-4"
+                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+               <cluster id="AS_sgraphene2" prefix="graphene-" suffix=".nancy.grid5000.fr"
+                       radical="40-74" power="16.673E9" bw="1.25E8" lat="1.0E-4"
+                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+               <cluster id="AS_sgraphene3" prefix="graphene-" suffix=".nancy.grid5000.fr"
+                       radical="75-104" power="16.673E9" bw="1.25E8" lat="1.0E-4"
+                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+               <cluster id="AS_sgraphene4" prefix="graphene-" suffix=".nancy.grid5000.fr"
+                       radical="105-144" power="16.673E9" bw="1.25E8" lat="1.0E-4"
+                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+
+               <AS id="gw_AS_graphene" routing="Full">
+                       <router id="graphene-AS_graphene_router.nancy.grid5000.fr"/>
+               </AS>
+               <link id="switch-graphene" bandwidth="1250000000" latency="5E-4"/>
+
+               <ASroute src="^AS_(.*)$" dst="^AS_(.*)$"
+                gw_src="graphene-AS_$1src_router.nancy.grid5000.fr"
+                gw_dst="graphene-AS_$1dst_router.nancy.grid5000.fr">
+                       <link_ctn id="switch-graphene"/>
+               </ASroute>
+               <ASroute src="^AS_(.*)$" dst="^gw_AS_(.*)$"
+                gw_src="graphene-AS_$1src_router.nancy.grid5000.fr"
+                gw_dst="graphene-AS_graphene_router.nancy.grid5000.fr">
+                       <link_ctn id="switch-graphene"/>
+               </ASroute>
+               <ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
+                gw_src="graphene-AS_graphene_router.nancy.grid5000.fr"
+                gw_dst="graphene-AS_$1dst_router.nancy.grid5000.fr">
+                       <link_ctn id="switch-graphene"/>
+               </ASroute>
+       </AS>
+       <link   id="link_graphene" bandwidth="1.25E9" latency="1.0E-4"/>
+
+       <AS id="AS_griffon" routing="RuleBased" >
+               <cluster id="AS_sgriffon1" prefix="griffon-" suffix=".nancy.grid5000.fr"
+                       radical="1-29;58-60" power="20.678E9" bw="1.25E8" lat="1.0E-4"
+                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+               <cluster id="AS_sgriffon2" prefix="griffon-" suffix=".nancy.grid5000.fr"
+                       radical="30-57" power="20.678E9" bw="1.25E8" lat="1.0E-4"
+                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+               <cluster id="AS_sgriffon3" prefix="griffon-" suffix=".nancy.grid5000.fr"
+                       radical="61-92" power="20.678E9" bw="1.25E8" lat="1.0E-4"
+                       bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
+
+               <AS id="gw_AS_griffon" routing="Full">
+                       <router id="griffon-AS_griffon_router.nancy.grid5000.fr"/>
+               </AS>
+               <link id="switch-griffon" bandwidth="1250000000" latency="5E-4"/>
+
+               <ASroute src="^AS_(.*)$" dst="^AS_(.*)$"
+                gw_src="griffon-AS_$1src_router.nancy.grid5000.fr"
+                gw_dst="griffon-AS_$1dst_router.nancy.grid5000.fr">
+                       <link_ctn id="switch-griffon"/>
+               </ASroute>
+               <ASroute src="^AS_(.*)$" dst="^gw_AS_(.*)$"
+                gw_src="griffon-AS_$1src_router.nancy.grid5000.fr"
+                gw_dst="griffon-AS_griffon_router.nancy.grid5000.fr">
+                       <link_ctn id="switch-griffon"/>
+               </ASroute>
+               <ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
+                gw_src="griffon-AS_griffon_router.nancy.grid5000.fr"
+                gw_dst="griffon-AS_$1dst_router.nancy.grid5000.fr">
+                       <link_ctn id="switch-griffon"/>
+               </ASroute>
+       </AS>
+       <link   id="link_griffon" bandwidth="1.25E9" latency="1.0E-4"/>
+
+       <AS id="gw_AS_nancy" routing="Full">
+               <router id="gw_nancy"/>
+       </AS>
+       <link   id="link_gw_nancy" bandwidth="1.25E9" latency="1.0E-4"/>
+
+       <ASroute src="^AS_(.*)$" dst="^AS_(.*)$"
+               gw_src="$1src-AS_$1src_router.nancy.grid5000.fr"
+               gw_dst="$1dst-AS_$1dst_router.nancy.grid5000.fr"
+               symmetrical="YES">
+                       <link_ctn id="link_$1src"/>
+                       <link_ctn id="link_$1dst"/>
+       </ASroute>
+
+       <ASroute src="^AS_(.*)$" dst="^gw_AS_(.*)$"
+               gw_src="$1src-AS_$1src_router.nancy.grid5000.fr"
+               gw_dst="gw_$1dst"
+               symmetrical="NO">
+                       <link_ctn id="link_$1src"/>
+       </ASroute>
+
+       <ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
+               gw_src="gw_$1src"
+               gw_dst="$1dst-AS_$1dst_router.nancy.grid5000.fr"
+               symmetrical="NO">
+                       <link_ctn id="link_$1dst"/>
+       </ASroute>
+
+</AS>
+
+</platform>