Logo AND Algorithmique Numérique Distribuée

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