Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Improve the routing documentation
[simgrid.git] / doc / doxygen / platform.doc
index b35d4e5..6aebdf5 100644 (file)
@@ -16,9 +16,11 @@ this information as an input:
 
 For more information on SimGrid's deployment features, please refer to the \ref deployment section.
 
-The platform description may be intricate. This documentation is all about how to write this file. First, the basic 
-concepts are introduced. Then, advanced options are explained. Finally, some hints and tips on how to write a better 
-platform description are given.
+The platform description may be intricate. This documentation is all
+about how to write this file. You should read about the
+@ref routing_basics "routing basic concepts" before proceeding. This page
+first contain a reference guide of the XML. Finally, it gives some hints and tips on how to write a better 
+platform description.
 
 \section pf_overview Some words about XML and DTD
 
@@ -34,75 +36,17 @@ If you read the DTD, you should notice the following:
     provide backward compatibility.
 \li The DTD contains definitions for both the platform description and deployment files used by SimGrid.
 
-\section pf_basics Basic concepts
-
-It is certainly very tempting to defining how the information is
-routed in the simulated network in a way that is very similar to how
-it is defined on real network. One would have to define the routing
-tables of each routers interconnections sub-networks, just like in the
-real life. Given the daunting amount of configuration required, we
-could complete the information given by the user with classical
-protocols such as BGP and RIP. Many network simulator take such
-configuration as an input, for good reasons.
-
-This is not the way it goes in SimGrid: the network routing is defined
-in a global and compact way instead. This eases the modeling of very
-large systems, and allows highly optimized datastructures and
-algorithms in the simulator. The proposed description mechanism is
-thus much more convinient and efficient. In addition, it is more
-expressive than the classical solution based on forwarding tables on
-each host and router. 
-
-The price to pay is that this representation of networks is very
-specific to SimGrid, so you will have to read further to understand
-it, even if you already know how real networks work.
-
-The central notion here are \b Networking \b Zones. NetZones represent
-network areas in which the routing is done in an homogeneous way.
-Conceptually, netzones generalize from the ideas of local networks
-(such as Ethernet switched networks) and Autonomous System. The 
-network as a whole is represented as a single hierarchy of netzones,
-meaning that every netzone is part of another netzone (but the \c
-NetRoot, which is the top-level netzone).
-
-The main goal of the routing module is to provide a list of links
-traversed by a given communication and/or a latency to apply. These
-information are then used by the network model to compute the time
-that this communication takes. This information is retrieved by three
-combined algorithms: intra-zone routing, inter-zone routing, and the
-bypass mechanism.
-
-The <b>intra-zone level</b> is naturally handled by the netzones. Each
-netzone have to specify the routing algorithm it uses for that.
-@ref{FullZone} netzones have complete matrix where matrix(a,b)
-represents the full path (the list of links) between the hosts a and
-b. @ref{FloydZone} apply the Floyd-Warshall algorithm to compute the
-paths. @ref{ClusterZone} model classical switched or hub networks,
-where each component is connected through a private link onto a common
-backbone. Many other routing algorithms are provided to model the
-classical needs, but you can naturally define your own routing if the
-provided ones do not fit your needs.
-
-The <b>inter-zone algorithm</b> is used when the communication
-traverses more than one zone. The overall path goes from the source up
-in the netzones' tree, until the first common ancestor zone, and moves
-down to the destination. It crawls the differing netzones on its path
-according to the user-defined inter-zone routes, moving from gateway
-to gateway.
-
-You can also use the <b>bypass mechanism</b> to specify manually some
-shortcuts that directly provide the list of links interconnecting two
-given processes.
+\section pf_netzones Defining a netzone
+
+Here is a simplistic example, describing a netzone using the Full
+routing.  Other supported values for the routing attribute can be
+found below, Section \ref pf_raf.
 
 
 \verbatim
 <AS id="netzone0" routing="Full">
 \endverbatim
 
-\remark
-  Other supported values for the routing attribute can be found below, Section
-  \ref pf_raf.
-
 There is also the ``<route>`` tag; this tag takes two attributes,
 ``src`` (source) and ``dst`` (destination). Both source and
 destination must be valid identifiers for routers (these will be
@@ -375,7 +319,7 @@ the router name is defined as the resulting String in the following
 java line of code:
 
 @verbatim
-router_name = prefix + clusterId + _router + suffix;
+router_name = prefix + clusterId + "_router" + suffix;
 @endverbatim