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

Private GIT Repository
Document a bug with parallel executions.
[loba.git] / BUGS
diff --git a/BUGS b/BUGS
index 17da8da41aa0d6075a4a2b1f73aa9669b28db95f..d3134734312ef918445c20e951b654484a0492ef 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1,3 +1,26 @@
+========================================================================
+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).
+
+========================================================================
+##### 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 ?
 
 ========================================================================
 Comment expliquer ces différences entre SG 3.5 et SG svn ?