========================================================================
-- Wed, Feb 29 16:16:45 2012 +0100

Les exécutions parallèles donnent des résultats différents.
Pourquoi ?

========================================================================
##### MOSTLY RESOLVED BUGS COME AFTER THIS #############################
========================================================================
-- Mon, Feb 27 13:26:08 2012 +0100

Les variables globales process::total_load_* ne sont pas protégées
contre les accès concurrents.  Il n'est donc pas possible actuellement
d'exécuter les simulations en parallèle (--cfg=contexts/nthreads).

-- Wed, Feb 29 15:54:31 2012 +0100

Corrigé en partie.  Il reste quelques "fixme: get locked?" à régler
(ou pas).

========================================================================
-- Fri, May 20 17:01:33 2011 +0200

Il faut réviser l'utilisation du mutex entre le thread d'équilibrage
et le thread de calcul.  Il semble gardé beaucoup trop longtemps.

-- Tue, May 24 14:55:59 2011 +0200

Bon, une partie du problème est rectifiée par le commit
48de954 Stop locking the mutex on data_receive.

Pour le reste, je pense maintenant que ça ne gêne pas, au moins dans
le simulateur.  Pour faire bien, il faudrait plus séparer les deux
threads d'équilibrage et de calcul, et faire en sorte que chacun garde
un cache des données globales partagées.  Il suffirait alors de
synchroniser ces caches à chaque itération.

Les données partagées sont essentiellement les données des voisins :
load, to_send et debt.

========================================================================
-- Tue, Apr 19 17:48:39 2011 +0200

Valgrind détecte une fuite de mémoire liée à un appel à backtrace.

Le problème semble être indépendant de SimGrid et peut être reproduit
avec le code suivant (NB: l'équivalent, compilé avec gcc ne génère pas
d'erreur).
,----
| #include <execinfo.h>
| #include <iostream>
| int main()
| {
|     void *buffer[64];
|     int size = -1;
|     size = backtrace(buffer, sizeof buffer / sizeof buffer[0]);
|     std::cerr << "backtrace() returned " << size << "\n";
| }
`----
==532== HEAP SUMMARY:
==532==     in use at exit: 56 bytes in 1 blocks
==532==     ...
==532== LEAK SUMMARY:
==532==    ...
==532==    still reachable: 56 bytes in 1 blocks

========================================================================