Logo AND Algorithmique Numérique Distribuée

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