Tutorial de PPSS - Laboratorio Intel y Cómputo de Alto Desempeño

Anuncio
Tutorial de PPSS (Parallel
Processing Shell Script)
2012
Facultad de Ingeniería/UNAM
Tutorial introductorio de PPSS (Parallel Processing Shell
Script)
Tutorial
Contenido
Objetivo
Introducción
……………………………................................................2
………………………………………………………………………2
PPSS distribuidos ……………………………………………………………………...3
Práctica
…………………………………………………………………..…4
Instalando PPSS ……………………………………………………………………....4
Ejercicio
…………………………………………………………………...….5
Bibliografía
……………………………………………………………………….9
Facultad de Ingeniería/UNAM |Laboratorio INTEL 1
Tutorial introductorio de PPSS (Parallel Processing Shell
Script)
Tutorial
Tutorial introductorio de PPSS (Parallel Processing Shell Script)
Objetivo: Conocer PPSS (Parallel Processing Shell Script) así como poder
comparar las características con un proceso serial.
Introducción:
PPSS es un script de bash shell que ejecuta los comandos, scripts o programas
en paralelo. Está diseñado para hacer un uso completo de las actuales CPUs
multi-core.
Detecta un número de CPUs disponibles e inicia trabajo separados por cada
núcleo del CPU.
PPSS se puede ejecutar en varios sistemas, el procesamiento de un solo grupo de
artículos, como un clúster.
PPSS tendrá una lista de elementos como entrada. Los elementos pueden ser
archivos de un directorio o de las entradas en un archivo de texto. PPSS ejecuta
un comando especificado por el usuario para cada elemento de la lista. El artículo
está suministrado como argumento para este comando. En cualquier punto en el
tiempo, nunca hay más artículos procesados en paralelo, ya que hay núcleos
disponibles.
Al escribir PPSS desde la terminal de comandos Linux ésta le proporciona
ejemplos
que
harán
que
esté
claro
cómo
se
utiliza:
Facultad de Ingeniería/UNAM |Laboratorio INTEL 2
Tutorial introductorio de PPSS (Parallel Processing Shell
Script)
Tutorial
Como se puede ver, una gran cantidad de información se registra por PPSS sobre
el elemento procesado, incluyendo el tiempo que se tardó en procesar. Es de
particular interés la línea de estado: se basa en el estado de salida del comando
ejecutado, por lo que la detección de errores es constante.
Este programa se ejecuta en script y esto se construye con el objetivo de ser muy
fácil de usar. Se ejecuta en Linux y Mac OS X. Debería funcionar en otros
sistemas operativos tipo Unix, como Solaris, que apoyan el shell Bash.
Este script es (sólo) útil para trabajos que pueden ser fácilmente clasificadas en
distintas tareas que se pueden ejecutar en paralelo. Por ejemplo, la codificación
de muchos archivos wav a formato mp3, descargar un gran número de archivos,
tamaño de las imágenes, todo lo que se pueda imaginar.
Tenga en cuenta que este script es útil incluso en una máquina de un solo
núcleo. Ciertos trabajos, tales como la descarga de archivos y el procesamiento de
estos archivos descargados a menudo se pueden optimizar mediante la ejecución
de estos procesos en paralelo.
PPSS distribuidos
A partir de la versión 2.0 en adelante, PPSS soporta la computación
distribuida. Con esta versión, es posible ejecutar en PPSS de hos múltiple esto
quiere decir que cada proceso de una parte de la misma cola de elementos. Los
nodos se comunican entre sí a través de un único servidor de SSH.
Este guion ya ha sido utilizado
para convertir 400 GB de archivos
WAV a MP3 con 4 anfitriones, un
Core i7 con Ubuntu, dos Macs
basados en 1,8 y 2 GHz Core Duo
corriendo Leopard, y un 2,2 Ghz
AMD funcionando con el sistema
Debían.
Lo notable es que el Core 7i a 3,6
Ghz
procesa
380
archivos,
mientras que los otros tres sistemas combinados sólo procesan 199. Tenga en
cuenta que el Core 7i solo tiene 4 núcleos físicos.
Facultad de Ingeniería/UNAM |Laboratorio INTEL 3
Tutorial introductorio de PPSS (Parallel Processing Shell
Script)
Tutorial
A continuación se explicará paso a paso con un ejemplo el uso de PPSS y su
diferencia con su solución serial.
Práctica:
Instalando PPSS:
 Lo primero que se debe de hacer para poder instalar el PPSS en Linux, es
identificarse como usuario root
Se recomienda tener el archivo en la direccion /usr/local/
 Se descomprimirá con los siguientes comandos para otorgarle algunos
permisos:
 Ejecutamos el comando PPSS, para asegurarnos que ya ha sido instalado
Facultad de Ingeniería/UNAM |Laboratorio INTEL 4
Tutorial introductorio de PPSS (Parallel Processing Shell
Script)
Tutorial
Una vez instalado podremos crear algunos scrips para probar el compilador. Para
crearlos sugerimos, crear una carpeta en un directorio independiente.
Ejercicio:
Primero lo que haremos es hacer un scrip que convierta de imágenes con
extensión .jpg a .tiff, ésto de forma serial, para después usar el compilador PPSS
que nos hará la misma tarea de forma paralela, y así comparar la eficiencia y
tiempo de ejecución.
 Para este ejercicio, tendremos que crear una carpeta llamada “jpg” en el
directorio /home/pc/Escritorio/ppss
 Dentro de esta carpeta debe de ir como mínimo 50 imágenes con extensión
.jpg para ver el tiempo y compararlo al hacer esto mismo de forma paralela.
Facultad de Ingeniería/UNAM |Laboratorio INTEL 5
Tutorial introductorio de PPSS (Parallel Processing Shell
Script)
Tutorial
 Dentro de la carpeta de jpg creamos el siguiente scrip:
 Este .sh generara un archivo con las direcciones en forma de texto de cada
imagen, que más adelante el archivo lo usaremos, para la conversión de las
imágenes a .tiff.
 Ejecutamos el scrip y nos aseguramos que aparezca el archivo dentro de la
carpeta “jpg”.
 Posteriormente realizamos el siguiente scrip dentro del directorio
/home/pc/Escritorio/ppss
Facultad de Ingeniería/UNAM |Laboratorio INTEL 6
Tutorial introductorio de PPSS (Parallel Processing Shell
Script)
Tutorial
 Lo ejecutamos en una terminal, y vemos los cambios dentro de la carpeta
“tiff “ que se creo en el directorio /home/pc/Escritorio/ppss
Hasta ahora sabemos como se convierte de forma serial las imágenes jpg a tiff ;
ahora lo haremos con el compilador PPSS de forma paralela y observaremos la
rapidez con lo que lo hace.
Facultad de Ingeniería/UNAM |Laboratorio INTEL 7
Tutorial introductorio de PPSS (Parallel Processing Shell
Script)
Tutorial
 Abrimos una terminal e ingresamos el siguiente comando y lo ejecutamos :
Podemos observar el mismo resultado en diferentes tiempos de procesamiento.
Facultad de Ingeniería/UNAM |Laboratorio INTEL 8
Tutorial introductorio de PPSS (Parallel Processing Shell
Script)
Tutorial
Bibliografía
http://code.google.com/p/ppss/
Facultad de Ingeniería/UNAM |Laboratorio INTEL 9
Descargar