Curso: Modelización y simulación matemática de Curso: Modelizacion y...

15
Curso: Modelizaci ´ on y simulaci´ on matem ´ atica de sistemas Metodolog´ ıa para su implementaci ´ on computacional Introducci ´ on HPC Esteban E. Mocskos ([email protected]) Facultad de Ciencias Exactas y Naturales, UBA CONICET Escuela Complutense Latinoamericana E. Mocskos (UBA–CONICET) Modelizaci ´ on y simulaci´ on matem ´ atica de sistemas Escuela Complutense Latinoamericana 1 / 15

Transcript of Curso: Modelización y simulación matemática de Curso: Modelizacion y...

Page 1: Curso: Modelización y simulación matemática de Curso: Modelizacion y simulaci´ on matem´ atica de sistemas ... mas SMPs ´ Una SMP puede ... · 2012-2-9

Curso: Modelizacion y simulacion matematica de sistemasMetodologıa para su implementacion computacional

Introduccion HPC

Esteban E. Mocskos ([email protected])

Facultad de Ciencias Exactas y Naturales, UBA

CONICET

Escuela Complutense Latinoamericana

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

Page 2: Curso: Modelización y simulación matemática de Curso: Modelizacion y simulaci´ on matem´ atica de sistemas ... mas SMPs ´ Una SMP puede ... · 2012-2-9

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 (UBA–CONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 2 / 15

Page 3: Curso: Modelización y simulación matemática de Curso: Modelizacion y simulaci´ on matem´ atica de sistemas ... mas SMPs ´ Una SMP puede ... · 2012-2-9

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 (UBA–CONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 3 / 15

Page 4: Curso: Modelización y simulación matemática de Curso: Modelizacion y simulaci´ on matem´ atica de sistemas ... mas SMPs ´ Una SMP puede ... · 2012-2-9

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 (UBA–CONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 4 / 15

Page 5: Curso: Modelización y simulación matemática de Curso: Modelizacion y simulaci´ on matem´ atica de sistemas ... mas SMPs ´ Una SMP puede ... · 2012-2-9

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 (UBA–CONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 5 / 15

Page 6: Curso: Modelización y simulación matemática de Curso: Modelizacion y simulaci´ on matem´ atica de sistemas ... mas SMPs ´ Una SMP puede ... · 2012-2-9

Jerarquıa de memoria

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

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

Page 7: Curso: Modelización y simulación matemática de Curso: Modelizacion y simulaci´ on matem´ atica de sistemas ... mas SMPs ´ Una SMP puede ... · 2012-2-9

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 (UBA–CONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 7 / 15

Page 8: Curso: Modelización y simulación matemática de Curso: Modelizacion y simulaci´ on matem´ atica de sistemas ... mas SMPs ´ Una SMP puede ... · 2012-2-9

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 (UBA–CONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 8 / 15

Page 9: Curso: Modelización y simulación matemática de Curso: Modelizacion y simulaci´ on matem´ atica de sistemas ... mas SMPs ´ Una SMP puede ... · 2012-2-9

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 (UBA–CONICET) Modelizacion y simulacion matematica de sistemas Escuela Complutense Latinoamericana 9 / 15

Page 10: Curso: Modelización y simulación matemática de Curso: Modelizacion y simulaci´ on matem´ atica de sistemas ... mas SMPs ´ Una SMP puede ... · 2012-2-9

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 dıficil y caro disenar y producir maquinas conmemoria compartida a medida que se aumenta la cantidad de procesadores.

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

Page 11: Curso: Modelización y simulación matemática de Curso: Modelizacion y simulaci´ on matem´ atica de sistemas ... mas SMPs ´ Una SMP puede ... · 2012-2-9

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 explicıtamente un mecanismo para transferir ese dato. Lasincronizacion entre las tareas es completa responsabilidad del programador

La infraestructura de red usada para interconectar el cluster varıa desde un switchcomun(Ethernet) hasta equipamiento ultra-especıfico(Infiniband).

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

Page 12: Curso: Modelización y simulación matemática de Curso: Modelizacion y simulaci´ on matem´ atica de sistemas ... mas SMPs ´ Una SMP puede ... · 2012-2-9

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, dirıanalgunos) 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 varıa mucho!)

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

Page 13: Curso: Modelización y simulación matemática de Curso: Modelizacion y simulaci´ on matem´ atica de sistemas ... mas SMPs ´ Una SMP puede ... · 2012-2-9

Arquitecturas

Hıbridas

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

Page 14: Curso: Modelización y simulación matemática de Curso: Modelizacion y simulaci´ on matem´ atica de sistemas ... mas SMPs ´ Una SMP puede ... · 2012-2-9

Arquitecturas

GPU

GPU: Graphics Processing Unit

Se disenaron para graficos generados entiempo real.

Se hayan presentes en la mayorıa de las PCs

Cada vez mas realismo y efectos.

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

Page 15: Curso: Modelización y simulación matemática de Curso: Modelizacion y simulaci´ on matem´ atica de sistemas ... mas SMPs ´ Una SMP puede ... · 2012-2-9

Arquitecturas

GPGPU

Parece que no hubiera con que darle...

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