Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porAlicia Villanueva Montoya Modificado hace 8 años
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é?
18
SUPERCOMPUTACIÓN “El alma está en tu cerebro”
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!
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.