Cloud

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.) \ Coeurs12
cas A7745
cas B77179

Note : dans le cas B, l'execution des calculs se fait sur les deux MV.