Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Various docs update
[simgrid.git] / docs / source / Platform_Routing.rst
1 .. raw:: html
2
3    <object id="TOC" data="graphical-toc.svg" type="image/svg+xml"></object>
4    <script>
5    window.onload=function() { // Wait for the SVG to be loaded before changing it
6      var elem=document.querySelector("#TOC").contentDocument.getElementById("RoutingBox")
7      elem.style="opacity:0.93999999;fill:#ff0000;fill-opacity:0.1;stroke:#000000;stroke-width:0.35277778;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1";
8    }
9    </script>
10    <br/>
11    <br/>
12
13 .. _platform_routing:
14
15 Defining a Routing
16 ##################
17
18 Networking zones (:ref:`pf_tag_zone`) are an advanced concept used to factorize the description
19 to reduce the size of your platform on disk and in memory. Then, when
20 a host wants to communicate with another host belonging to the same
21 zone, it is the zone's duty to find the list of links that are
22 involved in the communication. In the above examples, since we use
23 ``routing="Full"``, all routes must be explicitly given using the
24 :ref:`pf_tag_route` and :ref:`pf_tag_link_ctn` tags (this :ref:`routing
25 model <pf_rm>` is both simple and inefficient :) It is OK to not
26 specify each and every route between hosts, as long as you do not try
27 to start a communication on any of the missing routes during your
28 simulation.
29
30 Any zone may contain sub-zones, allowing for a hierarchical
31 decomposition of the platform. Routing can be made more efficient (as the
32 inter-zone routing gets factored with :ref:`pf_tag_zoneroute`), and
33 allows you to have more than one routing model in your platform. For
34 example, you can have a coordinate-based routing for the WAN parts
35 of your platforms, a full routing within each datacenter, and a highly
36 optimized routing within each cluster of the datacenter.  In this
37 case, determining the route between two given hosts gets :ref:`routing_basics`
38 "somewhat more complex" but SimGrid still computes
39 these routes for you in a time- and space-efficient manner.
40 Here is an illustration of these concepts:
41
42 .. image:: img/zone_hierarchy.png
43
44 Circles represent processing units and squares represent network
45 routers. Bold lines represent communication links. The zone "AS2" models the core of a national network interconnecting a
46 small flat cluster (AS4) and a larger hierarchical cluster (AS5), a
47 subset of a LAN (AS6), and a set of peers scattered around the world
48 (AS7).
49
50 .. todo:: Add more examples, such as the cloud example described in
51           previous paragraph
52