- Although an algorithm may be more efficient than another, how
does it interfere with other applications?
- %As you can see, this very simple setting may need to evolve way
+ As you can see, this very simple setting may need to evolve way
beyond what you initially imagined.
<blockquote> Premature optimization is the root of all evil. -- D.E.Knuth</blockquote>
- http://simgrid.gforge.inria.fr/tutorials/simgrid-tracing-101.pdf
- http://simgrid.gforge.inria.fr/tutorials/simgrid-platf-101.pdf
-\section intro_recommendation Recommended Steps
+## Installing the visualization softwares
-## Installing Viva
+Several tools can be used to visualize the result of SimGrid
+simulations and get a better understanding of simulations.
-This [software][fn:1] will be useful to make fancy graph or treemap
-visualizations and get a better understanding of simulations. You
-will first need to install pajeng:
+- [viva][fn:1] will be useful to make fancy graph or treemap visualizations.
+- [pajeng][fn:5] provides a Gantt-chart visualization.
+- [Vite][fn:6] also provides a Gantt-chart visualization.
-~~~~{.sh}
-sudo apt-get install git cmake build-essential libqt4-dev libboost-dev freeglut3-dev ;
-git clone https://github.com/schnorr/pajeng.git
-cd pajeng && mkdir -p build && cd build && cmake ../ -DCMAKE_INSTALL_PREFIX=$HOME && make -j install
-cd ../../
-~~~~
-
-Then you can install viva.
-
-~~~~{.sh}
-sudo apt-get install libboost-dev libconfig++-dev libconfig8-dev libgtk2.0-dev freeglut3-dev
-git clone https://github.com/schnorr/viva.git
-cd viva && mkdir -p build_graph && cd build_graph && cmake ../ -DTUPI_LIBRARY=ON -DVIVA=ON -DCMAKE_INSTALL_PREFIX=$HOME && make -j install
-cd ../../
-~~~~
-
-## Installing Paje
-
-This [software][fn:5] provides a Gantt-chart visualization.
-
-~~~~{.sh}
-sudo apt-get install paje.app
-~~~~
-
-## Installing Vite
-
-This software provides a [Gantt-chart visualization][fn:6].
+Under Debian or Ubuntu, this is really easy with apt-get, while you
+may have to install from the source on other systems. Check the
+documentation of each software for more details.
~~~~{.sh}
-sudo apt-get install vite
+sudo apt-get install viva pajeng vite
~~~~
\section intro_start Let's get started
The corresponding archive with all source files can be obtained
[here](http://simgrid.gforge.inria.fr/tutorials/msg-tuto/msg-tuto.tgz),
while the simgrid archive contains
-[several platform files](https://github.com/mquinson/simgrid/tree/master/examples/platforms)
+[several platform files](https://github.com/simgrid/simgrid/tree/master/examples/platforms)
(click on the "Raw" button of files you want to download from GitHub).
~~~~{.sh}
make
~~~~
-%As you can see, there is already a nice Makefile that compiles
+As you can see, there is already a nice Makefile that compiles
everything for you. Now the tiny example has been compiled and it
can be easily run as follows:
~~~~{.sh}
./masterworker0 platforms/platform.xml deployment0.xml --cfg=tracing:yes \
--cfg=tracing/msg/process:yes
-LANG=C ; Paje simgrid.trace
+pajeng simgrid.trace
~~~~
Alternatively, you can use [vite][fn:6].
~~~~{.sh}
./masterworker3 platforms/platform.xml deployment3.xml --cfg=tracing:yes \
--cfg=tracing/msg/process:yes
-LANG=C; Paje simgrid.trace
+pajeng simgrid.trace
~~~~
OK, so it should now be obvious that round robin is actually
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.
\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,
+- Propose a virtualbox image with everything (simgrid, pajeng, viva,
...) already set up.
- Ease the installation on mac OS X (binary installer) and
windows.
[fn:1]: http://triva.gforge.inria.fr/index.html
[fn:2]: http://hal.inria.fr/inria-00529569
[fn:3]: http://hal.inria.fr/hal-00738321
-[fn:4]: http://simgrid.gforge.inria.fr/documentation.html
-[fn:5]: http://paje.sourceforge.net/
+[fn:4]: http://simgrid.gforge.inria.fr/simgrid/latest/doc/
+[fn:5]: https://github.com/schnorr/pajeng/
[fn:6]: http://vite.gforge.inria.fr/