Autor Tema: pruebas de ppss (paralelización en linea de comandos)  (Leído 3364 veces)

dfr

  • Comenzando
  • *
  • Mensajes: 12
Como ya comenté en el hilo de workflow, hay una utilidad para aprovechar el multicore de nuestros procesadores http://code.google.com/p/ppss/

He estado haciendo pruebas y he aquí los resultados:

Conversión de 49 ficheros RAW (Pentax PEF) a jpg con imagemagick sin ningún parámetro, se tata sólo de probar velocidad.

Primero he ejecutado esto:
$time for i in *.PEF; do convert "pef:"$i "./jpg/"${i%%PEF}jpg; done;
real   5m55.446s
user   25m43.620s
sys   0m12.200s

$ time ppss -d ./ -c 'convert "pef:"$ITEM "./jpg2/"${ITEM%%PEF}jpg' -r
mar 18 14:24:43: 
mar 18 14:24:43:  =========================================================
mar 18 14:24:43:                         |P|P|S|S|                         
mar 18 14:24:43:  Distributed Parallel Processing Shell Script vers. 2.60b2
mar 18 14:24:43:  =========================================================
mar 18 14:24:43:  Hostname:      portatilDELL1557
mar 18 14:24:43:  ---------------------------------------------------------
mar 18 14:24:43:  CPU: Intel(R) Core(TM) i7 CPU       Q 720  @ 1.60GHz
mar 18 14:24:43:  Found 8 logic processors.
mar 18 14:24:43:  Starting 8 parallel workers.
mar 18 14:24:43:  ---------------------------------------------------------
mar 18 14:28:53:  1 job is remaining.       ete. Processed 56 of 57 items.
mar 18 14:28:54:  Total processing time: 00:04:11
mar 18 14:28:54:  Finished. Consult ppss_dir/job_log for job output.

real   4m11.119s
user   31m10.910s
sys   0m17.630s

Como podéis ver la diferencia es considerable 1m 44s, entre un 20 y un 30% menos.
La aplicación puede funcionar también en modo distribuido, e incluso por ssh.

Creo que para aquellos que hagan tratamientos por lotes de grandes volúmenes es una utilidad a tener en cuenta.

Rigo

  • Consolidad@
  • ****
  • Mensajes: 151
Re: pruebas de ppss (paralelización en linea de comandos)
« Respuesta #1 on: 22 mar 2010, 16:03 pm »
Disculpa mi ignorancia, pero que es especificamente paralelización (en informática desde luego, no en geometría).

Saludos

JoRdi

  • Palizas oficial
  • *
  • Mensajes: 10191
Re: pruebas de ppss (paralelización en linea de comandos)
« Respuesta #2 on: 22 mar 2010, 20:12 pm »
Buenas,

A mi todo esto me suena a chino :-o

Ta lu3go

invisible

  • Moderador
  • Palizas oficial
  • *****
  • Mensajes: 8097
    • INVItARTE
Re: pruebas de ppss (paralelización en linea de comandos)
« Respuesta #3 on: 23 mar 2010, 05:41 am »
No sé si meteré la pata... paralelizar es, básicamente, repartir el trabajo entre los diferentes procesadores (o sus núcleos) para optimizar el cálculo (economizar el tiempo).

El problema es que en la computación aún existen muchos procesos secuenciales, que requieren de la consecución de unos para el inicio de otros, por lo que esto no solucionaría nada... Eso sí, procesos que puedan ser llevados a cabo independientemente sí serán aprovechados.
"Si quieres ver lo invisible, observa con atención lo visible."
                                                     Manuel Álvarez Bravo (1902-2002)

dfr

  • Comenzando
  • *
  • Mensajes: 12
Re: pruebas de ppss (paralelización en linea de comandos)
« Respuesta #4 on: 23 mar 2010, 14:37 pm »
Exactamente se trata de lo que ha comentado hombre_invisible con un par de puntualizaciones

Paralelizar: Repartir un trabajo entre varios procesadores o nucleos.
Distribuir: Se suele emplear cuando se reparte un trabajo entre varios ordenadores, conectados en red.

Para que os hagáis una idea, los superordenadores tienen miles de procesadores, mi portatil es un k7 que soporta hasta 8 ejecuciones simultaneas.

Para los procesos que requieren de mucho tiempo, efectos de video, revelado de fotos ... poder hacer varias cosas a la vez agiliza el proceso enormemente.

Creo recordar que nuestro compañero marceloanelli trataba cerca de 1000 fotos de un día para otro. Pues bien, introduciendo este programa en su proceso puede reducir el tiempo entre un 25% y un 30% lo cual no está nada mal.

He