Linux Week PUCP 2006downloads.tuxpuc.pucp.edu.pe/linuxweek2006/lwp-clusters.pdf · 2011. 7. 26. ·...

32
Linux Week PUCP 2006 Richard Miguel San Martín rmiguel@senamhi.gob.pe “Computación de Alto Rendimiento en Linux”

Transcript of Linux Week PUCP 2006downloads.tuxpuc.pucp.edu.pe/linuxweek2006/lwp-clusters.pdf · 2011. 7. 26. ·...

  • Linux Week PUCP 2006

    Richard Miguel San Martín

    [email protected]

    “Computación de Alto Rendimiento en Linux”

  • Agenda

    • Computación Científica• Computación Paralela• High Performance Computing• Grid Computing• Referencias

  • Computación Científica

    La computación científica siempre ha cumplido un rol importante en el desarrollo de la computación como ciencia.Inicialmente se desarrolló en el ámbito de computación para cálculo intensivo.

    Las principales aplicaciones usadas eran compiladores como ForTran y aplicaciones desarrolladas en laboratorios de universidades y en grupos reducidos.

    Con el tiempo la computación científica fue abriéndose campo en otras áreas mas comerciales y en la actualidad se usa en casi todos los ámbitos.

  • Como ejecutar una aplicación mas rápido?

    Existen tres maneras de mejorar el rendimiento:• Trabajar Duro.• Trabajar mas rápido.• Pedir Ayuda.

    En términos computacionales:• Usar hardware mas rápido.• Optimizar algoritmos y usar técnicas para resolver tareas computacionales.• Múltiples computadoras para resolver una tarea especifica.

    Es decir … COMPUTACION EN PARALELO!!!

  • Computación Paralela

    Computación Paralela es el uso de múltiples procesadores o múltiples computadores trabajando juntos para realizar una tarea común.

    - Cada procesador trabaja en una sección del problema.- Los procesadores intercambian datos para resolver el problema.

    Mesh of problem to be solved

    CPU #1 works on this area of the problem

    CPU #3 works on this areaof the problem

    CPU #4 works on this areaof the problem

    CPU #2 works on this areaof the problem

    y

    x

    exchange

    exchange

    exchange exchangeexchange

  • Computadores en Paralelo

    • Taxonomía de Flynn nos ayuda a clasificar este tipo de computadores:

    • Se basa en dos criterios:• Data Stream• Instruction Stream

  • Otras consideraciones

    Memoria: Que clase de Memoria?

    Red: Cuantos procesadores están interconectados?

    Granularidad Gruesa (Parallel Vectorial Processing)• Son pocos pero poderosos (Procesadores Vectoriales)

    Granularidad Fina (Massively Parallel Processors)• Son muchos pero no muy potentes (Procesadores RISC)

    Paradigma de la Programación:

    Que Clase de estilo de programación es posible enesta maquina?

  • Como esta organizada la memoria?

    Memoria Privada y Paso de Mensajes

    Multicomputadores

    Memoria Compartida

    Multiprocesadores (SMPs)

  • Como esta organizada la memoria?

    -Cada CPU tiene

  • High Performance Computing

    Donde usarla?

    En problemas que signifiquen grandes retos.• Simulaciones Biológicas (Bioinformática).• Predicción del Tiempo y Clima.• Dinámica de Fluidos.

    Requerimientos de Cómputo y Memoria:• Una simulación usando códigos de secuencias de proteínas -> 32 GB RAM.• Modelos de pronostico de Tiempo a 48 horas -> 10 15 operaciones de punto flotante (float).

    En modernas estaciones de trabajo (2 Gflops) se puede llegar a las 300 horas de calculo.

  • Unidades de Medida en High Performance Computing

    Velocidad del procesador:

    • floats: operaciones de punto flotante / segundo.• Megaflops / Gigaflops / Teraflops / Petaflops

    Velocidad de la red:

    • 10 Mbit/100mbit / 1000 Mbit=1 Gbit

    Unidad de Tamaño : byte

    • kbyte/Mbyte ----> caches/RAM• Gigabite -----> RAM/hard disks• Terabyte -----> Disks/SAN ...• Petabyte ------> SAN

  • Cluster de Computadores y su Arquitectura

    Definición:

    Es un tipo de sistema paralelo o de procesamiento distribuido, el cual consiste de un grupo de computadores independientesinterconectados entre si, trabajando cooperativamente comoun único recurso de computación integrado.

  • Clasificación de Clusters : Cuales son las Aplicaciones?

    Aplicaciones de Misión Critica:

    • Sistemas de control de comando.• Bancos, E- Commerce.

    High Availibility (HA)Clusters

    Aplicaciones Científicas:

    High Performance (HP)Clusters

    Clusters Paralelos (Beowulf)

    Aplicaciones Paralelizadas

    Clusters HT (High Troughput)

    (OpenMosix)Aplicaciones Seriales

  • Que se necesita para construir un cluster?

  • La Red en HPC

    LatenciaQue tanto tiempo se demora en abrir el canal de comunicación?.

    Ancho de bandaQue cantidad de datos pueden ser transmitidos en una unidad de tiempo.

  • Software Libre en HPC

    Sistema Operativo Linux Clusters Tools (ROCKS, Oscar) - http://oscar.openclustergroup.org/ - http://www.cs.wisc.edu/~zandy/rocks/MPICH - http://www-unix.mcs.anl.gov/mpi/mpich/OpenMosix - http://openmosix.sourceforge.net/PVFS - http://www.parl.clemson.edu/pvfs/Ganglia - http://ganglia.sourceforge.net/

    http://oscar.openclustergroup.org/http://www.cs.wisc.edu/~zandy/rocks/http://www-unix.mcs.anl.gov/mpi/mpich/http://openmosix.sourceforge.net/http://www.parl.clemson.edu/pvfs/http://ganglia.sourceforge.net/

  • HPC en SENAMHI

    Cluster Beowulf de 30 nodos. - CPU P4 2.8 Ghz. - 256 MB RAM cada nodo. - 60 GB HD cada nodo. - Red Fast Ethernet. - S.O. Red Hat Linux.

    Aplicación:

    Modelamiento climático a largo plazo mediante generación de escenarios para 50 años.Proyecto PROCLIM

  • Proyecto PROCLIM

    El SENAMHI está participando en el proyecto PROCLIM , en conjunto con otras instituciones con el objetivo de mejorar las capacidad nacional de respuesta a fenómenos climáticos que afecten a nuestro país, así como el mejoramiento del aire.

    La tarea del SENAMHI en este proyecto es generar escenarios climáticos que permitan prever el cambio climático en los siguientes 50 años.

    Para realizar esta actividad es necesario usar modelos numéricos de clima que, basándose en ecuaciones matemáticas, permiten obtener pronósticos a largo plazo.

  • Nuestra aplicación

    • Modelo Numérico basado en ecuaciones diferenciales que asociadas con diferentes variables realizan un análisis del estado de la atmósfera y permite inferir pronósticos a largo plazo.

    • Permite realizar pronósticos en dominios con muy alta resolución.

    • Desarrollado por ATMET http://www.atmet.com

    • Código escrito en Fortran y se encuentra paralelizado.

    • Realiza comunicación nodo maestro – nodos esclavos, internodos y bidireccional también.

    http://www.atmet.com/

  • Nuestra aplicación

    • Para la paralelización del código serial este fue dividido en dos tipos:

    • Master process: (Inicialización y todas las funciones de I/O)• Node compute process: (all computation).

    • No es necesario que los archivos de salida se almacenen en los nodos, ya que estos retornan al nodo principal.

    • Esta centralización facilita las tareas de respaldo de datos.

  • Algunos resultados

    Forecast of winds and temperature on Piura domain for 2016 April.

    Forecast of winds and temperature on Mantaro domain for 2016 April.

  • Pruebas de Rendimiento

    0 2,5 5 7,5 10 12,5 15 17,5 20 22,5 25 27,54

    6

    8

    10

    12

    14

    16

    18

    20

    22

    24

    26

    28

    30

    Test of Simulation RAMS model domain Peru 60 km. F.T. 1 day

    Column H

  • HPC en SENAMHI

    Cluster de 7 nodos. - HP DL140 2P Intel Xeon. - 1 GB RAM cada nodo. - 80 GB SATA HD cada nodo. - Red Gigabit Ethernet. - S.O. Red Hat Enterprise Linux v. 3.0. / CentOS. - SAN HP MSA1000 7 x 148 GB SCSI

    Aplicación:

    Modelamiento de sequías para cuencas prioritarias del Perú.Proyecto Sequías SENAMHI – INDECI.

  • Grid Computing

    El término “Grid” en computación es un símil al termino “malla” en terminología eléctrica.Esto es, que desde cualquier punto de una red, cualquier usuario puede hacer uso de toda la potencia de esta.

    También se conoce como computación distribuida.

  • University of Texas Model Grid

  • Grid Computing

    Ventajas

    - Eficiente uso de recursos de computo ya que permite ahorrar dinero.- Disminuye el tiempo de respuesta para aplicaciones grandes.- Compartir recursos para acceder a mayores recursos de computo (procesamiento, memoria y almacenamiento.

    Desventajas

    - Exige tiempo dedicado a la instalación, configuración y pruebas de software.- Probables problemas de migración de aplicaciones para portarlas al Grid.- Largas sesiones de negociación y políticas de uso.- Exige entrenamiento para el personal de staff y usuarios.

  • Principales Proyectos de Grid Computing

    http://www.eurogrid.org/ http://www.eela-grid.org/

    http://www.teragrid.org/ http://styx.esrin.esa.it/grid/

    http://www.eela-grid.org/http://www.teragrid.org/http://www.eu-datagrid.org/

  • Sistema Operativo Linux Globus Toolkit http://www.globus.org Condor http://www.cs.wisc.edu/condor/MPICH http://www-unix.mcs.anl.gov/mpi/mpich/

    Software Libre en Grid Computing

  • Referencias

    • http://www.beowulf.org• http://www.openmosix.org• http://www.linux-ha.org/• http://www.top500.org/• http://www-1.ibm.com/grid/• http://www.gridforum.org/• http://www.sun.com/software/grid/• http://lcic.org/• http:///www.eu-eela.org/

    http://www.beowulf.org/http://www.beowulf.org/http://www.openmosix.org/http://www.linux-ha.org/http://www.linux-ha.org/http://www.top500.org/http://www-1.ibm.com/grid/http://www.gridforum.org/http://www.gridforum.org/http://www.sun.com/software/grid/http://lcic.org/http://lcic.org/

  • [email protected]@usmp.edu.pe

    mailto:[email protected]