Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Do not try to run gras yet.
[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 overview Overview
10
11 SimGrid is a toolkit that provides core functionalities for the simulation
12 of distributed applications in heterogeneous distributed environments.
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
18 \section people People
19
20 The authors of SimGrid are:
21
22 \author Henri Casanova <casanova@cs.ucsd.edu>
23 \author Arnaud Legrand <arnaud.legrand@imag.fr>
24 \author Martin Quinson <martin.quinson@tuxfamily.org>
25
26 \section intro Available Softwares
27
28 The SimGrid toolkit is composed of different modules :
29
30 \li XBT (eXtensive Bundle of Tools) is a portable library with many
31     convenient portable datastructures (vectors, hashtables, heap,
32     contexts ...). Most other SimGrid modules rely on it.
33
34 \li SURF provides the core functionnalities to simulate a virtual
35     platform. It is very low-level and is not intended to be used as
36     such but rather to serve as a basis for higher-level simulators
37     (like MSG, GRAS, SMPI, ...). It relies on a fast max min linear
38     solver.
39
40 \li MSG is a simulator built using the previous modules. It aims at
41     being realistic and is application-oriented. It is the software layer
42     of choice for building simulation with multiple scheduling agents. 
43
44 \li GRAS (<em>not functionnal yet</em>) is an ongoing project to emulate virtual virtual platforms
45     through SURF. As a consequence a code developped using the GRAS
46     framework is able to run as well in the real-world as in the
47     simulator. If you intend to use MSG in a very intensive way
48     (e.g. for simulating a peer-to-peer environment), you may want to
49     switch to GRAS.
50
51 \li SMPI (<em>not functionnal yet</em>) is an ongoing project to enable MPI code to run on top of a
52     virtual platform through SURF. It follows the same principle as
53     the ones used in GRAS but is specific to MPI applications.
54
55 The section \ref publications contains links to papers that provide
56 additional details on the project as well as validation and
57 experimental results.
58
59 The software can be downloaded from <a href="http://gcl.ucsd.edu/SimGrid/dl/">here</a>.
60
61 \section install Installation
62
63 Simply type
64       \li <tt>./configure</tt>
65       \li <tt>make all install</tt>
66
67 If you are not familiar with compiling C files under UNIX and using
68 libraries, you will find some more informations in Section \ref
69 faq.
70
71 \section documentation API Documentation
72
73 The API of all different modules is described in \ref SimGrid_API.
74
75 See \ref SimGrid_examples for an introduction on the way to use these modules.
76
77 \section users_contributers Users / Contributers
78
79 \subsection contributers Contributers
80
81       \li Loris Marchal: wrote the new algorithm for simulation TCP
82           bandwidth-sharing.
83       \li Julien Lerouge : wrote a XML parser for ENV descriptions and 
84           helped for the general design during a  4 month period (march-june 2002)
85           in the LIP.
86       \li ClĂ©ment Menier and Marc Perache : wrote a first prototype of
87           the MSG interface during a project at ENS-Lyon (jan 2002).
88       \li Dmitrii Zagorodnov : wrote some parts of the first version 
89           of SimGrid (1999).
90
91 \subsection mailinglist User Mailing List
92
93    We have a <a href=https://listes.ens-lyon.fr/wws/info/simgrid2-users> mailing list for
94    SimGrid users</a>.<p>
95
96 \section publications Publications
97  
98 \subsection simulation About simulation
99
100 \li <b>Scheduling Distributed Applications: the
101        SimGrid Simulation Framework</b>\n
102     by <em>Henri Casanova and Arnaud Legrand and Loris Marchal</em>\n
103     Proceedings of the third IEEE International Symposium
104     on Cluster Computing and the Grid (CCGrid'03)\n
105     Since the advent of distributed computer systems an active field
106     of research has been the investigation of scheduling strategies
107     for parallel applications.  The common approach is to employ
108     scheduling heuristics that approximate an optimal
109     schedule. Unfortunately, it is often impossible to obtain
110     analytical results to compare the efficacy of these heuristics.
111     One possibility is to conducts large numbers of back-to-back
112     experiments on real platforms.  While this is possible on
113     tightly-coupled platforms, it is infeasible on modern distributed
114     platforms (i.e. Grids) as it is labor-intensive and does not
115     enable repeatable results. The solution is to resort to
116     simulations. Simulations not only enables repeatable results but
117     also make it possible to explore wide ranges of platform and
118     application scenarios.\n
119     In this paper we present the SimGrid framework which enables the
120     simulation of distributed applications in distributed computing
121     environments for the specific purpose of developing and evaluating
122     scheduling algorithms.  This paper focuses on SimGrid v2, which
123     greatly improves on the first version of the software with more
124     realistic network models and topologies.  SimGrid v2 also enables
125     the simulation of distributed scheduling agents, which has become
126     critical for current scheduling research in large-scale platforms.
127     After describing and validating these features, we present a case
128     study by which we demonstrate the usefulness of SimGrid for
129     conducting scheduling research.
130
131
132 \li <b>A Network Model for Simulation of Grid Application</b>\n
133     by <em>Henri Casanova and Loris Marchal</em>\n
134     \anchor paper_tcp
135     In this work we investigate network models that can be
136     potentially employed in the simulation of scheduling algorithms for
137     distributed computing applications. We seek to develop a model of TCP
138     communication which is both high-level and realistic. Previous research
139     works show that accurate and global modeling of wide-area networks, such
140     as the Internet, faces a number of challenging issues. However, some
141     global models of fairness and bandwidth-sharing exist, and can be link
142     withthe behavior of TCP. Using both previous results and simulation (with
143     NS), we attempt to understand the macroscopic behavior of
144     TCP communications. We then propose a global model of the network for the
145     Grid platform. We perform partial validation of this model in
146     simulation. The model leads to an algorithm for computing
147     bandwidth-sharing. This algorithm can then be implemented as part of Grid
148     application simulations. We provide such an implementation for the
149     SimGrid simulation toolkit.\n
150     ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR2002/RR2002-40.ps.gz
151
152
153 \li <b>MetaSimGrid : Towards realistic scheduling simulation of
154         distributed applications</b>\n
155     by <em>Arnaud Legrand and Julien Lerouge</em>\n
156     Most scheduling problems are already hard on homogeneous
157     platforms, they become quite intractable in an heterogeneous
158     framework such as a metacomputing grid. In the best cases, a
159     guaranteed heuristic can be found, but most of the time, it is
160     not possible. Real experiments or simulations are often
161     involved to test or to compare heuristics. However, on a
162     distributed heterogeneous platform, such experiments are
163     technically difficult to drive, because of the genuine
164     instability of the platform. It is almost impossible to
165     guarantee that a platform which is not dedicated to the
166     experiment, will remain exactly the same between two tests,
167     thereby forbidding any meaningful comparison. Simulations are
168     then used to replace real experiments, so as to ensure the
169     reproducibility of measured data. A key issue is the
170     possibility to run the simulations against a realistic
171     environment. The main idea of trace-based simulation is to
172     record the platform parameters today, and to simulate the
173     algorithms tomorrow, against the recorded data: even though it
174     is not the current load of the platform, it is realistic,
175     because it represents a fair summary of what happened
176     previously. A good example of a trace-based simulation tool is
177     SimGrid, a toolkit providing a set of core abstractions and
178     functionalities that can be used to easily build simulators for
179     specific application domains and/or computing environment
180     topologies. Nevertheless, SimGrid lacks a number of convenient
181     features to craft simulations of a distributed application
182     where scheduling decisions are not taken by a single
183     process. Furthermore, modeling a complex platform by hand is
184     fastidious for a few hosts and is almost impossible for a real
185     grid. This report is a survey on simulation for scheduling
186     evaluation purposes and present MetaSimGrid, a simulator built
187     on top of SimGrid.\n
188     ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR2002/RR2002-28.ps.gz
189
190 \li <b>SimGrid: A Toolkit for the Simulation of Application
191         Scheduling</b>\n
192     by <em>Henri Casanova</em>\n
193     Advances in hardware and software technologies have made it
194     possible to deploy parallel applications over increasingly large
195     sets of distributed resources. Consequently, the study of
196     scheduling algorithms for such applications has been an active area
197     of research. Given the nature of most scheduling problems one must
198     resort to simulation to effectively evaluate and compare their
199     efficacy over a wide range of scenarios. It has thus become
200     necessary to simulate those algorithms for increasingly complex
201     distributed, dynamic, heterogeneous environments. In this paper we
202     present SimGrid, a simulation toolkit for the study of scheduling
203     algorithms for distributed application. This paper gives the main
204     concepts and models behind SimGrid, describes its API and
205     highlights current implementation issues. We also give some
206     experimental results and describe work that builds on SimGrid's
207     functionalities.\n
208     http://grail.sdsc.edu/papers/simgrid_ccgrid01.ps.gz
209
210 \subsection research Papers using SimGrid results
211
212 \li <b>Optimal algorithms for scheduling divisible workloads on
213        heterogeneous systems</b>\n
214     by <em>Olivier Beaumont and Arnaud Legrand and Yves Robert</em>\n
215    In this paper, we discuss several algorithms for scheduling
216    divisible loads on heterogeneous systems. Our main contributions
217    are (i) new optimality results for single-round algorithms and (ii)
218    the design of an asymptotically optimal multi-round algorithm. This
219    multi-round algorithm automatically performs resource selection, a
220    difficult task that was previously left to the user. Because it is
221    periodic, it is simpler to implement, and more robust to changes in
222    the speeds of processors or communication links. On the theoretical
223    side, to the best of our knowledge, this is the first published
224    result assessing the absolute performance of a multi-round
225    algorithm.  On the practical side, extensive simulations reveal
226    that our multi-round algorithm outperforms existing solutions on a
227    large variety of platforms, especially when the
228    communication-to-computation ratio is not very high (the difficult
229    case).\n
230    ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR2002/RR2002-36.ps.gz
231 \li <b>On-line Parallel Tomography</b>\n
232     by <em>Shava Smallen</em>\n
233     Masters Thesis, UCSD, May 2001
234 \li <b>Applying Scheduling and Tuning to On-line Parallel Tomography </b>\n
235      by <em>Shava Smallen, Henri Casanova, Francine Berman</em>\n
236      in Proceedings of Supercomputing 2001
237 \li <b>Heuristics for Scheduling Parameter Sweep applications in
238          Grid environments</b>\n
239     by <em>Henri Casanova, Arnaud Legrand, Dmitrii Zagorodnov and 
240             Francine Berman</em>\n
241     in Proceedings of the 9th Heterogeneous Computing workshop 
242     (HCW'2000), pp349-363.
243 */