Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Small improvements to the doc
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Thu, 23 Dec 2021 21:19:54 +0000 (22:19 +0100)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Fri, 24 Dec 2021 13:42:42 +0000 (14:42 +0100)
MANIFEST.in
doc/doxygen/module-sd.doc [deleted file]
doc/doxygen/module-surf.doc
doc/doxygen/module-trace.doc [deleted file]
doc/doxygen/platform.doc
docs/source/XML_reference.rst
tools/cmake/DefinePackages.cmake

index 4f331de..f017527 100644 (file)
@@ -1808,9 +1808,7 @@ include doc/doxygen/inside_extending.doc
 include doc/doxygen/inside_release.doc
 include doc/doxygen/inside_tests.doc
 include doc/doxygen/module-index.doc
-include doc/doxygen/module-sd.doc
 include doc/doxygen/module-surf.doc
-include doc/doxygen/module-trace.doc
 include doc/doxygen/outcomes_vizu.doc
 include doc/doxygen/platform.doc
 include doc/doxygen/uhood.doc
diff --git a/doc/doxygen/module-sd.doc b/doc/doxygen/module-sd.doc
deleted file mode 100644 (file)
index 1a82ea3..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
-@defgroup SD_API  SimDag: Legacy handling of DAG algorithms
-@brief Programming environment for DAG applications
-
-SimDag provides functionalities to simulate parallel task scheduling
-arranged in DAGs (Direct Acyclic Graphs). Only centralized algorithms
-can be expressed with SimDag; consider using @ref MSG_API "MSG" for
-distributed algorithms).
-
-SimDag is the oldest interface in SimGrid, even if it was temporarily
-removed when the new superfast kernel was added in SimGrid v3.0. It
-will certainly be deprecated by future releases of the S4U API, when
-inter-activity dependencies are added.
-
-  @{
-
-    @defgroup SD_host_api Hosts
-    @brief Host management
-
-    @defgroup SD_link_api Links
-    @brief Link management
-
-    @defgroup SD_task_api Tasks
-    @brief Task management
-
-    @defgroup SD_task_dependency_api Tasks dependencies
-    @brief Functions to specify the dependencies between tasks
-
-    @defgroup SD_storage_api Storages
-    @brief Storage management
-
-    @defgroup SD_simulation Simulation
-    @brief Functions to create the environment and launch the simulation
-  @}
-*/
index 1d4aad0..32d997f 100644 (file)
@@ -1,37 +1,3 @@
-/** @addtogroup SURF_API
-
-  @section SURF_doc Surf documentation
-   Surf is composed several components:
-   - @ref SURF_simulation
-   - @ref SURF_models
-   - @ref SURF_build_api
-   - @ref SURF_c_bindings
-   - @ref SURF_interface
-   - @ref SURF_cpu_interface
-   - @ref SURF_network_interface
-   - @ref SURF_storage_interface
-   - @ref SURF_host_interface
-   - @ref SURF_vm_interface
-   - @ref SURF_lmm
-   - @ref SURF_callbacks
-   - @ref plugin_energy
-
-
-*/
-
-/** @defgroup SURF_models Simulation Models
-    @ingroup SURF_API
-    @brief Functions to declare the kind of models that you want to use
-    */
-
-/** @defgroup SURF_simulation Simulation
-    @ingroup SURF_API
-    @brief Functions for creating the environment and launching the simulation
-
-    This section describes the functions for initializing SURF, performing
-    the simulation and exiting SURF.
-*/
-
 /** @defgroup SURF_build_api Create a new API
     @ingroup SURF_API
     @brief How to build a new API on top of SURF
 
 */
 
