Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
4b48cc44b25a927ea04669b9d79c54b1f3ef8983
[simgrid.git] / doc / doxygen / modules.doc
1 /**
2 @defgroup XBT_API      XBT
3 @brief The core toolbox of SimGrid, containing usefull datatypes and friends
4 */
5
6 /**
7 @defgroup TRACE_API TRACE
8 @brief Tracing mechanism and its functions.
9
10 SimGrid can trace the resource (of hosts and links) utilization using
11 any of its programming interfaces (MSG, SimDAG and SMPI). This means
12 that the tracing will register how much power is used for each host
13 and how much bandwidth is used for each link of the platform.
14
15 The idea of the tracing facilities is to give SimGrid users to
16 possibility to classify MSG and SimDAG tasks by category, tracing the
17 platform utilization (hosts and links) for each of the categories.
18 The API enables the declaration of categories and a function to
19 associate them to the tasks (MSG and SD). The tasks that are not
20 classified according to a category are not traced. If no categories
21 are specified, simulations can still be traced using a special
22 parameter in the command line (see \ref tracing for details).
23 */
24
25
26 /** \defgroup SIMIX_API      SIMIX
27     \brief POSIX-like interface for building simulation
28
29     This is a developer-level interface that should be useful only if you
30     plan to design a new interface for SimGrid.
31 */
32
33
34 /** \defgroup SMPI_API      SMPI
35     \brief Programming environment for the simulation of MPI applications
36 */
37
38
39 /** \defgroup SD_API      SimDag
40     \brief Programming environment for DAG applications
41
42     SimDag provides some functionnalities to simulate parallel task scheduling
43     with DAGs models (Direct Acyclic Graphs).
44     The old versions of SimGrid were based on DAGs. But the DAG part (named SG)
45     was removed in SimGrid 3 because the new kernel (\ref SURF_API) was implemented. \ref SURF_API
46     was much faster and more flexible than SG and did not use DAGs.
47     SimDag is a new implementation of DAGs handling and it is built on top of \ref SURF_API.
48
49     \section SD_who Who should use this (and who shouldn't)
50
51     You should use this programming environment of the SimGrid suite if you want
52     to study algorithms and heuristics with DAGs of parallel tasks.
53     If you don't need to use DAGs for your simulation, have a look at the
54     \ref MSG_API programming environment.
55     If you want to study an existing MPI program, have a look at the
56     \ref SMPI_API one.
57     If none of those programming environments fits your needs, you may
58     consider implementing your own directly on top of \ref SURF_API (but you
59     probably want to contact us before).
60
61 */
62
63 /**
64 @defgroup SURF_API SURF
65 @brief Internal kernel of all the simulators used in SimGrid, and associated models.
66
67 SURF provides the core functionnalities to simulate a virtual
68 platform. It is very low-level and is not intended to be used by end
69 users, but rather to serve as a basis for higher-level simulators. Its
70 interfaces are not frozen (and probably never will be), and the
71 structure emphasis on performance over ease of use. This module
72 contains the platform models. If you need a model that is not encoded
73 yet, please come to the devel mailing list so that we can discuss on
74 the feasibility of your idea.
75
76 Please note that as it is not really intended for public use, this
77 module is only partially documented.
78 */
79
80
81