/*! @page introduction Introduction to SimGrid
+
[SimGrid](http://simgrid.gforge.inria.fr/) is a toolkit
that provides core functionalities for the simulation of distributed
applications in heterogeneous distributed environments.
platforms ranging from simple network of workstations to Computational
Grids.
-# Scenario
+\tableofcontents
+
+\section Scenario
The goal of this practical session is to illustrate various usage of
the MSG interface. To this end we will use the following simple setting:
![Test](./sc3-description.png)
-# Prerequisites
+\section Prerequisites
+
+Of course, you need to install SimGrid before taking this tutorial.
+Please refer to the relevant Section: \ref install.
## Tutorials
- http://simgrid.gforge.inria.fr/tutorials/simgrid-tracing-101.pdf
- http://simgrid.gforge.inria.fr/tutorials/simgrid-platf-101.pdf
-## Installing SimGrid
-
-In case you're using [Debian](https://www.debian.org) or a derivate,
-such as Ubuntu or Mint, you can install SimGrid by using the provided
-packages:
-
- sudo apt-get install libsimgrid-dev
-
-This tutorial requires simgrid 3.8 at least so you may need to get
-the [debian packages](http://packages.debian.org/libsimgrid-dev).
-
-Please note that your distribution may ship with an old version of
-SimGrid; you may want to use [a newer release](https://gforge.inria.fr/frs/?group_id=12)
-or even [clone our git repository](https://gforge.inria.fr/frs/?group_id=12)
-(a [GitHub mirror](https://github.com/mquinson/simgrid) is also available).
-
-# Recommended Steps
+\section intro_recommendation Recommended Steps
## Installing Viva
sudo apt-get install vite
~~~~
-# Let's get Started
+\section intro_start Let's get started
+
+\anchor intro_setup
## Setting up and Compiling
The corresponding archive with all source files and platform files
## Using the Tracing Mechanism
SimGrid can trace all resource consumption and the outcome can be
-displayed with viva as illustrated in the section "Setting up and Compiling". However, when several
+displayed with viva as illustrated in the section \ref intro_setup. However, when several
masters are deployed, it is hard to understand what happens.
~~~~{.xml}
unsigned long xbt_dynar_length(const xbt_dynar_t dynar);
~~~~
-As you will soon realize, with such simple mechanisms, simple
+%As you will soon realize, with such simple mechanisms, simple
deadlocks will soon appear. They can easily be removed with a
simple polling mechanism, hence the need for the following
[function][fn:7]:
msg_error_t MSG_process_sleep(double nb_sec);
~~~~
-As you should quickly realize, on the simple previous example, it
+%As you should quickly realize, on the simple previous example, it
will double the throughput of the platform but will be quite
ineffective when input size of the tasks is not negligible anymore.
## Using More Elaborate Platforms
SimGrid offers a rather powerful platform modeling mechanism. The
-`src/platform/` repository comprises a variety of platform ranging
-from simple ones to quite elaborated ones. Associated to a good
+`src/examples/platforms/` repository comprises a variety of platforms ranging
+from simple to elaborate. Associated to a good
visualization tool to ensure your simulation is meaningful, they
can allow you to study to which extent your algorithm scales...
bytes that you manage to distribute and process in one hour on
`g5k.xml` (you should use `deployment_general.xml`)?
-# Points to improve for the next time
+\section intro_todo TODO: Points to improve for the next time
- Propose equivalent exercises and skeleton in java.
- Propose a virtualbox image with everything (simgrid, paje, viva,