martes, 23 de octubre de 2012

GNU Parallel


Instalar GNU Parallel en Linux
GNU Parallel es una de las últimas joyas del Proyecto GNU, 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.
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.

$ 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:

$ man parallel

Modo de Utilización
Su modo de utilización, es poner a trabajar cada uno de los procesadores y/o núcleos con que cuenta el equipo para agilizar el tiempo de realización de cualquier tarea o proceso.
Ejemplos

Procesando los Archivos en Parallel

01 $ find . | parallel -v ‘echo $(ls -1 /proc/self/task); sleep 1s; echo {}’
02 echo $(ls -1 /proc/self/task); sleep 1s; echo .
03 10943
04 .
05 ...
06 $ find . | parallel -v -j +0 ‘echo $(ls -1 /proc/self/task); sleep 1s;
echo {}’
07 ?

Recomprimiendo Archivos con Parallel

01 $ time for if in *gz;
02 do
03 zcat $if | bzip2 -9 > $if.bz2;
04 done
05 real    0m27.005s
06 user    0m11.745s
07 sys     0m14.623s
08
09 $ time find . -name “*.gz” -print \
10 | parallel -j +0 ‘zcat {} | bzip2 -9 > {.}bz2’
11
12 real    0m14.921s
13 user    0m15.955s
14 sys     0m24.478s
Ventajas
Permite la ejecución concurrente de tareas, tanto local como remotamente
Parallel GNU está escrita para tener las mismas opciones que xargs.
Si escribes lazos con cáscara, se encuentra paralelo GNU puede ser capaz de remplazar la mayoría de los bucles y hacer que se ejecute más rápido mediante la ejecución de varios trabajos en paralelo.
GNU Parallel puede incluso sustituir los bucles anidados.
GNU paralelo hace que la salida de los comandos sea el mismo resultado que usted quisiera conseguir para esto se tenía que ejecutar los comandos de forma secuencial.
Es posible utilizar la salida de GNU paralelo como entrada para otros programas.

No hay comentarios:

Publicar un comentario