Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
fix a bunch of links to the FAQ -- hate that code dupplication
[simgrid.git] / doc / user_guide / doxygen / index.doc
1 /*!  
2 @mainpage SimGrid User Guide
3 <center>
4 \htmlonly
5 <table width="100%">
6         <tr>
7                 <td valign="middle" align="left">
8                                 <img src="simgrid_logo_2011.png" alt="SimGrid - Scalable simulation of distributed systems, ranging from grids to peer-to-peer systems" />
9                 </td>
10                 <td valign="middle" align="left">
11 \endhtmlonly
12 \htmlonly
13                 </td>
14         </tr>
15 </table>
16 \endhtmlonly
17 </center>
18
19 Welcome to the SimGrid user guide. In this document, you will find how to install, get started, configure, and run your first simulation with SimGrid.
20
21 \section sim_over SimGrid Overview
22 SimGrid is a toolkit that provides core functionalities for the simulation
23 of distributed applications in heterogeneous distributed environments.
24
25 The specific goal of the project is to facilitate research in the area of
26 distributed and parallel application scheduling on distributed computing
27 platforms ranging from simple network of workstations to Computational
28 Grids.
29
30   - The official webpage is <a href="http://simgrid.gforge.inria.fr/">simgrid.gforge.inria.fr</a>.
31   - The Frequently Asked Questions for the latest version are <a href="http://simgrid.gforge.inria.fr/latest/doc/FAQ.html">here</a>.
32   - The development webpage is <a href="https://gforge.inria.fr/projects/simgrid//">gforge.inria.fr/projects/simgrid</a>.
33   - The user mailing list is <simgrid-user@lists.gforge.inria.fr>
34   - The SimGrid software package can be downloaded from <a href="http://simgrid.gforge.inria.fr/download.html">here</a>.
35 <br>
36
37 <hr>
38
39 \section ug_overview Overview of the toolkit components
40
41 As depicted by the following diagram, the SimGrid toolkit is basically
42 three-layered (click on the picture to jump to a specific component).
43
44
45 \htmlonly
46 <center>
47 \endhtmlonly
48 \htmlinclude simgrid_modules.map
49 \htmlonly
50 <br><b>Relationships between the SimGrid components (click to jump to API)</b>
51 </center>
52 \endhtmlonly
53
54
55 \subsection ug_overview_envs Programmation environments layer
56
57 SimGrid provides several programmation environments built on top of a unique
58 simulation kernel. Each environment targets a specific audiance and
59 constitutes a different paradigm. To choose which of them you want to use,
60 you have to think about what you want to do and what would be the result of
61 your work.
62
63  - If you want to study a theoritical problem and compare several
64    heuristics, you probably want to try <b>\ref MSG_API</b> (yet another
65    historical name). It was designed exactly to that extend and should allow
66    you to build easily rather realistic multi-agents simulation. Yet,
67    realism is not the main goal of this environment and the most annoying
68    technical issues of real platforms are masked here. Check the \ref
69    MSG_API section for more information.
70
71  - If you want to study the behaviour of a MPI application using emulation
72    technics, you should have a look at the <b>\ref SMPI_API</b> (Simulated
73    MPI) programming environment. Unfortunately, this work is still underway.
74    Check the \ref SMPI_API section for more information.
75
76 If your favorite programming environment/model is not there (BSP,
77 components, OpenMP, etc.) is not represented in the SimGrid toolkit yet, you may
78 consider adding it. You should contact us first on the
79 <a href=http://lists.gforge.inria.fr/mailman/listinfo/simgrid-devel>SimGrid
80 developers mailing list</a>, though.
81
82 \subsection ug_overview_kernel Simulation kernel layer
83
84 The core functionnalities to simulate a virtual platform are provided by a
85 module called <b>\ref SURF_API</b>.  It is
86 very low-level and is not intended to be used as such by end-users. Instead,
87 it serve as a basis for the higher level layer.
88
89 SURF main features are a fast max-min linear solver and the ability to
90 change transparently the model used to describe the platform. This greatly
91 eases the comparison of the several models existing in the litterature.
92
93 See the \ref SURF_API section for more details.
94
95 \subsection ug_overview_fondation Base layer
96
97 The base of the whole toolkit is constituted by the <b>\ref XBT_API
98 (eXtended Bundle of Tools)</b>.
99
100 It is a portable library providing some grounding features such as \ref
101 XBT_log, \ref XBT_ex and \ref XBT_config. XBT also encompass
102 the following convenient datastructures: \ref XBT_dynar, \ref XBT_fifo, \ref
103 XBT_dict, \ref XBT_heap, \ref XBT_set and \ref XBT_swag.
104
105 See the \ref XBT_API section for more details.
106
107
108 \subsection ug_lucas_layer Tracing simulation
109 Finally, a transversal module allows you to trace your simulation. More documentation in the section \ref TRACE_doc
110
111
112 <br>
113 The SimGrid software package can be downloaded from
114 <a href="http://simgrid.gforge.inria.fr/download.html">here</a>.<br>
115
116 If you are interested in the history of SimGrid and in current and planned development,
117 you can find out more <a href="http://simgrid.gforge.inria.fr/history.html">here</a>.
118
119 Any question, remark or suggestion are welcome on the
120 <a href="http://lists.gforge.inria.fr/mailman/listinfo/simgrid-user">SimGrid users
121 mailing list</a>.
122
123
124 <hr>
125 \htmlonly
126 <center>
127 <a href="http://creativecommons.org/licenses/LGPL/2.1/"><img alt="CC-GNU LGPL" border="0" src="http://creativecommons.org/images/public/cc-LGPL-a.png" /></a>
128 </center>
129 \endhtmlonly
130
131
132 */