Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
dabf971def3361343ac592eaf2aafb4888fdf470
[simgrid.git] / doc / index.doc
1 /*! \page index
2
3 <center>
4 \htmlonly
5 <a href="http://simgrid.gforge.inria.fr" border="0"><img align=center src="simgrid_logo.png" alt="SimGrid"></a><br>
6 \endhtmlonly
7 </center>
8
9 \htmlinclude .index.doc.toc
10 SimGrid is a toolkit that provides core functionalities for the simulation
11 of distributed applications in heterogeneous distributed environments.
12 \htmlonly <!-- ______BODY_BEGIN______ --!> \endhtmlonly
13 The specific goal of the project is to facilitate research in the area of
14 distributed and parallel application scheduling on distributed computing
15 platforms ranging from simple network of workstations to Computational
16 Grids.
17 \htmlonly <!-- ______BODY_END______ --!> \endhtmlonly
18
19   - The official webpage is <a href="http://simgrid.gforge.inria.fr/">simgrid.gforge.inria.fr</a>. 
20   - The Frequently Asked Questions are <a href="faq.html">here</a>. 
21   - The development webpage is <a href="https://gforge.inria.fr/projects/simgrid//">gforge.inria.fr/projects/simgrid</a>. 
22   - The user mailing list is <simgrid-user@lists.gforge.inria.fr>
23   - The SimGrid software package can be downloaded from <a href="https://gforge.inria.fr/frs/?group_id=12">here</a>.
24 <br>
25
26 <hr>
27
28 \section overview Overview of the toolkit components
29
30 As depicted by the following diagram, the SimGrid toolkit is basically
31 three-layered (click on the picture to jump to a specific component).
32
33 \htmlonly <!-- ______BODY_BEGIN______ --!> \endhtmlonly
34 \htmlonly
35 <center>
36 \endhtmlonly
37 \htmlinclude simgrid_modules.map
38 \htmlonly
39 <br><b>Relationships between the SimGrid components (click to jump to API)</b>
40 </center>
41 \endhtmlonly
42 \htmlonly <!-- ______BODY_END______ --!> \endhtmlonly
43
44 \subsection overview_envs Programmation environments layer
45
46 SimGrid provides several programmation environments built on top of a unique
47 simulation kernel. Each environment targets a specific audiance and
48 constitutes a different paradigm. To choose which of them you want to use,
49 you have to think about what you want to do and what would be the result of
50 your work.
51
52  - If you want to study a theoritical problem and compare several
53    heuristics, you probably want to try <b>\ref MSG_API</b> (yet another
54    historical name). It was designed exactly to that extend and should allow
55    you to build easily rather realistic multi-agents simulation. Yet,
56    realism is not the main goal of this environment and the most annoying
57    technical issues of real platforms are masked here. Check the \ref
58    MSG_API section for more information.
59
60  - If you want to study the behaviour of a MPI application using emulation
61    technics, you should have a look at the <b>\ref SMPI_API</b> (Simulated
62    MPI) programming environment. Unfortunately, this work is still underway.
63    Check the \ref SMPI_API section for more information. 
64    
65  - If you want to develop a real distributed application, then you may find
66    <b>\ref GRAS_API</b> (Grid Reality And Simulation) useful. This is an API
67    for the realization of distributed applications. 
68    \n\n
69    Moreover, there is two implementations of this API: one on top of the
70    SURF (allowing to develop and test your application within the comfort of
71    the simulator) and another suited for deployment on real platforms
72    (allowing the resulting application to be highly portable and extremely
73    efficient).
74    \n\n
75    Even if you do not plan to run your code for real, you may want to switch
76    to GRAS if you intend to use MSG in a very intensive way (e.g. for
77    simulating a peer-to-peer environment).
78    \n\n
79    See the \ref GRAS_API section for more details.
80
81 If your favorite programming environment/model is not there (BSP,
82 components, OpenMP, etc.) is not represented in the SimGrid toolkit yet, you may
83 consider adding it. You should contact us first on the 
84 <a href=http://lists.gforge.inria.fr/mailman/listinfo/simgrid-devel>SimGrid 
85 developers mailing list</a>, though.
86
87 \subsection overview_kernel Simulation kernel layer
88
89 The core functionnalities to simulate a virtual platform are provided by a
90 module called <b>\ref SURF_API</b> ("that's historical, my friend").  It is
91 very low-level and is not intended to be used as such by end-users. Instead,
92 it serve as a basis for the higher level layer.
93
94 SURF main features are a fast max-min linear solver and the ability to
95 change transparently the model used to describe the platform. This greatly
96 eases the comparison of the several models existing in the litterature.
97
98 See the \ref SURF_API section for more details.
99
100 \subsection overview_fondation Base layer
101
102 The base of the whole toolkit is constituted by the <b>\ref XBT_API
103 (eXtended Bundle of Tools)</b>.
104
105 It is a portable library providing some grounding features such as \ref
106 XBT_log, \ref XBT_ex and \ref XBT_config. XBT also encompass
107 the following convenient datastructures: \ref XBT_dynar, \ref XBT_fifo, \ref
108 XBT_dict, \ref XBT_heap, \ref XBT_set and \ref XBT_swag.
109
110 See the \ref XBT_API section for more details.
111
112
113 \htmlonly <!-- ______BODY_BEGIN______ --!> \endhtmlonly
114 <br>
115 The SimGrid software package can be downloaded from 
116 <a href="https://gforge.inria.fr/frs/?group_id=12">here</a>.<br>
117
118 Any question, remark or suggestion are welcome on the 
119 <a href="http://lists.gforge.inria.fr/mailman/listinfo/simgrid-user">SimGrid users
120 mailing list</a>.
121 \htmlonly <!-- ______BODY_END______ --!> \endhtmlonly
122
123 <hr>
124
125 \section people People
126
127 SimGrid is a joint project between University of Hawai at Manoa, ID
128 Laboratory (Grenoble, France) and University of Nancy (France). The
129 authors of SimGrid are:
130
131  - Henri Casanova <casanova#cs.ucsd.edu> (Information and Computer Sciences Department, University of Hawai`i at Manoa)
132  - Arnaud Legrand <arnaud.legrand#imag.fr> ("Informatique et Distribution" Laboratory (Grenoble, France), MESCal project)
133  - Martin Quinson <martin.quinson#loria.fr> (University of Nancy I (Nancy, France), LORIA Laboratory, Algorille project)
134
135 \subsection contributers Contributers and alumni project members
136
137  - Christophe Thiery: brought back the old SG to life with SimDag during a
138    two months internship (june-july 2006) in the LORIA Lorraine.
139  - Loris Marchal: designed the algorithm for simulation TCP bandwidth-sharing.
140  - Julien Lerouge : wrote a XML parser for ENV descriptions and helped for
141    the general design during a 4 months internship (march-june 2002)
142    in the LIP.
143  - ClĂ©ment Menier and Marc Perache : wrote a prototype of the MSG
144    interface during a project at ENS-Lyon (jan 2002). 
145  - Dmitrii Zagorodnov : wrote some parts of the first version of SimGrid
146    (1999).
147
148 <hr>
149 \htmlonly
150 <center>
151 <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>
152
153 <a href="http://simgrid.gforge.inria.fr/"><img src="http://gforge.org/images/pow-gforge.png" alt="Back to the gforge site" border="0" /></a>
154 </center>
155 \endhtmlonly
156
157 */