Curso: Modelizacin y simulacin matemtica de Curso: Modelizacion y simulaci on matem atica de...

download Curso: Modelizacin y simulacin matemtica de Curso: Modelizacion y simulaci on matem atica de sistemas ... mas SMPs  Una SMP puede

of 15

  • date post

    11-Feb-2018
  • Category

    Documents

  • view

    220
  • download

    5

Embed Size (px)

Transcript of Curso: Modelizacin y simulacin matemtica de Curso: Modelizacion y simulaci on matem atica de...

  • Curso: Modelizacion y simulacion matematica de sistemasMetodologa para su implementacion computacional

    Introduccion HPC

    Esteban E. Mocskos (emocskos@dc.uba.ar)

    Facultad de Ciencias Exactas y Naturales, UBA

    CONICET

    Escuela Complutense Latinoamericana

    E. Mocskos (UBACONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 1 / 15

  • Motivacion

    Por que se llega a HPC?

    We use HPC to solve problems that could not be solved in a reasonnableamount of time using a single desktop computer.

    Los problemas a tratar:

    Toman mucho tiempo de computo

    Necesitan una gran cantidad de memoria RAM

    Se necesita una gran cantidad de corridas (por ejemplo parameter sweeping).

    Tienen restricciones de tiempo para ser completadas.

    E. Mocskos (UBACONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 2 / 15

  • Conceptos

    Modelo de von Neumann

    Se compone de cuatro partes principales:1 Memoria2 Unidad de Control3 Unidad aritmetica logica4 Componentes de entrada/salida (input/output)

    Memoria de acceso aleatoria de lectura y escritura parainstrucciones y datos.

    Los programas son datos codificados que indican a lacomputadora que tiene que hacerLos datos son informacion almacenada que es usada einterpretada por el programa.

    La unidad de control consigue las instrucciones y datos dela memoria, decodifica las instrucciones y luego coordinalas distintas tareas para que las operaciones se realicen.

    La unidad aritmetica se encarga de las operaciones basicasentre numeros enteros

    Los componentes de entrada/salida son la comunicacioncon el universo de los humanos

    E. Mocskos (UBACONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 3 / 15

  • Conceptos

    Ciclo de instruccion

    Una computadora vive realizando el siguiente ciclo:

    1 Fetch: conseguir la siguiente instruccion a ejecutar.2 Decode: a partir de un chorizo de bits (0110 1110 1100

    1100) adivinar de que instruccion se trata.3 Memory fetch: de ser necesario, se deberan conseguir los

    datos requeridos por la instruccion.4 Execute: se ejecuta la instruccion.5 Write back: si fuera necesario, se debera almacenar en

    memoria el resultado de la instruccion.6 y se vuelve a empezar...

    E. Mocskos (UBACONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 4 / 15

  • Memoria

    Ir a buscar datos a memoria no es algo tan sencillo...

    Latencia: es el tiempo que se tardadesde que se hace un pedido hastaque llega la primer parte a destino.

    Ancho de banda: es la velocidad detransferencia una vez que se supero lalatencia inicial.

    E. Mocskos (UBACONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 5 / 15

  • Jerarqua de memoria

    Y la razon principal para esto es... costo!!!

    E. Mocskos (UBACONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 6 / 15

  • Arquitecturas

    Vectorial

    Se basa en tener un unico procesador super-poderoso.

    La idea es aplicar la misma operacion a muchos datos en un solo paso.

    El exponente mas clasico es la Cray I, domino el mercado durante los 80s.

    E. Mocskos (UBACONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 7 / 15

  • Arquitecturas

    Memoria compartida acceso uniforme (UMA)

    Las mas conocidas son las maquinas tipoSymmetric Multiprocessor(SMP)

    Todos los procesadores son identicos entre s

    Acceso uniforme a toda la memoria y mismotiempo de acceso para llegar a cualquier partedel mapa de memoria.

    A veces se las llama CC-UMA (Cache CoherentUMA). La coherencia de cache (Cachecoherency) significa que si un procesadoractualiza el dato almacenado en la memoria,todoss los procesadores se enteran delcambio. La coherencia de cache seimplementa a nivel hardware.

    E. Mocskos (UBACONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 8 / 15

  • Arquitecturas

    Memoria compartida acceso no uniforme (NUMA)

    A menudo se arman conectando dos omas SMPs

    Una SMP puede acceder directamentea la memoria de otra SMP

    No se tienen un tiempo de accesouniforme a todas las partes de lamemoria

    Acceder a traves del link esconsiderablemente mas lento

    Si hubiera coherencia de cache, se lasconoce como CC-NUMA(CacheCoherent NUMA)

    E. Mocskos (UBACONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 9 / 15

  • Arquitecturas

    Memoria compartida

    Ventajas:

    El espacio global de memoria le hace la vida facil al programador.

    Compartir datos entre tareas es rapido y directo.

    Desventajas:

    Falta de escabalibilidad: agregar mas procesadores puede incrementargeometricamente el trafico en el camino memoria-procesador. Para el caso desistemas con coherencia de cache, la complejidad de mantenerla tambien seincrementa geometricamente.

    Es responsabilidad del programador implementar la sincronizacion paraasegurarse el acceso correcto a la memoria global.

    Costo: se vuelve cada vez mas dficil y caro disenar y producir maquinas conmemoria compartida a medida que se aumenta la cantidad de procesadores.

    E. Mocskos (UBACONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 10 / 15

  • Arquitecturas

    Memoria distribuida: clusters

    Requiere una red de comunicacionpara conectar los nodos.

    Cada procesador tiene su propiamemoria local. El espacio de memoriade un procesador no puede accedersedesde otro directamente. No hayespacio global de memoria compartidoentre todos los procesadores.

    Cada procesador opera independientemente del resto: los cambios realizados ensu espacio de memoria no tienen efecto en el resto de los procesadores. No tienesentido pensar en coherencia de cache.

    Cuando un procesador necesita acceder a datos que tiene otro, es tarea delprogramador usar explictamente un mecanismo para transferir ese dato. Lasincronizacion entre las tareas es completa responsabilidad del programador

    La infraestructura de red usada para interconectar el cluster vara desde un switchcomun(Ethernet) hasta equipamiento ultra-especfico(Infiniband).

    E. Mocskos (UBACONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 11 / 15

  • Arquitecturas

    Memoria distribuida

    Ventajas:

    La cantidad de memoria escala con el numero de procesadores. Es posibleincrementar el numero de procesadores y el tamano de la memoriaproporcialmente.

    Cada procesador puede acceder rapidamente a su propia memoria local sininterferencias y sin el overhead que se incurre al tener que mantener lacoherencia de cache.

    Relacion costo-beneficio: se puede usar hardware comun, conocido comooff-the-shelf y obtener una performance muy razonable.

    Desventajas:

    El programador es responsabilidad de muchos detalles (demasiados, diranalgunos) asociados con la comunicacion de datos entre procesos.

    A veces resulta muy complicado adaptar codigo existente basado en memoriacompartida a este arquitectura.

    El tiempo de acceso a los datos no es uniformes (y vara mucho!)

    E. Mocskos (UBACONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 12 / 15

  • Arquitecturas

    Hbridas

    E. Mocskos (UBACONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 13 / 15

  • Arquitecturas

    GPU

    GPU: Graphics Processing Unit

    Se disenaron para graficos generados entiempo real.

    Se hayan presentes en la mayora de las PCs

    Cada vez mas realismo y efectos.

    E. Mocskos (UBACONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 14 / 15

  • Arquitecturas

    GPGPU

    Parece que no hubiera con que darle...

    E. Mocskos (UBACONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 15 / 15

    MotivacinConceptosMemoriaJerarqua de memoriaArquitecturas