5 <img align=center src="simgrid_logo.png" alt="SimGrid"><br>
9 \section hot_news HOT NEWS
11 <b>SimGrid 3.0.1 was released on 22st of October 2005. Get it from
12 <a href="https://gforge.inria.fr/frs/?group_id=12">here</a>.</b>
14 \section quick Quick start
16 SimGrid is a toolkit that provides core functionalities for the simulation
17 of distributed applications in heterogeneous distributed environments.
18 The specific goal of the project is to facilitate research in the area of
19 distributed and parallel application scheduling on distributed computing
20 platforms ranging from simple network of workstations to Computational
23 \subsection quick_dl Getting and installing the software
25 - The official webpage is <a href="http://simgrid.gforge.inria.fr/">simgrid.gforge.inria.fr</a>.
26 - The development webpage is <a href="https://gforge.inria.fr/projects/simgrid//">gforge.inria.fr/projects/simgrid</a>.
27 - The user mailing list is <simgrid-user@lists.gforge.inria.fr>
28 - The SimGrid software package can be downloaded from <a href="https://gforge.inria.fr/frs/?group_id=12">here</a>.
30 To compile and install it, simply type the following. If you are not
31 familiar with compiling C files under UNIX and using libraries, please check
32 the \ref faq. SimGrid also works under Windows, but we do not distribute any
33 pre-compiled binaries [yet].
35 \verbatim $ ./configure
38 # make install\endverbatim
40 \subsection quick_more More information
42 The API (along with some example of
43 use) is described in \ref SimGrid_API.
45 For more information about the SimGrid toolkit, please simply keep reading
46 this page. It is organized as follow:
48 - \ref overview : Presentation of the toolkit, of each of its components
49 and of their interactions.
50 - \ref people : Who is behind this project.
51 - \ref publications : Some articles providing more details about the
52 SimGrid toolkit or using and validating it.
56 \section overview Overview of the toolkit components
58 As depicted by the following diagram, the SimGrid toolkit is basically
59 three-layered (click on the picture to jump to a specific component).
65 \htmlinclude simgrid_modules.map
67 <br><b>Relationships between the SimGrid components</b>
71 \subsection overview_fondation Base layer
73 The base of the whole toolkit is constituted by the <b>\ref XBT_API
74 (eXtended Bundle of Tools)</b>.
76 It is a portable library providing some grounding features such as \ref
77 XBT_log, \ref XBT_ex and \ref XBT_config. XBT also encompass
78 the following convenient datastructures: \ref XBT_dynar, \ref XBT_fifo, \ref
79 XBT_dict, \ref XBT_heap, \ref XBT_set and \ref XBT_swag.
81 See the \ref XBT_API section for more details.
83 \subsection overview_kernel Simulation kernel layer
85 The core functionnalities to simulate a virtual platform are provided by a
86 module called <b>\ref SURF_API</b> ("that's historical, my friend"). It is
87 very low-level and is not intended to be used as such by end-users. Instead,
88 it serve as a basis for the higher level layer.
90 SURF main features are a fast max-min linear solver and the ability to
91 change transparently the model used to describe the platform. This greatly
92 eases the comparison of the several models existing in the litterature.
94 See the \ref SURF_API section for more details.
96 \subsection overview_envs Programmation environments layer
98 This simulation kernel is used to build several programmation environments.
99 Each of them target a specific audiance and constitute a different paradigm.
100 To choose which of them you want to use, you have to think about what you
101 want to do and what would be the result of your work.
103 - If you want to study a theoritical problem and compare several
104 heuristics, you probably want to try <b>\ref MSG_API</b> (yet another
105 historical name). It was designed exactly to that extend and should allow
106 you to build easily rather realistic multi-agents simulation. Yet,
107 realism is not the main goal of this environment and the most annoying
108 technical issues of real platforms are masked here. Check the \ref
109 MSG_API section for more information.
111 - If you want to study the behaviour of a MPI application using emulation
112 technics, you should have a look at the <b>\ref SMPI_API</b> (Simulated
113 MPI) programming environment. Unfortunately, this work is still underway.
114 Check the \ref SMPI_API section for more information.
116 - If you want to develop a real distributed application, then you may find
117 <b>\ref GRAS_API</b> (Grid Reality And Simulation) useful. This is an API
118 for the realization of distributed applications.
120 Moreover, there is two implementations of this API: one on top of the
121 SURF (allowing to develop and test your application within the comfort of
122 the simulator) and another suited for deployment on real platforms
123 (allowing the resulting application to be highly portable and extremely
126 Even if you do not plan to run your code for real, you may want to switch
127 to GRAS if you intend to use MSG in a very intensive way (e.g. for
128 simulating a peer-to-peer environment).
130 See the \ref GRAS_API section for more details.
132 If your favorite programming environment/model is not there (BSP,
133 components, etc.) is not represented in the SimGrid toolkit yet, you may
134 consider adding it. You should contact us first on the
135 <a href=http://lists.gforge.inria.fr/mailman/listinfo/simgrid-devel>SimGrid
136 developers mailing list</a>, though.
138 Any question, remark or suggestion are welcome on the
139 <a href=http://lists.gforge.inria.fr/mailman/listinfo/simgrid-user>SimGrid users
144 \section people People
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:
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)
154 \subsection contributers Contributers and alumni project members
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)
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
167 \section publications Selected publications
169 When citing SimGrid, the prefered reference paper is <i>Scheduling
170 Distributed Applications: the SimGrid Simulation Framework</i>, even if it's
171 a bit old now. We are actively working on improving this.
173 \subsection simulation About simulation
175 \li <b>Scheduling Distributed Applications: the
176 SimGrid Simulation Framework</b>\n
177 by <em>Henri Casanova and Arnaud Legrand and Loris Marchal</em>\n
178 Proceedings of the third IEEE International Symposium
179 on Cluster Computing and the Grid (CCGrid'03)\n
180 Since the advent of distributed computer systems an active field
181 of research has been the investigation of scheduling strategies
182 for parallel applications. The common approach is to employ
183 scheduling heuristics that approximate an optimal
184 schedule. Unfortunately, it is often impossible to obtain
185 analytical results to compare the efficacy of these heuristics.
186 One possibility is to conducts large numbers of back-to-back
187 experiments on real platforms. While this is possible on
188 tightly-coupled platforms, it is infeasible on modern distributed
189 platforms (i.e. Grids) as it is labor-intensive and does not
190 enable repeatable results. The solution is to resort to
191 simulations. Simulations not only enables repeatable results but
192 also make it possible to explore wide ranges of platform and
193 application scenarios.\n
194 In this paper we present the SimGrid framework which enables the
195 simulation of distributed applications in distributed computing
196 environments for the specific purpose of developing and evaluating
197 scheduling algorithms. This paper focuses on SimGrid v2, which
198 greatly improves on the first version of the software with more
199 realistic network models and topologies. SimGrid v2 also enables
200 the simulation of distributed scheduling agents, which has become
201 critical for current scheduling research in large-scale platforms.
202 After describing and validating these features, we present a case
203 study by which we demonstrate the usefulness of SimGrid for
204 conducting scheduling research.
207 \li <b>A Network Model for Simulation of Grid Application</b>\n
208 by <em>Henri Casanova and Loris Marchal</em>\n
210 In this work we investigate network models that can be
211 potentially employed in the simulation of scheduling algorithms for
212 distributed computing applications. We seek to develop a model of TCP
213 communication which is both high-level and realistic. Previous research
214 works show that accurate and global modeling of wide-area networks, such
215 as the Internet, faces a number of challenging issues. However, some
216 global models of fairness and bandwidth-sharing exist, and can be link
217 withthe behavior of TCP. Using both previous results and simulation (with
218 NS), we attempt to understand the macroscopic behavior of
219 TCP communications. We then propose a global model of the network for the
220 Grid platform. We perform partial validation of this model in
221 simulation. The model leads to an algorithm for computing
222 bandwidth-sharing. This algorithm can then be implemented as part of Grid
223 application simulations. We provide such an implementation for the
224 SimGrid simulation toolkit.\n
225 ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR2002/RR2002-40.ps.gz
228 \li <b>MetaSimGrid : Towards realistic scheduling simulation of
229 distributed applications</b>\n
230 by <em>Arnaud Legrand and Julien Lerouge</em>\n
231 Most scheduling problems are already hard on homogeneous
232 platforms, they become quite intractable in an heterogeneous
233 framework such as a metacomputing grid. In the best cases, a
234 guaranteed heuristic can be found, but most of the time, it is
235 not possible. Real experiments or simulations are often
236 involved to test or to compare heuristics. However, on a
237 distributed heterogeneous platform, such experiments are
238 technically difficult to drive, because of the genuine
239 instability of the platform. It is almost impossible to
240 guarantee that a platform which is not dedicated to the
241 experiment, will remain exactly the same between two tests,
242 thereby forbidding any meaningful comparison. Simulations are
243 then used to replace real experiments, so as to ensure the
244 reproducibility of measured data. A key issue is the
245 possibility to run the simulations against a realistic
246 environment. The main idea of trace-based simulation is to
247 record the platform parameters today, and to simulate the
248 algorithms tomorrow, against the recorded data: even though it
249 is not the current load of the platform, it is realistic,
250 because it represents a fair summary of what happened
251 previously. A good example of a trace-based simulation tool is
252 SimGrid, a toolkit providing a set of core abstractions and
253 functionalities that can be used to easily build simulators for
254 specific application domains and/or computing environment
255 topologies. Nevertheless, SimGrid lacks a number of convenient
256 features to craft simulations of a distributed application
257 where scheduling decisions are not taken by a single
258 process. Furthermore, modeling a complex platform by hand is
259 fastidious for a few hosts and is almost impossible for a real
260 grid. This report is a survey on simulation for scheduling
261 evaluation purposes and present MetaSimGrid, a simulator built
263 ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR2002/RR2002-28.ps.gz
265 \li <b>SimGrid: A Toolkit for the Simulation of Application
267 by <em>Henri Casanova</em>\n
268 Advances in hardware and software technologies have made it
269 possible to deploy parallel applications over increasingly large
270 sets of distributed resources. Consequently, the study of
271 scheduling algorithms for such applications has been an active area
272 of research. Given the nature of most scheduling problems one must
273 resort to simulation to effectively evaluate and compare their
274 efficacy over a wide range of scenarios. It has thus become
275 necessary to simulate those algorithms for increasingly complex
276 distributed, dynamic, heterogeneous environments. In this paper we
277 present SimGrid, a simulation toolkit for the study of scheduling
278 algorithms for distributed application. This paper gives the main
279 concepts and models behind SimGrid, describes its API and
280 highlights current implementation issues. We also give some
281 experimental results and describe work that builds on SimGrid's
283 http://grail.sdsc.edu/papers/simgrid_ccgrid01.ps.gz
285 \subsection research Papers using SimGrid results
287 \li <b> A study of meta-scheduling architectures for high throughput
288 computing: Pull vs. Push</b>\n
289 by <em> Vincent Garonne, Andrei Tsaregorodtsev, and Eddy Caron </em>\n
290 Proceedings of 4th Internationnal Symposium on Parallel and
291 Distributed Computing Job Scheduling Strategies for Parallel
292 Processing (ISPDC'05), July 2005.\n
293 Preliminary version in http://marwww.in2p3.fr/~garonne/garonne-meta.pdf
295 \li <b>Exploiting Replication and Data Reuse to Efficiently Schedule
296 Data-intensive Applications on Grids</b>\n
297 by <em> E. Santos-Neto, W. Cirne, F. Brasileiro, A. Lima.</em>\n
298 Proceedings of 10th Job Scheduling Strategies for Parallel Processing, June 2004.\n
299 http://www.lsd.ufcg.edu.br/~elizeu/articles/jsspp.v6.pdf
301 \li <b>Optimal algorithms for scheduling divisible workloads on
302 heterogeneous systems</b>\n
303 by <em>Olivier Beaumont and Arnaud Legrand and Yves Robert</em>\n
304 in Proceedings of the 17th International Parallel and Distributed Processing Symposium (IPDPS'03).\n
305 Preliminary version on ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR2002/RR2002-36.ps.gz
307 \li <b>On-line Parallel Tomography</b>\n
308 by <em>Shava Smallen</em>\n
309 Masters Thesis, UCSD, May 2001
310 \li <b>Applying Scheduling and Tuning to On-line Parallel Tomography </b>\n
311 by <em>Shava Smallen, Henri Casanova, Francine Berman</em>\n
312 in Proceedings of Supercomputing 2001
313 \li <b>Heuristics for Scheduling Parameter Sweep applications in
314 Grid environments</b>\n
315 by <em>Henri Casanova, Arnaud Legrand, Dmitrii Zagorodnov and
316 Francine Berman</em>\n
317 in Proceedings of the 9th Heterogeneous Computing workshop
318 (HCW'2000), pp349-363.