From 4a7ff4cee02f54d0d1dec98be4ffe7dd7f479801 Mon Sep 17 00:00:00 2001 From: mquinson Date: Thu, 10 Feb 2005 22:36:14 +0000 Subject: [PATCH] Completely rework. Users dont care about our names, they want the code and (hopefully) the documentation ;) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@953 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- doc/index.doc | 187 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 121 insertions(+), 66 deletions(-) diff --git a/doc/index.doc b/doc/index.doc index 2df354f3f3..2d19f20e50 100644 --- a/doc/index.doc +++ b/doc/index.doc @@ -6,7 +6,7 @@ \endhtmlonly -\section overview Overview +\section quick Quick start SimGrid is a toolkit that provides core functionalities for the simulation of distributed applications in heterogeneous distributed environments. @@ -15,93 +15,148 @@ distributed and parallel application scheduling on distributed computing platforms ranging from simple network of workstations to Computational Grids. -\section people People +\subsection quick_dl Getting and installing the software -The authors of SimGrid are: +The SimGrid software package can be downloaded from +here. -\author Henri Casanova -\author Arnaud Legrand -\author Martin Quinson +To compile and install it, simply type the following. If you are not +familiar with compiling C files under UNIX and using libraries, please check +the \ref faq. SimGrid also works under Windows, but we do not distribute any +pre-compiled binaries [yet]. -\section intro Available Softwares +\verbatim $ ./configure + $ make all + [become root] + # make install\endverbatim + +\subsection quick_more More information -The SimGrid toolkit is composed of different modules : +The API is described here while +this page presents some example of +use. -\li XBT (eXtensive Bundle of Tools) is a portable library with many - convenient portable datastructures (vectors, hashtables, heap, - contexts ...). Most other SimGrid modules rely on it. +For more information about the SimGrid toolkit, please simply keep reading +this page. It is organized as follow: -\li SURF provides the core functionnalities to simulate a virtual - platform. It is very low-level and is not intended to be used as - such but rather to serve as a basis for higher-level simulators - (like MSG, GRAS, SMPI, ...). It relies on a fast max min linear - solver. + - \ref overview: Presentation of the toolkit, of each of its components + and of their interactions. + - \ref people: Who is behind this project. + - \ref publications: Some articles providing more details about the + SimGrid toolkit or using and validating it. -\li MSG is a simulator built using the previous modules. It aims at - being realistic and is application-oriented. It is the software layer - of choice for building simulation with multiple scheduling agents. +
-\li GRAS (not functionnal yet) is an ongoing project to emulate virtual - virtual platforms through SURF. As a consequence a code developped using the GRAS - framework is able to run as well in the real-world as in the - simulator. The resulting code is very portable and highly interoperable while - remaining very efficient. Even if you do not plan to run your code for real, - you may want to switch to GRAS if you intend to use MSG in a very intensive way - (e.g. for simulating a peer-to-peer environment). +\section overview Overview of the toolkit components -\li SMPI (not functionnal yet) is an ongoing project to enable MPI code - to run on top of a virtual platform through SURF. It follows the same principle as - the ones used in GRAS but is specific to MPI applications. +As depicted by the following schema, the SimGrid toolkit is basically +three-layered. -Here is a figure the depicts the relation between those different modules. -
\htmlonly -SimGrid
-\endhtmlonly +
SimGrid
+Relationships between the SimGrid components
+\endhtmlonly -The section \ref publications contains links to papers that provide -additional details on the project as well as validation and -experimental results. - -The software can be downloaded from here. - -\section install Installation - -Simply type - \li ./configure - \li make all install +\subsection overview_fondation Basement layer + +The basement of the whole toolkit is constituted by the \ref XBT_API +(eXtended Bundle of Tools). + +It is a portable library providing some grounding features such as \ref +XBT_log and \ref XBT_error. XBT also encompass the following convenient +datastructures: \ref XBT_dynar, \ref XBT_fifo, \ref XBT_dict, \ref XBT_heap, +\ref XBT_set and \ref XBT_swag. + +See the \ref XBT_API section for more details. + +\subsection overview_kernel Simulation kernel layer + +The core functionnalities to simulate a virtual platform are provided by a +module called \ref SURF_API ("that's historical, my friend"). It is +very low-level and is not intended to be used as such by end-users. Instead, +it serve as a basis for the higher level layer. + +SURF main features are a fast max-min linear solver and the ability to +change transparently the model used to describe the platform. This greatly +eases the comparison of the several models existing in the litterature. + +See the \ref SURF_API section for more details. + +\subsection overview_envs Programmation environments layer + +This simulation kernel is used to build several programmation environments. +Each of them target a specific audiance and constitute a different paradigm. +To choose which of them you want to use, you have to think about what you +want to do and what would be the result of your work. + + - If you want to study a theoritical problem and compare several + heuristics, you probably want to try \ref MSG_API (yet another + historical name). It was designed exactly to that extend and should allow + you to build easily rather realistic multi-agents simulation. Yet, + realism is not the main goal of this environment and the most annoying + technical issues of real platforms are masked here. Check the \ref + MSG_API section for more information. + + - If you want to study the behaviour of a MPI application using emulation + technics, you should have a look at the \ref SMPI_API (Simulated + MPI) programming environment. Unfortunately, this work is still underway. + Check the \ref SMPI_API section for more information. + + - If you want to develop a real distributed application, then you may find + \ref GRAS_API (Grid Reality And Simulation) useful. This is an API + for the realization of distributed applications. + \n\n + Moreover, there is two implementations of this API: one on top of the + SURF (allowing to develop and test your application within the comfort of + the simulator) and another suited for deployment on real platforms + (allowing the resulting application to be highly portable and extremely + efficient). + \n\n + Even if you do not plan to run your code for real, you may want to switch + to GRAS if you intend to use MSG in a very intensive way (e.g. for + simulating a peer-to-peer environment). + \n\n + See the \ref GRAS_API section for more details. + +If your favorite programming environment/model is not there (BSP, +components, etc.) is not represented in the SimGrid toolkit yet, you may +consider adding it. You should contact us first, though. + +Any question, remark or suggestion are welcome on the +SimGrid users +mailing list. + +
-If you are not familiar with compiling C files under UNIX and using -libraries, you will find some more informations in Section \ref -faq. +\section people People -\section documentation API Documentation +The authors of SimGrid are: -The API of all different modules is described here. -See here for an introduction on the way to use these modules. + - Henri Casanova + - Arnaud Legrand + - Martin Quinson -\section users_contributers Users / Contributers +\subsection contributers Contributers and alumni project members -\subsection contributers Contributers + - Loris Marchal: wrote the new algorithm for simulation TCP + bandwidth-sharing. + - Julien Lerouge : wrote a XML parser for ENV descriptions and helped for + the general design during a 4 month period (march-june 2002) + in the -\subsection mailinglist User Mailing List +\section publications Selected publications - We have a mailing list for - SimGrid users.

+When citing SimGrid, the prefered reference paper is still SimGrid: A +Toolkit for the Simulation of Application Scheduling by Henri Casanova, +even if it's a bit old now. We are activly working on improving this. -\section publications Publications - \subsection simulation About simulation \li Scheduling Distributed Applications: the -- 2.20.1