martes, 23 de octubre de 2012

Investigacion "GNU Parallel"



Modo de instalación en linux

Para comenzar a trabajar con GNU Parallel en Linux, estos son los pasos.
1. Descarga la versión más reciente que encuentres en el sitio oficial. Al día de hoy es la 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:
$ 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.

Ejemplo:

Paralelización de procesos desde consola

Vía Barrapunto
Cuando estamos en consola y queremos aplicar un comando a muchos ficheros, normalmente hacemos un bucle secuencia. Por ejemplo, para descomprimir ficheros:
ls *.bz2 | while read i; do bzip2 -d $i && j=`basename $i .bz2` && xz -9 $j; done
Si queremos usar las múltiples líneas de ejecución de nuestro sistema podemos usar GNU parallel. En nuestro ejemplo:
ls *.bz2 | time parallel -j+0 --eta 'bzcat {} | xz -9 > {.}.xz'
De este modo se lanza un bzcat por cada línea de ejecución.
Nótese que lo normal (en este ejemplo concreto) es que el cuello de botella pase del procesamiento a la entrada/salida (sobre todo si usamos discos externos USB).

Ventajas:
Permite la ejecución concurrente de tareas, tanto local como remotamente

o   Parallel GNU está escrita para tener las mismas opciones que xargs.

o   Si escribes lazos con cáscara, se encuentra paralelo GNU puede ser capaz de reemplazar la mayoría de los bucles y hacer que se ejecute más rápido mediante la ejecución de varios trabajos en paralelo.

o   GNU Parallel puede incluso sustituir los bucles anidados.

o   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.

o   Es posible utilizar la salida de GNU paralelo como entrada para otros programas.

No hay comentarios:

Publicar un comentario