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