La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

César Gómez Martín Supercomputación “El alma está en el cerebro”

Presentaciones similares


Presentación del tema: "César Gómez Martín Supercomputación “El alma está en el cerebro”"— Transcripción de la presentación:

1 César Gómez Martín cesar.gomez@cenits.es www.cenits.es cesar.gomez@cenits.es www.cenits.es Supercomputación “El alma está en el cerebro”

2 ¿Qué es un Supercomputador?

3 Esto tiene tu portátil

4 Supercomputador Los Supercomputadores simplemente son “más rápidos, mas grandes y más fuertes” que tu portátil. – Mas procesadores (+ rápidos) – Mas RAM (+ rápida) – Mas discos (+ rápidos) Consumen + energía Necesitan + mimos – CPD A/C Baterías Grupo Electrógeno Etc.

5 ¿Son todos los Supercomputadores iguales?

6 Tipos de Supercomputadores Se pueden clasificar dependiendo de: – El procesador – La distribución de memoria – La arquitectura de la máquina Se suelen clasificar según la distribución de memoria – Memoria compartida – Memoria distribuida – Híbridos

7 Tipos de Supercomputadores Supercomputadores de memoria compartida – Las CPUs acceden a la misma memoria – Los cambios en memoria afectan a todas las CPUs – Hay 2 tipos UMA y NUMA

8 Tipos de Supercomputadores Computadora de memoria compartida UMA (Uniform Memory Access) – Las CPUs están a la misma distancia de la memoria – Son máquinas SMP (Symmetric MultiProcessor) puras

9 Tipos de Supercomputadores Supercomputador de memoria compartida NUMA (Non- Uniform Memory Access) – Las CPUs *no* están a la misma distancia de la memoria – A veces son máquinas SMP interconectadas

10 Tipos de Supercomputadores HP Integrity Superdome sx2000 – Arquitectura ccNUMA – 128 núcleos con acceso a la misma memoria – 2TB de memoria RAM

11 Tipos de Supercomputadores Supercomputadores con memoria compartida: – Ventajas Fáciles de programar Compartir datos entre procesos o threads es fácil y muy rápido – Desventajas Es muy caro hacer computadoras con muchas CPUs

12 Tipos de Supercomputadores Supercomputadores con memoria distribuida: – Cada CPU tiene su propia memoria local – La memoria local de una CPU no es visible por las demás CPUs – La información se comparte a través de una red de comunicaciones

13 Tipos de Supercomputadores Supercomputadores con memoria distribuida: – Ventajas: El coste es “lineal” en cuanto al número de CPUs – Desventajas: El programador es responsable de las comunicaciones La red de comunicaciones suele ser el “cuello de botella” La paralelización de programas puede no ser trivial

14 Tipos de Supercomputadores Supercomputadores híbridos: – Grupos de CPUs comparten una misma memoria – Los grupos de CPU se comunican a través de una red – Suelen ser máquinas SMP conectadas entre sí

15 Tipos de Supercomputadores Supercomputador híbrido: – Ventajas La escalabilidad entre CPUs y memoria es buena El coste es “lineal” con el número de grupos de CPUs La red de comunicaciones no es crítica – Desventajas El programador es responsable de la sincronía entre nodos La paralelización puede no ser trivial

16 Tengo un Supercomputador ¿Y ahora qué?

17

18 SUPERCOMPUTACIÓN “El alma está en tu cerebro”

19

20 Tengo que pensar en paralelo PROGRAMACIÓN PARALELA

21 Programación Paralela Normalmente los programas realizan cálculos en serie: – Se ejecutan en un ordenador con una única CPU – Las instrucciones se ejecutan secuencialmente – Una única instrucción se ejecuta a la vez

22 Programación Paralela La programación paralela consiste en usar varios recursos de forma simultánea para resolver un problema: – El problema se divide en partes – Se ejecutan en un ordenador con varias CPUs – Cada parte se ejecuta simultáneamente

23 Programación Paralela

24 ¿Se puede programar todo en paralelo?

25 ¿Qué puedo programar en paralelo? Hay problemas paralelizables y no paralelizables: – Problema paralelizable: calcular el potencial de energía de cientos de conformaciones posibles de una molécula

26 ¿Qué puedo programar en paralelo? Hay problemas paralelizables y no paralelizables: – Problema *no* paralelizable: Cálculo de la serie de Fibonacci mediante su fórmula de recurrencia

27 ¿Qué puedo programar en paralelo? Ejemplos de aplicaciones paralelizables: – Conversión a grises de una imagen La aplicación de un filtro a un píxel no depende de los píxeles vecinos

28 ¿Qué puedo programar en paralelo? Ejemplos de aplicaciones paralelizables: – Cálculo de integral definida: – Se puede descomponer en:

29 ¿Qué consigo programando en paralelo?

30 Programando en paralelo consigo: Resultados en menos tiempo (wall clock time) Solución a problemas mas grandes/complejos Posibilidad de realizar barridos paramétricos Estudio de diferentes variantes del problema

31 Ejemplo: Cálculo de números primos Calcular cuántos primos hay en los primeros 100.000.000 de números – Serie – Paralelo

32 Ejemplo: Juego de la Vida de Conway Célula con menos de 2 vecinos muere (despoblación) Célula con 2 ó 3 vecinos vive en la siguiente generación. Célula con mas de 3 vecinos muere (sobrepoblación) Una célula muerta con 3 vecinos vive se convierte en célula viva (reproducción)

33 ¿Preguntas?

34 César Gómez Martín cesar.gomez@cenits.es www.cenits.es cesar.gomez@cenits.es www.cenits.es ¡MUCHAS GRACIAS!


Descargar ppt "César Gómez Martín Supercomputación “El alma está en el cerebro”"

Presentaciones similares


Anuncios Google