Contenido
Prefacio
Qué es la Computación de Alto Rendimiento?
Computación Paralela
Computación Distribuida, Computación Grid, y más
Futura tendencia en HPC
Propósito
Propósito del curso:
Educar a los investigadores acerca del valor e impacto de las técnicas de computación de alto rendimiento (HPC) y tecnologías en ciencias computacionales e Ingeniería
Educar a los investigadores acerca de las técnicas y herramientas de computación paralela, y mostrar las posiblidades que presentan éstas mediante computación distribuida y Computación Grid
Metas
Las metas de esta presentación son ayudar a:
Entender en que se basa la computación de alto rendimiento
Desarrollar un comprensivo entendimeinto sobre la computación paralela
Comenzar a entender cómo la computación Grid y Distribuida realzarán en el futuro las capacidades de las ciencias computacionales
‘Supercomputación’
Primero, los sistemas HPC fueron sistemas basados en vectores (e.g. Cray)
llamados ‘supercomputadores’ porque ellos eran un orden de magnitud más poderosos que los sistemas comerciales
Ahora, un ‘supercomputador’ está formado por computadores pequeños
Los sistemas grandes son versiones escaladas de sistemas pequeños
Sin embargo, la ‘Computación de Alto Rendimiento tiene varios significados
Definiendo HPC
Computación de Alto Rendimiento:
Puede significar muchas Flop
Por procesador
En total sobre varios procesadores trabajando sobre un mismo problema
En total sobre varios procesadores trabajando sobre problemas relacionados
Puede significar rápidez de ejecución
Sistemas más poderosos
Usando multiples sistemas simultáneamente
Mi Definición
HPC: Cualquier técnica computacional que soluciona un problema grande de forma más rápida que usando posiblemente sistemas simples
Procesadores de alto redimiento (e.g. Cray, NEC)
Computación Paralela
Computación Distribuida
Computación Grid
Mi Definición
Computación Paralela: sistemas simples con varios procesadores trabajando sobre el mismo problema
Computación Distribuida: varios sistemas acoplados por un secuenciador de trabajo sobre problemas relacionados
Computación Grid: varios sistemas acoplados por software y redes para trabajar en conjunto en poblemas simples o en problemas relacionados
Importancia de HPC
HPC ha tenido tremendo impacto sobre todas las areas de ciencias computacionales e ingenieria en la academia, gobierno e industria.
Muchos problemas han sido solucionados con técnicas de HPC que eran imposibles de solucionar con estaciones de trabajo individuales o computadores personales.
Qué es un Computador Paralelo?
Computación Paralela: el uso de multiples computadores o procesadores trabajando en conjunto sobre una tarea común
Computador Paralelo: un computador que contiene multiples procesadores:
Cada procesador trabaja sobre su sección del problema
Los procesadores permiten intercambio de información con otros procesadores
Computadores Paralelos vs. Seriales
Dos grandes ventajas de los computadores paralelos:
Rendimiento
Memoria
Los computadores Paralelos son capaces de resolver problemas que:
Requerien una rápida solución
Requieren gran cantidad de memoria
Ejemplo que requiere ambas: predicción de clima
Computadores Paralelos vs. Seriales
Algunos beneficios de los computadores paralelos:
muchos datos
dominios muy grandes
búsqueda de soluciones en regiones muy grandes
muchas particulas
muchos pasos de tiempo
largas ejecuciones
mejor resolución temporal
ejecución más rápida
tiempo más rápidos para obtener solución
muchas soluciones al mismo tiempo
largas simulaciones en tiempo real
Rendimento de un Computador Serial
Aunque la Ley de Moore’s ‘predice’ que el rendimiento de un simple procesador se dobla cada 18 meses, los limites físicos de la tecnología serán alcanzados
Tipos de Computadores Paralelos
La manera más simple y útil para clasificar los computadores paralelos modernos es por su modelo de memoria:
memoria compartida
memoria distribuida
P
P
P
P
P
P
BUS
Memory
M
P
M
P
M
P
M
P
M
P
M
P
Network
Memoria Compartida – Un espacio simple de direccionamiento. Todos los procesadores tienen acceso a un pool de memoria compartida. (Eje.: SGI Origin, Sun E10000)
Memoria Distribuida – cada procesador tiene su propia memoria local. Se debe hacer paso de mensaje para intercambiar datos entre procesadores. (Eje.: CRAY T3E, IBM SP, clusters)
Compartida vs. Distribuida
P
P
P
P
P
P
BUS
Memory
Acceso Uniforme a Memoria (UMA): Cada procesador tiene un acceso uniforme a memoria. También conocido como multiprocesadores simétricos, o SMPs (Sun E10000)
P
P
P
P
BUS
Memory
P
P
P
P
BUS
Memory
Network
Acceso No-Uniforme a Memoria (NUMA): El tiempo de acceso depende de la ubicación de los datos. Los accesos locales son más rápidos. Son más fácilmente escalables que SMPs (SGI Origin)
Memoria Compartida: UMA vs. NUMA
Memoria Distribuida: MPPs vs. Clusters
Nodos Procesador-memoria son conectados por algún tipo de red de interconexión
Procesador Masivamente Paralelo (MPP): completamente integrado, imágen de un sistema simple.
Cluster: computadores individuales conectados por un s/w
(Gp:) CPU
MEM
(Gp:) CPU
MEM
(Gp:) CPU
MEM
(Gp:) CPU
MEM
(Gp:) CPU
MEM
(Gp:) CPU
MEM
(Gp:) CPU
MEM
(Gp:) CPU
MEM
(Gp:) CPU
MEM
Interconnect
Network
Página siguiente |