X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/b78d5563826957045678f4c3bcfdcef6c9bfc48d..fb7c087879f5cfc2657a4fc04847106b5f75c122:/README?ds=inline diff --git a/README b/README index d34cb4b..ff7c6df 100644 --- a/README +++ b/README @@ -3,6 +3,7 @@ Contenu * Compilation de SimGrid * Compilation... * Utilisation +* Tracé de courbes * Communications * Pour ajouter un nouvel algorithme d'équilibrage * Pour ajouter une nouvelle option au programme @@ -45,6 +46,55 @@ Pour changer le niveau de détail des affichages : 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 ============== @@ -81,15 +131,12 @@ Pour ajouter un nouvel algorithme d'équilibrage - 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 ; @@ -117,6 +164,7 @@ Liste de fichiers Plat.xml cluster1000.xml + machines1000.xml platform.xml * fichiers de description de déploiement (tests) @@ -141,6 +189,8 @@ Liste de fichiers loba_simple.h équilibrage simple loba_simple.cpp (à imiter pour ajouter d'autres algorithmes) + loba_*.{h,cpp} autres algos d'équilibrage + main.cpp le programme principal misc.h divers trucs inclassables @@ -167,6 +217,17 @@ Liste de fichiers version.h gestion de la version du programme version.cpp +* 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) + * autres fichiers .gitignore liste des fichiers ignorés par git