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

Private GIT Repository
Be consistent and hold mutex in any case when returning from condition_t::timedwait().
[loba.git] / TESTS
diff --git a/TESTS b/TESTS
index 610a56e6d33d9e7359cbebd612b0eddc38a82d99..98ea0ab8c9160306749244ce7b5d09378fc5f30a 100644 (file)
--- a/TESTS
+++ b/TESTS
@@ -1,22 +1,59 @@
-NOMBRE DE NOEUDS                                        [OK]
+TODO
+=> l'ensemble des simulations s'annonce trop énorme, il faut réduire
+  (dans un premier temps)
+  - enlever les plateformes à 256
+  - enlever les ratios 1000:1, 100:1, 1:100, et 1:1000.
+  On conserve ainsi 4 plates-formes sur 6, et 3 ratios sur 7, le total
+  se trouve alors réduit à : 9408 × 4/6 × 3/7 = 2688 combinaisons, soit
+  une réduction de 71,4%).
+
+=> il faut définir le "minimum duration between comp. iterations" à la
+   durée d'exécution d'une unité de charge, soit 1e-3 [ -S1e-3 ].
+=> ou alors il faut augmenter le coût des calculs...
+=> et éventuellement retarder un peu (10 lb-itérations ou 10s simulées par
+   ex.) le début des calculs [ -d10 ou -D10 ]...
+
+RÉSUMÉ
+- 6 plates-formes
+- 7 topologies
+- 7 ratios comp/comm
+- 2 répartitions initiales
+- 4 algos
+- 2 avec ou sans bookkeeping
+- 2 entier ou réel
+=> TOTAL = 6 × 7 × 7 × 2 × 4 × 2 × 2 = 9408 combinaisons !
+
+=> arborescence des résultats, répartition des fichiers
+  Actuellement :
+  - results_XY_Z/plat_${PLATFORM}/topo_${TOPOLOGY}/algo_${ALGO}_VARIANT.out
+  Avec :
+  - X : 'I' (variante entière) ou 'R' (variante réelle)
+  - Y : '1' (node 0) ou 'N' (réparition aléatoire)
+  - Z : '1000:1' '100:1' '10:1' '1:1' '1:10' '1:100' '1:1000' (ratio)
+  - VARIANT: 'plain' ou 'bookkeeping'
+
+NOMBRE DE NŒUDS                                         [OK]
 - 16
 - 64
 - 256
+=> défini par les plates-formes
 
-PLATESFORMES                                            [OK]
-- homogène      -> cluster{16,64,256}.xml
-- hétérogène    -> grid{16,64,256}.xml
-  * grid16  : 4 clusters de 4 nœuds sur 4 sites (1 par site)
-  * grid64  : 16 clusters de 4 nœuds sur 8 sites (2 par site)
-  * grid256 : 24 clusters de 10 ou 11 nœuds sur 8 sites (2 ou 4 par site,
-              dont 1 à 10 nœuds et 1 ou 3 à 11 nœuds)
+PLATES-FORMES                                           [OK]
+- homogène      -> cluster{16,64,256,1024}.xml
+- hétérogène    -> grid{16,64,256,1024}.xml
+  * grid16   : 4 clusters de 4 nœuds sur 4 sites (1 par site)
+  * grid64   : 16 clusters de 4 nœuds sur 8 sites (2 par site)
+  * grid256  : 24 clusters de 10 ou 11 nœuds sur 8 sites (2 ou 4 par site,
+               dont 1 à 10 nœuds et 1 ou 3 à 11 nœuds)
+  * grid1024 : 24 clusters de 42 ou 43 nœuds sur 8 sites (2 ou 4 par site,
+               dont 1 à 42 nœuds et 1 ou 3 à 43 nœuds)
 
 Caractéristiques :
-- calculs .......: 1 GFlop/s
-- communications : bw=125 MB/s  lat= 50 µs
+- calculs .......: 1 GFlop/s                    -> 1e9
+- communications : bw=125 MB/s  lat= 50 µs      -> 1.25e8
 - backbone ......: bw=2.25 GB/s lat=500 µs
 
-TOPOLOGIES : toutes                                     [???]
+TOPOLOGIES : toutes                                     [OK]
 - btree
 - clique
 - hcube
@@ -26,21 +63,34 @@ TOPOLOGIES : toutes                                     [???]
 - torus
 
 CHARGE INITIALE                                         [OK]
-- 1000 / noeud
+- 1000 / nœud
 
-REPARTITION INITIALE                                    [WIP]
+REPARTITION INITIALE                                    [OK]
 - node 0
-- aléatoire (choisir le même seed!)
-
-RATIO comp/comm                                         [WIP]
-- 1/1000        -c 1e9,0 -C 1e12,0
-- 1/100         -c 1e9,0 -C 1e11,0
-- 1/10          -c 1e9,0 -C 1e10,0
-- 1             -c 1e9,0 -C 1e9,0
-- 10            -c 1e9,0 -C 1e8,0
-- 100           -c 1e9,0 -C 1e7,0
-- 1000          -c 1e9,0 -C 1e6,0
-=> NON! à corriger en fonction des ratios des capacités de calcul/comm !
+- aléatoire     -R
+=> même seed!   -r 42
+
+RATIO comp/comm                                         [OK]
+- 1000          -c 1e6,0 -C 1.25e2,0
+- 100           -c 1e6,0 -C 1.25e3,0
+- 10            -c 1e6,0 -C 1.25e4,0
+- 1             -c 1e6,0 -C 1.25e5,0
+- 1/10          -c 1e6,0 -C 1.25e6,0
+- 1/100         -c 1e6,0 -C 1.25e7,0
+- 1/1000        -c 1e6,0 -C 1.25e8,0
+=> corrigés en fonction des ratios des capacités de calcul/comm (1e9/1.25e8)
+=> ajustés pour que les calculs ne durent pas trop longtemps si toute la
+   charge se trouve sur un seul nœud
+=> une unité de charge "dure" 1e-3 secondes.
+   ( 1000 -> 1 seconde ; 16000 -> 16 secondes ; 64000 -> 64 secondes ; etc. )
+=> pour les communications, une unité de charge vaut, suivant le ratio, entre
+   125 octets et 125 Mo.  Avec un ratio de 1, c'est 125 Ko.
+
+BORNES SUR LES COMMUNICATIONS                           [OK]
+- taille minimale de paquet (-m) : 1e-4
+  motivation : trop de paquets trop petits ralentissent fortement les simu.
+- taille maximale des paquets (-M) : 10
+  motivation : mauvaise perfs. avec certains algos.
 
 ALGOS                                                   [OK]
 - simple
@@ -48,6 +98,6 @@ ALGOS                                                   [OK]
 - 2besteffort
 - makhoul
 
-VARIANTES                                               [WIP]
-- bookkeeping
-- integer
+VARIANTES                                               [OK]
+- bookkeeping   -b
+- integer       -Z