Logo AND Algorithmique Numérique Distribuée

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