cómputo paralelo usando mpi: simulaciones de n- cuerpos en la física

17
Cómputo paralelo usando MPI: Simulaciones de N-cuerpos en la física M.A. Rodríguez-Meza Instituto Nacional de Investigaciones Nucleares reo electrónico: [email protected] p://www.astro.inin.mx/mar Rock & Roll!! 1 18/08/09 UAEH

Upload: arin

Post on 14-Jan-2016

55 views

Category:

Documents


0 download

DESCRIPTION

M.A. Rodr íguez -Meza Instituto Nacional de Investigaciones Nucleares. Cómputo paralelo usando MPI: Simulaciones de N- cuerpos en la física. Correo electr ónico : [email protected] http:// www.astro.inin.mx /mar. Rock & Roll!!. Sistemas operativos. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Cómputo paralelo usando  MPI:  Simulaciones  de N- cuerpos  en la  física

UAEH 1

Cómputo paralelo usando MPI: Simulaciones de N-cuerpos en la física

M.A. Rodríguez-MezaInstituto Nacional de Investigaciones Nucleares

Correo electrónico: [email protected]://www.astro.inin.mx/mar

Rock & Roll!!18/08/09

Page 2: Cómputo paralelo usando  MPI:  Simulaciones  de N- cuerpos  en la  física

2

Sistemas operativos

• MS-DOS y similares: Un usuario un proceso

• VMS: Multitask, multiusers, ...• UNIX: igual

• ... y ¿Windows? Muli-CHAFA

Page 3: Cómputo paralelo usando  MPI:  Simulaciones  de N- cuerpos  en la  física

3

Linux y el software libre

• Fue lo que hizo posible el bum del desarrollo de cómputo científico barato y al “alcance de todos”.

• ¡Software libre y abierto!

• Pero, ..., ¡entiendale Uds a los códigos!

Siguiente paso: Código abierto y libre y te enzeño como funciona

Page 4: Cómputo paralelo usando  MPI:  Simulaciones  de N- cuerpos  en la  física

4

Nuestros intentos en Puebla (1994-1995)

• Linux, distribución Slackware• MPI, distribución MPICH• Cluster de 4 486 a 66 Mhz (1995)• La Jauria (2000): Alphas

Page 5: Cómputo paralelo usando  MPI:  Simulaciones  de N- cuerpos  en la  física

5

Ekbek en el CINVESTAV

• 64 nodos Pentiums 2.5 Ghz

Page 6: Cómputo paralelo usando  MPI:  Simulaciones  de N- cuerpos  en la  física

6

Tipos de clusters• Memoria distribuida (Ekbek)• Memoria compartida (ININ: draco 16

itanium)

• Clusters, Granjas y grids

• ¿Cúal es mejor?

Page 7: Cómputo paralelo usando  MPI:  Simulaciones  de N- cuerpos  en la  física

7

Configuración física de un cluster

Page 8: Cómputo paralelo usando  MPI:  Simulaciones  de N- cuerpos  en la  física

8

Ingredientes básicos• Hardware: Maestro y esclavos, N-computadoras

• Computadora Maestra: CPU, teclado, ratón y monitor (Aparentemente)• Computadora esclava (de cómputo): CPU y ya (Aparentemente)

• Software ... Rocks and Rolls: Sistema operativo Linux, lenguages C y Fortran, Visualización, Protocolo MPI, herramientas de administración (el propio Rocks), monitoreo, más distribución y administración de trabajos.

Page 9: Cómputo paralelo usando  MPI:  Simulaciones  de N- cuerpos  en la  física

9

Rocks

Page 10: Cómputo paralelo usando  MPI:  Simulaciones  de N- cuerpos  en la  física

10

Rocks and Rolls• Kernel• base• Area51: Utilerias y servicios para analizar la integridad de los archivos y el kernel en el

cluster. • ganglia: para monitorear al cluster. Un valor individual a ser monitoreado se llama metric

en el sistema Ganglia. Los metrics son medidos en los nodos del cluster y Ganglia los comunica al nodo maestro.

• hpc: proveer con las herramientas configuradas que pueden ser usadas para correr aplicaciones en paralelo en el cluster. Los siguientes paquetes son incluidos: MPI sobre ambientes ethernet (OpenMPI, MPICH, MPICH2); PVM; Benchmarks (stream, iperf, IOzone).

• sge: instala y configura el administrador de colas SUN Grid Engine.• web-server• java• xen• os disk 1• os disk 2

