Subscribe:

Ads 468x60px

Sample text

Sample Text

Social Icons

lunes, 22 de octubre de 2012

GNU Parallel


GNU Parallel

Es una herramienta para el intérprete de comandos que permite la ejecución concurrente de tareas, tanto local como remotamente. Típicamente una tarea es un comando o un script [...].

Está programada con Perl y utiliza Rsync y SSH para las ejecuciones remotas. Para comenzar a trabajar con GNU Parallel en Linux, sigue estos sencillos pasos:

1. Descarga la versión más reciente que encuentres en el sitio oficial. http://www.gnu.org/software/parallel/

Para este ejemplo será con la versión 20101202

$ wget http://ftp.gnu.org/gnu/parallel/parallel-20101202.tar.bz2

2. Descomprime e ingresa al directorio

$ tar jxf parallel-20101202.tar.bz2
$ cd parallel-20101202/

3. Sigue los tres pasos habituales: configura, compila e instala. Si tienes compiladores y bibliotecas GNU no tendrás ningún problema.

$ ./configure
$ make
$ sudo make install

4. La documentación oficial en línea es extensa e idéntica al manual de usuario: la puedes encontrar en el siguiente link:


$ man parallel

 

Ejemplo: Lectura de argumentos en línea de comandos

GNU paralelo puede tomar los argumentos de la línea de comandos en lugar de stdin (entrada estándar). Para comprimir todos los archivos HTML en la ejecución actual dir using gzip run:

parallel gzip ::: *.html

To convert *.wav to *.mp3 using LAME running one process per CPU core run:

parallel lame {} -o {.}.mp3 ::: *.wav

 

GNU parallel can work similar to xargs -n1.

To compress all html files using gzip run:

find . -name '*.html' | parallel gzip

If the file names may contain a newline use -0. Substitute FOO BAR with FUBAR in all files in this dir and subdirs:

find . -type f -print0 | parallel -q0 perl -i -pe 's/FOO BAR/FUBAR/g'

Note -q is needed because of the space in 'FOO BAR'.

 

Ventajas

v  Rápida descompresión de ficheros

Tareas más intensivas en el uso del procesador como:

v  El procesamiento de imágenes, vídeos, o la compilación

v  Aprovechando del número de procesadores disponibles.

 

0 comentarios:

Publicar un comentario