X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/7088ec7bafed52288905df149402aa1ffce0c7ad..68a5f658c68d3637a503f608394d398d1ba3855f:/BUGS diff --git a/BUGS b/BUGS index 17da8da..3a1a2a4 100644 --- a/BUGS +++ b/BUGS @@ -1,3 +1,32 @@ +======================================================================== +En mode entier (-Z), aucune vérification n'est faite sur la charge +totale, ni sur la répartition initiale! + +Il faut vérifier, et arrondir et émettre un warning dans le cas contraire : +- que la charge totale est entière, dans main.cpp ; +- au début de chaque process que la charge initiale est entière. + +Il faut également s'assurer que la répartition aléatoire produit une +distribution entière. + +======================================================================== +##### 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 ?