Page 11: Cómputo paralelo usando  MPI:  Simulaciones  de N- cuerpos  en la  física

11

Nodo Maestro• Inserte el CD Kernel/Boot Roll y arranque la máquina.• La máquina muestra una pantalla de bienvenida: Tecleé “build”.• Puede ser necesario configurar IPv4 o IPv6.• Seleccione los Rolls insertando y sacando los CD’s correspondientes. (Lo mínimo: kernel, base, web-

server, os-1 y os-2).• Introduzca la info correspondiente a la configuración del Maestro: Host name (requerido), cluster

name, Latitude/Longitud (N19.20/W99.10), etc. • Configure la red, eth0 (local: 10.1.1.1) y eth1 (mundo exterior: (DHCP)).• Introduzca el password de root.• Configure el tiempo.• Establezca la partición del disco.

• ... (6:24 – 6:33 – 6:55 )

• Inserte los CD’s de instalación como se le vayan pidiendo.• Comienza la instalación.• Al final se arranca la máquina de nuevo.• ¡¡¡LISTO el NODO Maestro!!!

Page 12: Cómputo paralelo usando  MPI:  Simulaciones  de N- cuerpos  en la  física

12

Nodos de cómputo• Haga login en el nodo maestro como “root”.• Corra el programa que captura las peticiones DHCP de los nodos de cómputo y que pone la información en la

base MySQL de Rocks:# insert-ethers

• Seleccione el tipo, en nuestro caso “Compute”, hago “OK” y ...• Arranque el primer nodo de cómputo. Antes cambie el orden de los dispositivos a: PXE, CD, HD. (Pulse F2 al

momento del arranque).• Cuando el nodo maestro recive la petición de DHCP hace la asignación en la base de datos y actualiza los

archivos de configuración (/etc/hosts, /etc/dhcpd.conf y el DNS).• En este momento se puede monitorear la instalación usando

– rocks-console compute-0-0

• Después de haber instalada todos los nodos de cómputo en el primer cabinete termine el proceso: insert-ethers, tecleando F8.

• Se puede agregar otro cabinete tecleando:– Insert-ehters –cabinet-1

• Eso nombrará los nodos de cómputo como “compute-1-0, compute-1-1, …”

• Y con esto hemos armado nuestro cluster “BOLAS” y ¡¡¡LISTO a trabajar!!!

Page 13: Cómputo paralelo usando  MPI:  Simulaciones  de N- cuerpos  en la  física

13

Algunas tareas de administración en Rocks

• La ayuda se obtiene con:# rocks list help

• Alias a un nodo de cómputo:# rocks add host alias compute-0-0 c-0-0

• La lista de nodos:# rocks list host {alias}

• Listado de las acciones de arranque:# rocks list host boot

• Listado de la partición de un nodo:# rocks list host partition compute-0-0

• Listado de la información de la red:# rocks list network

• Listado de los Rolls:# rocks list roll

• Corre un comando para un nodo:# rocks run host compute-0-p “ls /tmp”

o de la siguiente manera:

# ssh compute-0-0 “shutdown –r now”

• Para sincronizar a los usuarios (/etc/passwd, /etc/shadow, ..., restart autofs):# rocks sync users

• Para sincronizar servicios:# rocks sync config

• Apaga un nodo de computo:• # rocks run host compute-0-0 “shutdown –h now”

• Para poner una acción al arranque de un nodo:# rocks set host installaction compute-0-0 install

o

# rocks set host compute-0-0 action=install

• Para remover un nodo:# rocks remove host compute-0-1# rocks sync config

Page 14: Cómputo paralelo usando  MPI:  Simulaciones  de N- cuerpos  en la  física

14

Algunas tareas de administración en Rocks

• Un usuario se agrega con:# useradd username# rocks sync users

Page 15: Cómputo paralelo usando  MPI:  Simulaciones  de N- cuerpos  en la  física

15

Agregando plplot

• ./configure –prefix=$HOME/local• make• make install

Page 16: Cómputo paralelo usando  MPI:  Simulaciones  de N- cuerpos  en la  física

16

Un final casi final de esta parte del curso sobre paralelización

• Tonatiuh dijo que Uds. al final del curso saldrían corriendo ... en paralelo ... je!

Page 17: Cómputo paralelo usando  MPI:  Simulaciones  de N- cuerpos  en la  física

17

Let´s rocks & rolls!!!MiguelRicardo

Francisco Mario

Con el cuarteto del IAC ...