Benchmarking de concurrencia casero

MaKi

Haciendo una práctica he hecho un benchmark basado en paralelizar con threads la operación de multiplicar matrices.

Tenía curiosidad por comparar resultados y de paso me podeis ayudar a tener más resultados para meter una selección en la memoria de la práctica.

Antes de seguir leyendo, necesitais:

  • Tener un linux compatible con el binario. (lo tengo precompilado con ubuntu 32 bits, no funcionará en todos los linux, (aunque debería, no tiene dependencias), simplemente probarlo)
  • Tener un pc de al menos 2 cores, para no eternizaros en el bench.

El bench consiste:

  • Dimensión matriz cuadrada: 32,64,128,256,512,1024 hasta 2048x2048
  • Número de threads: 1,2,4,8,16
    Con lo que son en todas sus combinaciones 35 tests.

El objetivo es ver la mejora, cuando aplicamos paralelismo.

1º Descargarlo
http://www.speedyshare.com/files/26474320/practica.rar

2º Ejecutarlo:
chmod +x practica
./practica bench

3º Dejar el ordenador algo tranquilo, pero puedes navegar en sin fastidiar demasiado los resultados. Debería tardar unos 10 min si tienes 4 cores y 22 min si tienes 2 cores.
Generará un archivo benchmark.txt

4º Abres el txt y reemplazas todos los "." por ",".
Seleccionas todo el texto y lo pasteas en el excel.
Con lo que se debería crear la gráfica automaticamente.

5º Necesito el contenido del benchmark.txt, si quereis publicar el gráfico como veais, pero me sería útil lo siguiente:

  • Los resultados guardados en benchmark.txt
  • Breve descripción de vuestro CPU (CPU, número de cores y velocidad de la ram principalmente).

Resumen:
Picarnos un poco con los benchmarks y de paso me ayudais reuniendo información para la práctica.

MaKi

Pongo los 2 benchmarks que tengo actualmente:

Get

Realmente me tira "patras" probar algo para linux en rar. con lo facil q habria sido hacer un gz, o tar.gz...

Me lo voy a bajar y te digo q tal.

Resultados:
Equipo:
Hostname: Valhalla_pre
OS: Linux 2.6.36-isix-generic/x86_64
CPU: 2 x Intel(R) Celeron(R) E3300 (2500.134 MHz)
Processes: 156
Uptime: 7h 53m
Load Average: 1.62
Memory Usage: 1064.45MB/3957.73MB (26.90%)
Disk Usage: 141.07GB/230.22GB (61.27%)

DIM\HILOS       _1_     _2_     _4_     _8_     _16_
32      0.815999984741  0.416000008583  0.36700001359   0.513999998569  0.56400001049
64      4.35699987411   2.77800011635   2.375   3.47499990463   2.79600000381
128     35.8040008545   29.8859996796   35.1689987183   24.6000003815   27.8120002747
256     334.67401123    195.354003906   176.886001587   181.233001709   177.56199646
512     4029.02807617   2217.5690918    2140.62988281   2115.51904297   2121.45507812
1024    32513.5410156   18865.9492188   19277.5273438   18295.3574219   18381.5976562
2048    301216.6875     196152.390625   202769.28125    202478.078125   204033.078125

PD: el codebox este nuevo que wapo esta ...

1 respuesta
Achiss

Con este procesador tal cual venía de fabrica:

Intel® Core™2 Quad Processor Q6600
(8M Cache, 2.40 GHz, 1066 MHz FSB)
http://ark.intel.com/Product.aspx?id=29765

benchmark.txt

spoiler
1 respuesta
Get

Se puede generar el grafico con OpenOffice?

1 respuesta
wiredfixer

No podran poner el script por aqui? Websense no me deja salir a jugar, quiero ver que tal sale el bench en 2 compus que tengo aqui.

1 respuesta
MaKi

El PC de GET #3

PC de Achiss #4

#5
Yo la verdad, que abro con el openoffice, hago screenshot y recorto con el gimp xD
No veo nada en el openoffice ni en excel de exportar a png o algo así. Si acaso pasarlo a pdf, y luego de pdf a png.

#6
No es un simple script, es un programa en C++ de unas 1200-1500 lineas que aprovecha todos los cores.

Se ve bien en los gráficos que tienes 2 cores, como el de get, meter más hilos al algoritmo, como es lógico, no ayuda mucho, incluso puede sobrecargar.

Pero luego hay otros micros, que mejoran por encima de su límite, teniendo 4 cores, con 8 y 16 hilos siguen mejorando pero muy lentamente, eso es más complicado de explicar.

Gracias por la ayuda, si eso cuando presente la práctica, me pienso publicar el código que es digno de ver, me ha quedado de pm xD

1 respuesta
Achiss

#7 Yo he copiado desde el openoffice directamente eh, no hace falta hacer screen xD.

Get

ya miraremos de correr eso en los servers q tengo por aqui.... hay de lo mas variopinto. desde dual p3@1000 hasta dual xeon@2600

M

AMD Phenom X6 1055t 2.8ghz
Muskin PC-12800

DIM\HILOS 1 2 4 8 16
32 3.05200004578 1.39699995518 0.917999982834 1.11000001431 1.34899997711
64 14.2530002594 9.44499969482 4.83500003815 2.74900007248 3.02300000191
128 47.6730003357 29.7870006561 13.5419998169 13.1979999542 10.9899997711
256 310.04699707 163.729003906 100.245002747 71.3809967041 67.1070022583
512 2524.56689453 1336.57800293 725.718017578 543.991027832 507.32699585
1024 29801.0507812 15874.5380859 8402.86914062 6029.2578125 5293.10498047
2048 265556.15625 140122.625 73362.9296875 50970.546875 49124.4023438

Usuarios habituales

Tags