/*! \page index
\htmlonly
\endhtmlonly
\htmlinclude .index.doc.toc
SimGrid is a toolkit that provides core functionalities for the simulation
of distributed applications in heterogeneous distributed environments.
\htmlonly \endhtmlonly
The specific goal of the project is to facilitate research in the area of
distributed and parallel application scheduling on distributed computing
platforms ranging from simple network of workstations to Computational
Grids.
\htmlonly \endhtmlonly
- The official webpage is simgrid.gforge.inria.fr.
- The Frequently Asked Questions are here.
- The development webpage is gforge.inria.fr/projects/simgrid.
- The user mailing list is
- The SimGrid software package can be downloaded from here.
\section overview Overview of the toolkit components
As depicted by the following diagram, the SimGrid toolkit is basically
three-layered (click on the picture to jump to a specific component).
\htmlonly \endhtmlonly
\htmlonly
\endhtmlonly
\htmlinclude simgrid_modules.map
\htmlonly
Relationships between the SimGrid components (click to jump to API)
\endhtmlonly
\htmlonly \endhtmlonly
\subsection overview_envs Programmation environments layer
SimGrid provides several programmation environments built on top of a unique
simulation kernel. Each environment targets a specific audiance and
constitutes 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, OpenMP, etc.) is not represented in the SimGrid toolkit yet, you may
consider adding it. You should contact us first on the
SimGrid
developers mailing list, though.
\subsection overview_kernel Simulation kernel layer
The core functionnalities to simulate a virtual platform are provided by a
module called \ref SURF_API. 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_fondation Base layer
The base 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, \ref XBT_ex and \ref XBT_config. 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.
\htmlonly \endhtmlonly
The SimGrid software package can be downloaded from
here.
If you are interested in the history of SimGrid and in current and planned development,
you can find out more here.
Any question, remark or suggestion are welcome on the
SimGrid users
mailing list.
\htmlonly \endhtmlonly
\htmlonly
\endhtmlonly
*/