170 likes | 396 Views
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 : mar@nuclear.inin.mx http:// www.astro.inin.mx /mar. Rock & Roll!!. Sistemas operativos.
E N D
M.A. Rodríguez-Meza InstitutoNacional de InvestigacionesNucleares Cómputoparalelousando MPI: Simulaciones de N-cuerpos en la física Correoelectrónico: mar@nuclear.inin.mx http://www.astro.inin.mx/mar Rock & Roll!! UAEH
Sistemasoperativos • MS-DOS ysimilares: Un usuario un proceso • VMS: Multitask, multiusers, ... • UNIX: igual • ... y ¿Windows? Muli-CHAFA
Linux y el software libre • Fue lo quehizoposible el bum del desarrollo de cómputocientíficobaratoy al “alcance de todos”. • ¡Software libreyabierto! • Pero, ..., ¡entiendaleUds a los códigos! Siguientepaso: Códigoabiertoylibreyteenzeñocomofunciona
Nuestrosintentos en Puebla (1994-1995) • Linux, distribuciónSlackware • MPI, distribución MPICH • Cluster de 4 486 a66Mhz (1995) • La Jauria (2000): Alphas
Ekbek en el CINVESTAV • 64 nodos Pentiums 2.5 Ghz
Tipos de clusters • Memoriadistribuida (Ekbek) • Memoriacompartida (ININ: draco 16 itanium) • Clusters, Granjasy grids • ¿Cúalesmejor?
Ingredientesbásicos • Hardware: Maestro yesclavos, N-computadoras • ComputadoraMaestra: CPU, teclado, ratóny monitor (Aparentemente) • Computadoraesclava (de cómputo): CPU yya (Aparentemente) • Software ... Rocks and Rolls: Sistemaoperativo Linux, lenguages C y Fortran, Visualización, Protocolo MPI, herramientas de administración (el propio Rocks), monitoreo, másdistribuciónyadministración de trabajos.
Rocks and Rolls • Kernel • base • Area51: Utileriasyserviciosparaanalizar la integridad de los archivosy el kernel en el cluster. • ganglia: paramonitorear 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 lasherramientasconfiguradasquepueden ser usadasparacorreraplicaciones en paralelo en el cluster. Los siguientespaquetes son incluidos: MPI sobreambientesethernet (OpenMPI, MPICH, MPICH2); PVM; Benchmarks (stream, iperf, IOzone). • sge: instalayconfigura el administrador de colas SUN Grid Engine. • web-server • java • xen • os disk 1 • os disk 2
Nodo Maestro • Inserte el CD Kernel/Boot Roll yarranque la máquina. • La máquinamuestraunapantalla de bienvenida: Tecleé “build”. • Puede ser necesarioconfigurar IPv4 o IPv6. • Seleccione los Rolls insertandoysacando 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óncomo se le vayanpidiendo. • Comienza la instalación. • Al final se arranca la máquina de nuevo. • ¡¡¡LISTO el NODO Maestro!!!
Nodos de cómputo • Haga login en el nodo maestro como “root”. • Corra el programaquecapturalaspeticiones DHCP de los nodos de cómputoyque pone la información en la base MySQL de Rocks: # insert-ethers • Seleccione el tipo, en nuestrocaso “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 datosyactualiza los archivos de configuración (/etc/hosts, /etc/dhcpd.confy el DNS). • En estemomento se puedemonitorear la instalaciónusando • rocks-console compute-0-0 • Después de haberinstaladatodos los nodos de cómputo en el primer cabinetetermine el proceso: insert-ethers, tecleando F8. • Se puedeagregarotrocabinetetecleando: • Insert-ehters –cabinet-1 • Esonombrará los nodos de cómputocomo “compute-1-0, compute-1-1, …” • Y con estohemosarmadonuestro cluster “BOLAS” y ¡¡¡LISTO a trabajar!!!
Algunastareas 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 lasacciones 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 comandopara un nodo: • # rocks run host compute-0-p “ls /tmp” • o de la siguientemanera: • # ssh compute-0-0 “shutdown –r now” • Para sincronizar a los usuarios (/etc/passwd, /etc/shadow, ..., restart autofs): # rocks sync users • Para sincronizarservicios: • # rocks sync config • Apaga un nodo de computo: • # rocks run host compute-0-0 “shutdown –h now” • Para ponerunaacció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
Algunastareas de administración en Rocks • Un usuario se agrega con: # useradd username # rocks sync users
Agregandoplplot • ./configure –prefix=$HOME/local • make • make install
Un final casi final de esta parte del cursosobreparalelización • TonatiuhdijoqueUds. al final del cursosaldríancorriendo ... en paralelo ... je!
Let´s rocks & rolls!!! Francisco Mario Miguel Ricardo Con el cuarteto del IAC ...