-/**
-@defgroup SURF_c_bindings   SURF C bindings
-@ingroup SURF_API
-@brief Describes the c bindings of SURF
-*/
-
-/**
-@defgroup SURF_interface   SURF Interface
-@ingroup SURF_API
-@brief Describes the general interface for all components (Cpu, Network, Storage, Host, VM)
-*/
-
-/**
-@defgroup SURF_cpu_interface   SURF Cpu Interface
-@ingroup SURF_API
-@brief Describes the general Cpu interface for all Cpu implementations
-*/
-
-/**
-@defgroup SURF_network_interface   SURF Network Interface
-@ingroup SURF_API
-@brief Describes the general Network interface for all Network implementations
-*/
-
-/**
-@defgroup SURF_storage_interface   SURF Storage Interface
-@ingroup SURF_API
-@brief Describes the general  interface for all Storage implementations
-*/
-
-/**
-@defgroup SURF_host_interface   SURF Host Interface
-@ingroup SURF_API
-@brief Describes the general  interface for all Host implementations
-*/
-
-/**
-@defgroup SURF_vm_interface   SURF VM Interface
-@ingroup SURF_API
-@brief Describes the general  interface for all VM implementations
-*/
-
-/**
-@defgroup SURF_lmm   SURF Linear MaxMin
-@ingroup SURF_API
-@brief Describes how the linear MaxMin system work
-*/
-
-/**
-@defgroup SURF_callbacks   SURF callbacks
-@ingroup SURF_API
-@brief Describes how to use the SURF callbacks
-*/
-
-/**
-@defgroup plugin_energy   Energy Plugin
-@ingroup SURF_API
-@brief Describes how to use the energy plugin.
-*/
diff --git a/doc/doxygen/module-trace.doc b/doc/doxygen/module-trace.doc
deleted file mode 100644 (file)
index b0e40e5..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
-@addtogroup TRACE_API
-
-@section TRACE_doc TRACE documentation
-- @ref TRACE_category
-- @ref TRACE_mark
-- @ref TRACE_user_variables
-
-@{
-
-  @defgroup TRACE_category Tracing categories
-  @brief Functions to declare tracing categories.
-
-  @defgroup TRACE_mark Tracing marks
-  @brief Functions to declare and create tracing marks.
-
-  @defgroup TRACE_user_variables Tracing user variables
-  @brief Functions to declare and define user variables associated to resources.
-
-@}
-*/
\ No newline at end of file
index 9a88bde..c116d14 100644 (file)
@@ -163,14 +163,7 @@ etc.
 
 There are two tags at all times available to represent network entities and
 several other tags that are available only in certain contexts.
-1. ``<link>``: Represents an entity that has a limited bandwidth, a
-    latency, and that can be shared according to TCP way to share this
-    bandwidth.
-@remark
-  The concept of links in SimGrid may not be intuitive, as links are not
-  limited to connecting (exactly) two entities; in fact, you can have more than
-  two equipments connected to it. (In graph theoretical terms: A link in
-  SimGrid is not an edge, but a hyperedge)
+1. ``<link>``:
 
 2. ``<router/>``: Represents an entity that a message can be routed
     to, but that is unable to execute any code. In SimGrid, routers have also
@@ -478,130 +471,6 @@ to link that compose the route you want to define.
 
 Consider the example below:
 
