Implementación de un Cluster de Computadoras con software libre

Anuncio
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Implementación de un Cluster de Computadoras
con software libre para Computación Cientı́fica en
Jicamarca
A.Zamudio
Abraham Zamudio
M. Milla
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Contenido de la Presentación
1
Radio Observatorio de Jicamarca
2
Cluster de Computadores Tipo Beowulf
3
JRO CLUSTER
4
Ajuste No lineal de espectros de Dispersión Incoherente
5
Resultados
6
Conclusiones y Trabajos Futuros
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Presentación
Atmósfera e Ionósfera
Fı́sica de la Ionosfera
Índice
1
Radio Observatorio de Jicamarca
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Presentación
Atmósfera e Ionósfera
Fı́sica de la Ionosfera
El Radio Observatorio de Jicamarca (ROJ)
El Radar más
grande del mundo
está en el Perú
http://jro.igp.gob.pe
Investigación espacial remota (desde Tierra), usando técnicas de
radar (Radar de Dispersión Incoherente-ISR).
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Presentación
Atmósfera e Ionósfera
Fı́sica de la Ionosfera
El Radio Observatorio de Jicamarca (ROJ)
El comportamiento de la Ionósfera es dependiente de los eventos
que ocurren en el SOL
¿Qué es la ionósfera? Vista desde el espacio, la esfera terreste
tiene una atmósfera de coloración azul brillante debido al efecto
cromático producido por la dispersión de la luz solar sobre los
gases atmosféricos. Estos conviven en una capa delgada
compuesta principalmente por polvo y gases retenidos
principalmente por la acción de la fuerza de gravedad. La
ionosfera es una región ionizada arriba de la llamada baja
atmósfera. En esta capa existe una gran cantidad de iones
generados por la influencia de la radiación solar, de partı́culas
cósmicas y solares de alta energı́a incidentes sobre la tierra.
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Presentación
Atmósfera e Ionósfera
Fı́sica de la Ionosfera
El Radio Observatorio de Jicamarca (ROJ)
Estimación de parametros
ionosféricos
Densidad de Electrones (Ne )
Para el cálculo de estos parámetros
fı́sicos de la ionósfera se han
Temperatura de Electrones (Te ) desarrollado programas de inversión
que ajustan los datos a modelos.
Temperatura de Iones (Ti )
Este tipo de procesamiento demanda
Drifts Verticales
una gran carga computacional.
Drifts horizontales
Composición Quı́mica
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Definición e Historia
Índice
2
Cluster de Computadores Tipo Beowulf
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Definición e Historia
Definición
Asignar más recursos a una tarea acortara el tiempo de
procesamiento, además de un ahorro potencial en costos.
Un cluster de tipo Beowulf se puede construir con componentes
comunes (computadoras personales, estaciones de trabajo, redes de
alta velocidad, etc.), estos componentes se deben comportar como
una única computadora.
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Definición e Historia
Historia
A finales de 1993, Donald Becker y Thomas Sterling comienzan a
construir el primer cluster Beowulf con fines de investigación.
Fue construido con 16 computadores personales con procesadores
Intel DX4 de 200 MHz, que estaban conectados a través de un
switch Ethernet.
Figura: Beowulf - Nasa 1994
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Hardware
Software
Ejemplo
Índice
3
JRO CLUSTER
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Hardware
Software
Ejemplo
JRO Cluster
Lo que se busca con el JRO-Cluster es dar uso a las computadoras
del radio observatorio que estén disponibles para computación
cientı́fica.
Componentes de Hardware:
1 Intel Core i5 3.20GHz
(4 cores) - 3 Gb de Ram
1 Intel Xeon 3.00GHz
(4 cores) - 4 Gb de Ram
1 Intel Xeon X5355 2.66GHz
(8 cores) - 24 Gb de Ram
Red Gigabit
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Hardware
Software
Ejemplo
JRO Cluster
JRO-Cluster : El nodo master
comparte por medio del protocolo
NFS un directorio (jro cluster) donde
estan creadas las cuentas de los
usuarios. Este directorio es montado
por cada uno de los nodos esclavos.
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Hardware
Software
Ejemplo
Software
MPI
Torque
Maui
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Hardware
Software
Ejemplo
Message Passing Interface - MPI
MPI es un estándar adoptado para el desarrollo de una librerı́a de
comunicación a través de paso de mensajes, siendo este estándar
largamente utilizado para la exploración del paralelismo en
arquitecturas caracterizadas por poseer una memoria distribuida.
Práctica
Portable
Eficiente
Flexible
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Hardware
Software
Ejemplo
Message Passing Interface - MPI
Razones para usar MPI
Estandarización: MPI es la única librerı́a de paso de mensajes que se puede considerar como un estándar.
Es compatible con prácticamente todas las plataformas HPC.
Portabilidad: No hay necesidad de modificar el código fuente al portar tu aplicación a otra plataforma que
soporte el estándar MPI.
Rendimiento: Las implementaciones de los vendedores de hardware deben explotar las capacidades
inherentes al hardware para optimizar el rendimiento.
Funcionalidad: Son alrededor de 115 rutinas (funciones) que definen el estándar MPI2
Disponibilidad: Una variedad de implementaciones están disponibles, tanto publicas como comerciales.
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Hardware
Software
Ejemplo
Message Passing Interface - MPI
Modelo de Programación
MPI se presta a prácticamente cualquier modelo de memoria distribuida. Por otra parte MPI se utiliza
comúnmente para poner en práctica algunos modelos de memoria compartida, como por ejemplo el
paralelismo de datos en arquitecturas de memoria distribuida.
Plataformas de hardware
Memoria Distribuida: Originalmente, MPI fue para los sistemas de memoria distribuida .
Memoria Compartida: Los sistemas de memoria compartida se hicieron mas populares
(particularmente las arquitecturas SMP y NUMA). Razón por lo cual las implementaciones de MPI
aparecieron para estas arquitecturas .
Hı́bridos MPI es usado actualmente en casi cualquier arquitectura paralela, incluyendo
computadoras masivamente paralelas, Cluster SMP, cluster de estaciones de trabajo y redes
heterogéneas (Grid Computing)
Todo el paralelismo es explı́cito. El programador es responsable por la correcta identificación del
paralelismo y de la correcta implementación de algoritmos paralelos usando construcciones de MPI
El numero de tareas dedicadas para correr un programa paralelo es estático. No se pueden generar tareas
en tiempo de ejecución.
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Hardware
Software
Ejemplo
Estructura genérica de un programa MPI
Atención!!!
Si bien se puede especificar que tarea
debe hacer cada componente del
cluster, en mpich2 el mismo
programa que se lanza en el nodo
master es el que se ejecuta en todos
los nodos esclavos.
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Hardware
Software
Ejemplo
Message Passing Interface CHameleon
MPICH2 fue diseñado para ser una implementación ampliamente
portátil de alto rendimiento del estándar Message Passing Interface
(MPI) (MPI-1 y MPI-2). MPICH2 esta pensado para proporcionar
una implementación de MPI eficiente, compatible con diferentes
plataformas de computación y comunicación incluyendo clusters de
computadores, redes de alta velocidad (Myrinet de 10 Gigabit
Ethernet, InfiniBand, Quadrics) y sistemas de computación
patentados (Blue Gene, Cray, SiCortex) .
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Hardware
Software
Ejemplo
HolaMundo.c (Versión Serial)
#include <stdio.h>
int main()
{
printf("Hola Mundo");
}
Compilación
gcc -o HolaMundo HolaMundo.c
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Hardware
Software
Ejemplo
HolaMundo.c (Versión Paralela I )
#include <mpi.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
MPI_Init( &argc, &argv );
printf("Hola Mundo");
MPI_Finalize();
}
Compilación
mpicc -o HolaMundo HolaMundo.c
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Hardware
Software
Ejemplo
HolaMundo.c (Versión Paralela II )
#include <mpi.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
int np, p;
MPI_Init( &argc, &argv );
MPI_Comm_size( MPI_COMM_WORLD, &np );
MPI_Comm_rank( MPI_COMM_WORLD, &p );
printf("Soy el proceso %i de un total de %i \n", p, np );
MPI_Finalize();
}
Compilación
mpicc -o HolaMundo HolaMundo.c
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Hardware
Software
Ejemplo
Resource Manager - Torque
TORQUE es un administrador de recursos Open Source que
provee control sobre los trabajos y nodos pertenecientes a un
cluster. Torque está basado en OpenPBS (Version 2.3.12) e
incorpora escalabilidad, tolerancia a fallos y parches con
caracterı́sticas extendidas además de asignar recursos en base a
peticiones como pueden ser: Arquitectura del procesador, memoria
RAM, cantidad de procesadores, tiempo total de ejecución en los
procesadores y de toda la tarea (walltime), etc. Esta versión puede
ser libremente modificada y redistribuida sujeto a las restricciones
de la licencia incluida.
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Hardware
Software
Ejemplo
Resource Manager - Torque
Troque provee mejoras sobre el estándar de OpenPBS en las siguientes areas:
Tolerancia a Fallos
Interfaz de planificación
Escalabilidad
Usabilidad
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Hardware
Software
Ejemplo
Scheduler - MAUI
MAUI CLUSTER SCHEDULER es un planificador de trabajos
Open Source usado en clusters y supercomputadoras. En él se
pueden definir politicas de asignacion de recursos, como atributos
de las colas, logrando una gestion mas efectiva con caracteristicas
tales como: qué proceso corre, cuándo y dónde, logrando ası́ una
mejor utilización de todos los recursos.
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Hardware
Software
Ejemplo
Observación
Atencion
El uso de Torque-Maui hace que la versión de mpiexec con la que
viene por defecto la distribución de las librerı́as MPI no sea la mejor
forma de trabajar, la razón es que habrı́a que estar manteniendo el
anillo mpd en el cluster, o ayudar a los usuarios a crear y destruir
anillos. Para resolver este inconveniente se usa una versión de
mpiexec desarrollada por el Centro de Supercomputación de Ohio
(esta versión solo se puede usar con torque).
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Hardware
Software
Ejemplo
Ejemplo de un script torque
#PBS −S / b i n / ba s h
#PBS −N p a r a l l e l F i t t i n g
#PBS −q b a t c h
#PBS − l n o d e s=quad2 : ppn=4+quad4 : ppn=8
#PBS − l w a l l t i m e = 2 4 : 0 0 : 0 0
#PBS − j oe
#PBS −o p a r a l l e l F i t t i n g q 2 4 q 4 8 5 0 0 0 0 i t e r . o u t
cd $PBS O WORKDIR
t i m e / u s r / l o c a l / m p i e x e c 8 3 / b i n / m p i e x e c mpi da t a
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Planteamiento del Problema
Índice
4
Ajuste No lineal de espectros de Dispersión Incoherente
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Planteamiento del Problema
Modos de Dispersión Incoherente
Las medidas de velocidad del Drift se pueden realizar con alta
precisión en Jicamarca debido a que es posible apuntar el haz
perpendicularmente al campo magnético. Desde el punto de vista
de frecuencias, el espectro de la señal dispersa se vuelve angosto,
haciendo que la medición de corrimientos Doppler sea fácil.
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Planteamiento del Problema
Ordenamiento de los datos :
Modelo
f (f rec) = A exp
−(f rec−f rec0)2
2σ 2
+b
Problema
Lo que buscamos es acelerar el
proceso de inversión de los espectros
de acuerdo al modelo planteado y
ası́ obtener algunos parámetros
fı́sicos de la ionósfera.
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Planteamiento del Problema
Algoritmo de Levenberg-Marquardt
Levenberg (1944) y luego Marquardt (1963) sugirieron usar una
versión precondicionada del Método de Gradiente que modifica la
dirección de descenso en la k-esima iteración.
ρI : Termino Agregado en el Algoritmo de
Levenberg-Marquardt.
[ρI +
p
X
∇hi (xk )[∇hi (xk )]t ]dk = −∇f (xk )
i
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Explicación del Algoritmo
La cantidad de espectros que
analizamos es 74620. Nuestra
estrategia fue implementar una
función que reciba un espectro
(127 puntos), el resultado de
esta función son los cuatro
parámetros (A,frec0,σ,b) .
Planteamiento del Problema
MPI se encarga de que el nodo master le
entregue a cada nodo un espectro y espere
a que el nodo esclavo devuelva los
párametros.
8 cores
NODOS
ESCLAVOS
DATOS
4 cores
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Índice
5
Resultados
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Conclusiones
Trabajos Futuros
Índice
6
Conclusiones y Trabajos Futuros
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Conclusiones
Trabajos Futuros
Es posible usar computadores comunes para la construcción
de una arquitectura de computo paralelo.
El costo en software es nulo (Linux).
Se logro disminuir el tiempo de procesamiento de los
espectros en un factor inversamente proporcional al número
de procesadores.
Abraham Zamudio
JRO CLUSTER
Radio Observatorio de Jicamarca
Cluster de Computadores Tipo Beowulf
JRO CLUSTER
Ajuste No lineal de espectros de Dispersión Incoherente
Resultados
Conclusiones y Trabajos Futuros
Conclusiones
Trabajos Futuros
Agregar los procesadores (CPU) del Radio Observatorio de
Jicamarca que tengan tiempo ocioso al JRO-Cluster.
Añadir soporte para correr programas hechos con CUDA
Desarrollar un sistema de computo paralelo que incluya a las
computadoras del IGP.
Abraham Zamudio
JRO CLUSTER
Descargar