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

Private GIT Repository
Use xbt_die instead of throwing an std::logic_error exception.
[loba.git] / BUGS
1 ========================================================================
2 -- Wed, Feb 29 16:31:56 2012 +0100
3
4 Les fonctions MSG_get_host{number,table} n'existent plus dans les
5 dernières versions de SimGrid.  Utiliser MSG_hosts_as_dynar à la place.
6
7 ========================================================================
8 -- Wed, Feb 29 16:16:45 2012 +0100
9
10 Les exécutions parallèles donnent des résultats différents.
11 Pourquoi ?
12
13 ========================================================================
14 ##### MOSTLY RESOLVED BUGS COME AFTER THIS #############################
15 ========================================================================
16 -- Mon, Feb 27 13:26:08 2012 +0100
17
18 Les variables globales process::total_load_* ne sont pas protégées
19 contre les accès concurrents.  Il n'est donc pas possible actuellement
20 d'exécuter les simulations en parallèle (--cfg=contexts/nthreads).
21
22 -- Wed, Feb 29 15:54:31 2012 +0100
23
24 Corrigé en partie.  Il reste quelques "fixme: get locked?" à régler
25 (ou pas).
26
27 ========================================================================
28 -- Fri, May 20 17:01:33 2011 +0200
29
30 Il faut réviser l'utilisation du mutex entre le thread d'équilibrage
31 et le thread de calcul.  Il semble gardé beaucoup trop longtemps.
32
33 -- Tue, May 24 14:55:59 2011 +0200
34
35 Bon, une partie du problème est rectifiée par le commit
36 48de954 Stop locking the mutex on data_receive.
37
38 Pour le reste, je pense maintenant que ça ne gêne pas, au moins dans
39 le simulateur.  Pour faire bien, il faudrait plus séparer les deux
40 threads d'équilibrage et de calcul, et faire en sorte que chacun garde
41 un cache des données globales partagées.  Il suffirait alors de
42 synchroniser ces caches à chaque itération.
43
44 Les données partagées sont essentiellement les données des voisins :
45 load, to_send et debt.
46
47 ========================================================================
48 -- Tue, Apr 19 17:48:39 2011 +0200
49
50 Valgrind détecte une fuite de mémoire liée à un appel à backtrace.
51
52 Le problème semble être indépendant de SimGrid et peut être reproduit
53 avec le code suivant (NB: l'équivalent, compilé avec gcc ne génère pas
54 d'erreur).
55 ,----
56 | #include <execinfo.h>
57 | #include <iostream>
58 | int main()
59 | {
60 |     void *buffer[64];
61 |     int size = -1;
62 |     size = backtrace(buffer, sizeof buffer / sizeof buffer[0]);
63 |     std::cerr << "backtrace() returned " << size << "\n";
64 | }
65 `----
66 ==532== HEAP SUMMARY:
67 ==532==     in use at exit: 56 bytes in 1 blocks
68 ==532==     ...
69 ==532== LEAK SUMMARY:
70 ==532==    ...
71 ==532==    still reachable: 56 bytes in 1 blocks
72
73 ========================================================================