-@verbatim
-<route src="Alice" dst="Bob">
-       <link_ctn id="link1"/>
-       <link_ctn id="link2"/>
-       <link_ctn id="link3"/>
-</route>
-@endverbatim
-
-The route here from host Alice to Bob will be first link1, then link2,
-and finally link3. What about the reverse route? @ref pf_tag_route "Route" and
-@ref pf_tag_zoneroute "zoneroute" have an optional attribute @c symmetrical, that can
-be either @c YES or @c NO. @c YES means that the reverse route is the same
-route in the inverse order, and is set to @c YES by default. Note that
-this is not the case for bypass*Route, as it is more probable that you
-want to bypass only one default route.
-
-For an @ref pf_tag_zoneroute "zoneroute", things are just slightly more complicated, as you have
-to give the id of the gateway which is inside the zone you want to access ...
-So it looks like this:
-
-@verbatim
-<zoneroute src="zone1" dst="zone2"
-  gw_src="router1" gw_dst="router2">
-  <link_ctn id="link1"/>
-</zoneroute>
-@endverbatim
-
-gw == gateway, so when any message are trying to go from zone1 to zone2,
-it means that it must pass through router1 to get out of the zone, then
-pass through link1, and get into zone2 by being received by router2.
-router1 must belong to zone1 and router2 must belong to zone2.
-
-@subsubsection pf_tag_zoneroute &lt;zoneRoute&gt;
-
-The purpose of this entity is to define a route between two
-NetZones. Recall that all zones form a tree, so to connect two
-sibling zones, you must give such a zoneRoute specifying the source
-and destination zones, along with the gateway in each zone (ie, the
-point to reach within that zone to reach the netzone), and the list of
-links in the ancestor zone to go from one zone to another.
-
-So, to go from a host @c src_host that is within zone @c src, to a
-host @c dst_host that is within @c dst, you need to:
-
- - move within zone @c src, from @c src_host to the specified @c gw_src;
- - traverse all links specified by the zoneRoute (they are supposed to be within the common ancestor);
- - move within zone @c dst, from @c gw_dst to @c dst_host.
-
-#### Attributes ####
-
-| Attribute name  | Mandatory | Values | Description                                                                                                                                |
-| --------------- | --------- | ------ | -----------                                                                                                                                |
-| src             | yes       | String | The identifier of the source zone                                                                                                            |
-| dst             | yes       | String | See the @c src attribute                                                                                                                   |
-| gw_src          | yes       | String | The gateway that will be used within the src zone; this can be any @ref pf_tag_host "Host" or @ref pf_router "Router" defined within the src zone. |
-| gw_dst          | yes       | String | Same as @c gw_src, but with the dst zone instead.                                                                                            |
-| symmetrical     | no        | YES@|NO (Default: YES) | If this route is symmetric, the opposite route (from dst to src) will also be declared implicitly.               |
-
-#### Example ####
-
-@verbatim
-<zone  id="zone0"  routing="Full">
-  <cluster id="my_cluster_1" prefix="c-" suffix=".me"
-               radical="0-149" speed="1000000000" bw="125000000" lat="5E-5"
-        bb_bw="2250000000" bb_lat="5E-4"/>
-
-  <cluster id="my_cluster_2" prefix="c-" suffix=".me"
-    radical="150-299" speed="1000000000" bw="125000000" lat="5E-5"
-    bb_bw="2250000000" bb_lat="5E-4"/>
-
-     <link id="backbone" bandwidth="1250000000" latency="5E-4"/>
-
-     <zoneroute src="my_cluster_1" dst="my_cluster_2"
-        gw_src="c-my_cluster_1_router.me"
-        gw_dst="c-my_cluster_2_router.me">
-               <link_ctn id="backbone"/>
-     </zoneroute>
-     <zoneroute src="my_cluster_2" dst="my_cluster_1"
-        gw_src="c-my_cluster_2_router.me"
-        gw_dst="c-my_cluster_1_router.me">
-               <link_ctn id="backbone"/>
-     </zoneroute>
-</zone>
-@endverbatim
-
-@subsubsection pf_tag_route &lt;route&gt;
-
-The principle is the same as for
-@ref pf_tag_zoneroute "ZoneRoute": The route contains a list of links that
-provide a path from @c src to @c dst. Here, @c src and @c dst can both be either a
-@ref pf_tag_host "host" or @ref pf_router "router".  This is mostly useful for the
-@ref pf_routing_model_full "Full routing model" as well as for the
-@ref pf_routing_model_shortest_path "shortest-paths" based models (as they require
-topological information).
-
-
-| Attribute name  | Mandatory | Values                 | Description                                                                                        |
-| --------------- | --------- | ---------------------- | -----------                                                                                        |
-| src             | yes       | String                 | The value given to the source's "id" attribute                                                     |
-| dst             | yes       | String                 | The value given to the destination's "id" attribute.                                               |
-| symmetrical     | no        | YES@| NO (Default: YES) | If this route is symmetric, the opposite route (from dst to src) will also be declared implicitly. |
-
-
-#### Examples ####
-
-A route in the @ref pf_routing_model_full "Full routing model" could look like this:
-@verbatim
- <route src="Tremblay" dst="Bourassa">
-     <link_ctn id="4"/><link_ctn id="3"/><link_ctn id="2"/><link_ctn id="0"/><link_ctn id="1"/><link_ctn id="6"/><link_ctn id="7"/>
- </route>
-@endverbatim
-
-A route in the @ref pf_routing_model_shortest_path "Shortest-Path routing model" could look like this:
-@verbatim
-<route src="Tremblay" dst="Bourassa">
-  <link_ctn id="3"/>
-</route>
-@endverbatim
-@note
-    You must only have one link in your routes when you're using them to provide
-    topological information, as the routes here are simply the edges of the
-    (network-)graph and the employed algorithms need to know which edge connects
-    which pair of entities.
-
 @subsubsection pf_tag_bypassasroute bypasszoneroute
 
 As said before, once you choose
