1 ========================================================================
2 -- Wed, Feb 29 16:16:45 2012 +0100
4 Les exécutions parallèles donnent des résultats différents.
7 ========================================================================
8 ##### MOSTLY RESOLVED BUGS COME AFTER THIS #############################
9 ========================================================================
10 -- Mon, Feb 27 13:26:08 2012 +0100
12 Les variables globales process::total_load_* ne sont pas protégées
13 contre les accès concurrents. Il n'est donc pas possible actuellement
14 d'exécuter les simulations en parallèle (--cfg=contexts/nthreads).
16 -- Wed, Feb 29 15:54:31 2012 +0100
18 Corrigé en partie. Il reste quelques "fixme: get locked?" à régler
21 ========================================================================
22 -- Fri, May 20 17:01:33 2011 +0200
24 Il faut réviser l'utilisation du mutex entre le thread d'équilibrage
25 et le thread de calcul. Il semble gardé beaucoup trop longtemps.
27 -- Tue, May 24 14:55:59 2011 +0200
29 Bon, une partie du problème est rectifiée par le commit
30 48de954 Stop locking the mutex on data_receive.
32 Pour le reste, je pense maintenant que ça ne gêne pas, au moins dans
33 le simulateur. Pour faire bien, il faudrait plus séparer les deux
34 threads d'équilibrage et de calcul, et faire en sorte que chacun garde
35 un cache des données globales partagées. Il suffirait alors de
36 synchroniser ces caches à chaque itération.
38 Les données partagées sont essentiellement les données des voisins :
39 load, to_send et debt.
41 ========================================================================
42 -- Tue, Apr 19 17:48:39 2011 +0200
44 Valgrind détecte une fuite de mémoire liée à un appel à backtrace.
46 Le problème semble être indépendant de SimGrid et peut être reproduit
47 avec le code suivant (NB: l'équivalent, compilé avec gcc ne génère pas
50 | #include <execinfo.h>
56 | size = backtrace(buffer, sizeof buffer / sizeof buffer[0]);
57 | std::cerr << "backtrace() returned " << size << "\n";
61 ==532== in use at exit: 56 bytes in 1 blocks
65 ==532== still reachable: 56 bytes in 1 blocks
67 ========================================================================