X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/0dd2651f302ede2afb676a68211474f2b3a9b5c1..24e97d18003e65787648061db7c23f0882f98d1a:/README diff --git a/README b/README index ff8c438..8e4e1c7 100644 --- a/README +++ b/README @@ -44,7 +44,46 @@ Pour changer le niveau de détail des affichages : level : trace, debug, verbose, info, warning, error, critical Pour plus de détail sur les options de logging : - http://simgrid.gforge.inria.fr/doc/group__XBT__log.html#log_use + http://simgrid.gforge.inria.fr/simgrid/latest/doc/outcomes_logs.html#log_user + +Sorties +======= + +* pendant la simulation : +[Bourassa 5.000000] [proc/INFO] (6:1) current load: 5 + +------- +------- +-------- + + -----+--------- + | | | | | | + | | | | | \_ 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 + +------- +--------- +-------- +-- + +------ + | | | | | | + | | | | | \_ 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 ================ @@ -53,9 +92,14 @@ 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: +Exemples: ./loba platform.xml 2>&1 | ./extract.pl | graph -CTX + ./loba platform.xml 2>&1 | ./extract.pl | graph -CTX -y 0 250 + + ./loba platform.xml 2>&1 | ./extract.pl \ + | gnuplot -p -e 'plot "-" using 1:2:(column(-2)) with lines lc variable' + Communications ============== @@ -92,15 +136,13 @@ 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é) ; + NB: le script new_loba.sh peut servir à créer les fichiers. 2. Ajouter l'algorithme dans la liste des options. Dans options.cpp : - faire le #include adéquat ; @@ -128,6 +170,7 @@ Liste de fichiers Plat.xml cluster1000.xml + machines1000.xml platform.xml * fichiers de description de déploiement (tests) @@ -137,14 +180,14 @@ Liste de fichiers * fichiers sources - communicator.h - communicator.cpp la couche de communication + communicator.h la couche de communication + communicator.cpp - cost_func.h - cost_func.cpp fonctions de coût pour comm_cost et comp_cost + cost_func.h fonctions de coût pour comm_cost et comp_cost + cost_func.cpp - deployment.h - deployment.cpp génération automatique de déploiement + deployment.h génération automatique de déploiement + deployment.cpp hostdata.h gestion des boites de réception, par hôte hostdata.cpp @@ -156,9 +199,15 @@ Liste de fichiers main.cpp le programme principal + message.h file de messages reçus + message.cpp + misc.h divers trucs inclassables misc.cpp + msg_thread.h creation de threads SG/MSG + msg_thread.cpp + named_object_list.h gestion d'une table de constructeurs avec des noms et des descriptions @@ -173,17 +222,19 @@ Liste de fichiers simgrid_features.h macros pour détecter la version de SimGrid - simple_async.cpp un simple programme de test + statistics.h pour calculer moyenne, variance, etc. + + synchro.h mutex, condition, etc. + + sync_queue.h lock-free synchronized queue timer.h gestion de timer + tracing.h définitions liées au traçage + 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 @@ -192,11 +243,14 @@ Liste de fichiers extract.pl outil d'extraction des données à partir des traces, pour tracer des courbes + new_loba.sh pour créer le squelette d'un nouvel algo + d'équiblibrage loba_* + setlocalversion calcule un numéro de version à partir du hash du dernier commit (git) * autres fichiers .gitignore liste des fichiers ignorés par git - valgrind_suppressions_3.5 liste de quelques suppressions pour valgrind + valgrind_suppressions liste de quelques suppressions pour valgrind avec SimGrid 3.5