index 0e9fa33..e5b1ba4 100644 (file)
@@ -170,7 +170,9 @@ A host is the computing resource on which an actor can run. See :cpp:class:`simg
 
 SimGrid links usually represent one-hop network connections (see :cpp:class:`simgrid::s4u::Link`), i.e., a single wire.
 They can also be used to abstract a larger network interconnect, e.g., the entire transcontinental network, into a
-single element.
+single element. Links are characterized by their bandwidth and latency, and their sharing is realistic wrt TCP connexions.
+Another unusual point is that SimGrid links can be used to connect more than two elements, just like
+hyperlinks in an `hypergraph <https://en.wikipedia.org/wiki/Hypergraph>`_.
 
 **Parent tags:** :ref:`pf_tag_zone` (both leaf zones and inner zones) |br|
 **Children tags:** :ref:`pf_tag_prop` |br|
@@ -394,20 +396,22 @@ of :ref:`pf_tag_link` .
 
 **Parent tags:** :ref:`pf_tag_zone` |br|
 **Children tags:** :ref:`pf_tag_link_ctn` |br|
+**See also:** :ref:`pf_tag_zoneRoute` |br|
 **Attributes:**
 
-:``src``: Host from which this route starts. Must be an existing host.
-:``dst``: Host to which this route leads. Must be an existing host.
+:``src``: Host from which this route starts. Must be the name of an existing host.
+:``dst``: Host to which this route leads. Must be the name of an existing host.
 :``symmetrical``: Whether this route is symmetrical, ie, whether we
                  are defining the route ``dst -> src`` at the same
-                 time. Valid values: ``yes``, ``no``, ``YES``, ``NO``.
+                 time. Valid values: ``yes``, ``no``, ``YES``, ``NO``
+                 (default: YES).
 
 -------------------------------------------------------------------------------
 
 .. _pf_tag_router:
 
 <router>
-------------------------------------------------------------------
+--------
 
 A router is similar to a :ref:`pf_tag_host`, but it cannot contain
 any actor. It is only useful to some routing algorithms. In
@@ -456,6 +460,7 @@ and the list of links to go from one zone to another.
 
 **Parent tags:** :ref:`pf_tag_zone` |br|
 **Children tags:** :ref:`pf_tag_link_ctn` |br|
+**See also:** :ref:`pf_tag_route` |br|
 **Attributes:**
 
 :``src``: Zone from which this route starts. Must be an existing zone.
@@ -466,6 +471,14 @@ and the list of links to go from one zone to another.
                  are defining the route ``dst -> src`` at the same
                  time. Valid values: ``yes``, ``no``, ``YES``, ``NO``.
 
+Afterward, the path from `src_host` in zone `src`, to `dst_host` in
+zone `dst`, is composed of 3 segments. First, move within zone `src`
+from `src_host` to the specified gateway `gw_src`. Then, traverse all
+links specified by the zoneRoute (purportedly within the common
+ancestor) and finally, move within zone `dst` from `gw_dst` to
+`dst_host`.
+
 -------------------------------------------------------------------------------
 
 .. _pf_tag_cluster:
index 667716d..1c03174 100644 (file)
@@ -853,9 +853,7 @@ set(DOC_SOURCES
   doc/doxygen/inside_cmake.doc
   doc/doxygen/inside_extending.doc
   doc/doxygen/inside_release.doc
-  doc/doxygen/module-sd.doc
   doc/doxygen/module-surf.doc
-  doc/doxygen/module-trace.doc
   doc/doxygen/module-index.doc
   doc/doxygen/outcomes_vizu.doc
   doc/doxygen/platform.doc