Tests du Cloud StratusLab
L'image disque SL 6.2 configurée pour les clusters virtuels est utilisée.
Le réseau du Cloud au LAL est ethernet 1 GB/s.
Tests effectués sur :
- Cas A : une Machine Virtuelle avec 8 CPU, 2048 MB RAM, 1024 MB SWAP.
- Cas B : un Cluster Virtuel composé de 2 MV avec, pour chacune des MV, 4 CPU, 2048 MB RAM, 2048 MB SWAP.
CV$ more machinefile 134.158.75.xxa slots=1 max_slots=1 134.158.75.xxb slots=1 max_slots=1
NETWORK
- Ping :
Le cluster est composé de vm-86 (master) et vm-87 (slave).
[root@vm-86 ~]# ping -s 50000 vm-87 PING 134.158.75.87 (134.158.75.87) 50000(50028) bytes of data. 50008 bytes from 134.158.75.87: icmp_seq=1 ttl=64 time=4.74 ms 50008 bytes from 134.158.75.87: icmp_seq=2 ttl=64 time=7.23 ms 50008 bytes from 134.158.75.87: icmp_seq=3 ttl=64 time=3.10 ms 50008 bytes from 134.158.75.87: icmp_seq=4 ttl=64 time=1.86 ms 50008 bytes from 134.158.75.87: icmp_seq=5 ttl=64 time=3.08 ms 50008 bytes from 134.158.75.87: icmp_seq=6 ttl=64 time=1.96 ms 50008 bytes from 134.158.75.87: icmp_seq=7 ttl=64 time=3.15 ms 50008 bytes from 134.158.75.87: icmp_seq=8 ttl=64 time=4.54 ms 50008 bytes from 134.158.75.87: icmp_seq=9 ttl=64 time=2.32 ms 50008 bytes from 134.158.75.87: icmp_seq=10 ttl=64 time=3.19 ms ... rtt min/avg/max/mdev = 1.863/3.859/7.233/1.318 ms
Le réseau est très fluctuant dans le Cloud.
MEMORY BANDWIDTH
- STREAM pour cas B:
- Sequential test:
Function Rate (MB/s) Avg time Min time Max time Copy: 9509.5457 0.0034 0.0034 0.0034 Scale: 9406.2463 0.0035 0.0034 0.0040 Add: 10041.7274 0.0048 0.0048 0.0049 Triad: 10041.7274 0.0048 0.0048 0.0048
- Parallel OpenMP test:
THREADS=2
Function Rate (MB/s) Avg time Min time Max time Copy: 11628.6370 0.0028 0.0028 0.0029 Scale: 11251.3813 0.0029 0.0028 0.0030 Add: 11704.3539 0.0042 0.0041 0.0044 Triad: 11816.3277 0.0042 0.0041 0.0043
THREADS=4
Function Rate (MB/s) Avg time Min time Max time Copy: 17130.5332 0.0019 0.0019 0.0020 Scale: 16650.2578 0.0019 0.0019 0.0020 Add: 15434.4213 0.0031 0.0031 0.0032 Triad: 16666.1086 0.0029 0.0029 0.0030
- Parallel MPI test:
n = 2
$ mpirun -hostfile machinefile -report-bindings -bysocket -bind-to-socket -n 2 ./stream_mpi vm-126.lal.stratuslab.eu:fork binding child to socket 0 cpus 0001 vm-127.lal.stratuslab.eu:fork binding child to socket 0 cpus 0001 Function Rate (MB/s) Avg time Min time Max time Copy: 14472.1623 0.0448 0.0442 0.0459 Scale: 14219.4106 0.0459 0.0450 0.0479 Add: 15599.5779 0.0626 0.0615 0.0647 Triad: 15034.9756 0.0658 0.0639 0.0683
IO
- IO Jean-Marc :
Test effectué dans /home/user pour le cas B. La mémoire cache est remplie dans ce cas test.
CV$ ./testio ./toto 200 20 defintion duree IO = Walltime - CPUtime temps initialisation 1.297723 s write 20 files of 200.00 MB, name like ./toto0.bin duree IO : 60.964850 s total size : 4000.00 MB debit ecriture : 65.61 MB/s read 20 files of 200.00 MB, name like ./toto19.bin duree IO : 14.227058 s debit lecture : 281.15 MB/s
- IOzone :
Test effectué dans /home/user pour le cas B. Le mode automatique est lancé. Ce test permet l'écriture et la lecture sur le CPU 0 de fichiers de + en + volumineux, et cela jusqu'à une taille de fichier de 2 GB.
CV$ ./iozone -a -i 0 -i 1 -P 0 -S 4096 -p -g 2G KB reclen write rewrite read reread 263 MB 17 MB 1.1 GB/s 1.8 GB/s 2.7 GB/s 2.9 GB/s 524 MB 17 MB 172 MB/s 172 MB/s 2.6 GB/s 2.7 GB/s 1.1 GB 17 MB 88 MB/s 89 MB/s 3.3 GB/s 2.7 GB/s 2.1 GB 17 MB 68 MB/s 70 MB/s 289 MB/s 289 MB/s
Le débit d'écriture d'un fichier de 2 GB est compatible avec le résultat de IO Jean-Marc pour lequel la mémoire cache est remplie.
Parallélisation
- Intel MPI Benchmarks :
$ mpirun -hostfile machinefile -report-bindings -bysocket -bind-to-socket -n 2 IMB-MPI1 Sendrecv
Attach:cloud_sendrecv_4t.png Δ Taux d'échange en fonction de la taille des paquets envoyés pris à quatre instants aléatoires. Le taux dépend des fluctuations du réseaux à partir des paquets de 10 KB.
Code RAMSES
http://irfu.cea.fr/Phocea/Vie_des_labos/Ast/ast_sstechnique.php?id_ast=904
Utilisation du cas test Sedov 2D avec maillage adaptatif et MPI.
CV$ mpiexec -hostfile machinefile -n 2 ./bin/ramses2d namelist/sedov2d.nml
tf (en s.) \ Coeurs | 1 | 2 |
---|---|---|
cas A | 77 | 45 |
cas B | 77 | 179 |
Note : dans le cas B, l'execution des calculs se fait sur les deux MV.