Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cosmetics
[simgrid.git] / doc / modules.doc
1 /** 
2   \defgroup SimGrid_API  SimGrid modules */
3
4 /** \defgroup XBT_API      XBT
5     \ingroup SimGrid_API
6     \brief The core toolbox of SimGrid, containing usefull datatypes,
7            portability support and so on.
8
9   <center><table><tr><td><b>Top</b>        <td> [\ref index]
10                  <tr><td>   Other modules  <td> [\ref SURF_API] [\ref MSG_API] [\ref GRAS_API] [\ref AMOK_API] [\ref SMPI_API] 
11                  <tr><td><b>Down</b>       <td> [\ref XBT_syscall] </table></center>
12 */
13
14 /** \defgroup SURF_API       SURF
15     \ingroup SimGrid_API
16     \brief Kernel of all the simulators used in SimGrid, and associated models.
17  
18   <center><table><tr><td><b>Top</b>     <td> [\ref index]
19                  <tr><td><b>Related modules</b> <td> [\ref XBT_API]   
20                  <tr><td>   Other modules      <td> [\ref MSG_API] [\ref GRAS_API] [\ref AMOK_API] [\ref SMPI_API] </table></center>
21
22       SURF provides the core functionnalities to simulate a virtual
23       platform. It is very low-level and is not intended to be used as
24       such but rather to serve as a basis for higher-level simulators.
25       We're still working on it and the structure is a little bit
26       complex. So we'll document it only when we'll be completely satisfied of 
27       the way it is organized.
28
29       It is where platform models are encoded. If you need a model that is not 
30       encoded yet, please tell me (<arnaud.legrand@imag.fr>) and we'll
31       see if it is feasible or not (hopefully it should be but who knows).
32
33       Please note that as it is not really intended for public use,
34       this module is only partially documented.
35 */
36
37 /** \defgroup MSG_API      MSG
38     \ingroup SimGrid_API
39     \brief Simple programming environment 
40   
41   <center><table><tr><td><b>Top</b>     <td> [\ref index]
42                  <tr><td><b>Related modules</b> <td> [\ref XBT_API]   
43                  <tr><td>   Other modules      <td> [\ref SURF_API] [\ref GRAS_API] [\ref AMOK_API] [\ref SMPI_API] </table></center>
44
45       MSG was the first distributed programming environment provided within
46       SimGrid. While almost realistic, it remains quite simple (simplistic?).
47
48       \section MSG_who Who should use this (and who shouldn't)
49       
50       You should use this module if you want to study some heuristics for a
51       given problem you don't really want to implement. If you want to get a
52       real implementation of your solution, have a look at the \ref GRAS_API 
53       programming environment. If you want to study an existing MPI program,
54       have a look at the \ref SMPI_API one. If none of those programming
55       environments fits your needs, you may consider implementing your own 
56       directly on top of \ref SURF_API (but you probably want to contact us
57       before). 
58 */
59
60 /** \defgroup GRAS_API      GRAS
61     \ingroup SimGrid_API
62     \brief Realistic programming environment (Grid Reality And Simulation)
63   
64   <center><table><tr><td><b>Top</b>     <td> [\ref index]
65                  <tr><td><b>Related modules</b> <td> [\ref XBT_API]   [\ref AMOK_API]
66                  <tr><td>   Other modules       <td> [\ref SURF_API]  [\ref MSG_API] [\ref SMPI_API] 
67                  <tr><td><b>Down</b>            <td> [\ref GRAS_dd]   </table></center>
68
69     GRAS provides a complete API to implement distributed application on top
70     of heterogeneous plateforms. In addition to the SimGrid implementation
71     of this interface (allowing you to work on your application within the
72     comfort of the simulator), an implementation suited to real platforms is
73     also provided (allowing you to really use your application once you're
74     done with developing it).
75   
76     GRAS thus constitute a complete grid application developement framework,
77     encompassing both developer helping tools (the simulator and associated
78     tools) and an efficient while portable execution runtime.
79   
80     \section GRAS_who Who should use this (and who shouldn't)
81     
82     You should use this programming environment if you want to develop real
83     applications, ie if the final result of your work is a program which 
84     may eventually be distributed. 
85     If you just want to study some heuristics for a given problem you don't
86     want to implement really (ie, if your result would be a theorem), have a
87     look at the \ref MSG_API one.
88     If you want to study an existing MPI program, have a look at the 
89     \ref SMPI_API one. 
90     If none of those programming environments fits your needs, you may
91     consider implementing your own directly on top of \ref SURF_API (but you
92     probably want to contact us before).
93 */
94
95 /** \defgroup AMOK_API AMOK
96     \ingroup SimGrid_API
97     \brief Distributed toolkit built over \ref GRAS_API (Advanced Metacomputing Overlay Kit)
98
99   <center><table><tr><td><b>Top</b>     <td> [\ref index]
100                  <tr><td><b>Related modules</b> <td> [\ref XBT_API] [\ref GRAS_API]
101                  <tr><td>   Other modules      <td> [\ref SURF_API] [\ref MSG_API] [\ref SMPI_API] </table></center>
102
103     AMOK provides several tools useful to most applications built on top of GRAS, 
104     but yet not belonging to GRAS itself. It is planned that those modules will be 
105     changed to real plugins one day, allowing users to load only the needed parts at
106     run time. For now, they live in another library against which you should link your 
107     programs explicitly.
108 */
109
110 /** \defgroup SMPI_API      SMPI
111     \ingroup SimGrid_API
112     \brief Programming environment for the simulation of MPI applications
113   
114   <center><table><tr><td><b>Top</b>     <td> [\ref index]
115                  <tr><td><b>Related modules</b> <td> [\ref XBT_API] 
116                  <tr><td>   Other modules       <td> [\ref SURF_API] [\ref GRAS_API] [\ref AMOK_API] [\ref MSG_API] </table></center>
117
118     Once implemented, this programming environment will allow you to study
119     within the simulator any MPI application without having to modify them
120     for that. In other words, it will constitute an emulation solution for
121     parallel codes.
122     
123     \section SMPI_who Who should use this (and who shouldn't)
124     
125     You should use this programming environment of the SimGrid suite if you
126     want to study existing MPI applications.
127     If you want to work on a distributed application, have a look at the 
128     \ref GRAS_API environment. 
129     If you want to study some heuristics for a given problem (and if your
130     goal is to produce theorems, not code), have a look at the \ref MSG_API
131     environment.
132     If none of those programming environments fits your needs, you may
133     consider implementing your own directly on top of \ref SURF_API (but you
134     probably want to contact us before).
135   
136  */