* Compilation de SimGrid
* Compilation...
* Utilisation
+* Tracé de courbes
* Communications
* Pour ajouter un nouvel algorithme d'équilibrage
* Pour ajouter une nouvelle option au programme
Pour plus de détail sur les options de logging :
http://simgrid.gforge.inria.fr/doc/group__XBT__log.html#log_use
+Sorties
+=======
+
+* pendant la simulation :
+[Bourassa 5.000000] [proc/INFO] (6:1) current load: 5 ; expected: 0.3125
+ +------- +------- +-------- + + +-------------- +--------------
+ | | | | | | \_ charge attendue
+ | | | | | | (en bookkeeping)
+ | | | | | \_ charge courante
+ | | | | |
+ | | | | \_ nombre d'itérations de calculs
+ | | | |
+ | | | \_ nombre d'itérations d'équilibrage
+ | | |
+ | | \_ catégorie de messages
+ | |
+ | \_ date courante (en secondes, dans la simulation)
+ |
+ \ nom du nœud
+
+* à la fin de la simulation :
+[Bourassa 108.886866] [proc/INFO] Final load after 107:4 iterations: 1.04113 ; expected: 1
+ +------- +--------- +-------- +-- + +------ +----------
+ | | | | | | \_ charge attendue
+ | | | | | | (en bookkeeping)
+ | | | | | |
+ | | | | | \_ charge courante
+ | | | | |
+ | | | | \_ nombre d'itérations de calculs
+ | | | |
+ | | | \_ nombre d'itérations d'équilibrage
+ | | |
+ | | \_ catégorie de messages
+ | |
+ | \_ date courante (en secondes, dans la simulation)
+ |
+ \ nom du nœud
+
+
+Tracé de courbes
+================
+
+Le script extract.pl permet d'extraire les données à partir des traces
+de simulation et de le présenter sous un format acceptable par gnuplot
+ou par graph (plotutils).
+
+Exemple:
+ ./loba platform.xml 2>&1 | ./extract.pl | graph -CTX
+
Communications
==============
- définir une nouvelle classe dérivant de process
- attention, il faut construire le process explicitement
- redéfinir la méthode load_balance qui :
- - reçoit en paramètre la charge à prendre en compte ;
+ - peut récupérer la charge courante avec get_load()
- peut utiliser et éventuellement réordonner le tableau process::pneigh ;
- peut récupérer l'information de charge d'un voisin avec
pneigh[i]->get_load() ;
- définit la charge à envoyer avec
- pneigh[i]->set_to_send(quantité) ;
- - retourne la somme des quantités définies avec set_to_send,
- éventuellement à l'aide de la méthode process::sum_of_to_send()
- qui clacule cette somme.
+ send(pneigh[i], quantité) ;
2. Ajouter l'algorithme dans la liste des options. Dans options.cpp :
- faire le #include adéquat ;
Plat.xml
cluster1000.xml
+ machines1000.xml
platform.xml
* fichiers de description de déploiement (tests)
version.h gestion de la version du programme
version.cpp
-* fichiers auto-générés
-
- misc_autogen.h définition des macros XCLOG(...)
-
* scripts
colorized-loba script pour exécuter loba en colorant les
sorties
+ extract.pl outil d'extraction des données à partir des
+ traces, pour tracer des courbes
+
setlocalversion calcule un numéro de version à partir du hash
du dernier commit (git)