]> AND Private Git Repository - loba.git/blobdiff - BUGS
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
One more bug :(
[loba.git] / BUGS
diff --git a/BUGS b/BUGS
index 9ae9690eef1c7d71139d5ac8cbd6f885174d8af7..8f62e4dc87e7618ce592da8546b898cc2dae37ee 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1,9 +1,33 @@
 ========================================================================
-Il faut réviser l'utilisation du mutex entre le thread d'équilibrage
-et le thread de calcul.  Il semble gardé beaucoup trop longtemps.
+Les exécutions parallèles donnent des résultats différents.
+Pourquoi ?
+
+========================================================================
+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).
+
+Corrigé en partie.  Il reste quelques "fixme: get locked?" à régler
+(ou pas).
 
 ========================================================================
 ##### RESOLVED BUGS COME AFTER THIS ####################################
+========================================================================
+Il faut réviser l'utilisation du mutex entre le thread d'équilibrage
+et le thread de calcul.  Il semble gardé beaucoup trop longtemps.
+
+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.
+
 ========================================================================
 Comment expliquer ces différences entre SG 3.5 et SG svn ?