ARQUITECTURAS PARALELAS ARQUITECTURAS PARALELAS
date post
06-Jan-2017Category
Documents
view
249download
1
Embed Size (px)
Transcript of ARQUITECTURAS PARALELAS ARQUITECTURAS PARALELAS
Computacin de Alta PerformanceCurso 2009
ARQUITECTURAS PARALELAS
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
ARQUITECTURAS PARALELAS
CONTENIDO
Arquitecturas secuenciales y paralelas.
Clasificacin de Flynn.
Modelo SIMD.
GPUs.
Modelo SISD.
Modelo SIMD.
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
Modelo SIMD.
Arquitectura MIMD
MIMD con memoria compartida.
MIMD con memoria distribuida.
Factores que determinan la eficiencia
Mquina paralela virtual.
ARQUITECTURAS PARALELAS
Modelo estndar de computacin:
Arquitectura de Von Neumann.
CPU nica.
Ejecuta un programa (nico).
Accede a memoria.
Memoria nica.
Operaciones read/write.
Neumann Jnos
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
Operaciones read/write.
Dispositivos.
Modelo robusto, independiza al programador de la arquitectura subyacente.
Permiti el desarrollo de las tcnicas de programacin (estndar).
Arquitectura de Von Neumann
ARQUITECTURAS PARALELAS
Extendiendo el modelo a la computacin paralela, para lograr abstraer el hardware subyacente.
Existen varias alternativas, genricamente contempladas en el modelo del multicomputador:
Varios nodos (CPUs de Von Neumann). Un mecanismo de interconexin entre los nodos.
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
Multicomputador de memoria distribuida.
Extendiendo el modelo a la computacin paralela ...
Otras alternativas
Computador masivamente paralelo. Muchsimos nodos (sencillas CPUs estilo Von Neumann).
Topologa especfica para interconexin entre los nodos.
ARQUITECTURAS PARALELAS
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
nodos.
Multiprocesador de memoria compartida. Nodos de Von Neumann. Memoria nica.
Cluster. Multiprocesador que utiliza una red LAN como mecanismo de interconexin entre sus nodos.
Considera la manera de aplicacin de las instrucciones y el manejo de los datos.
CATEGORIZACIN DE FLYNN
Instrucciones
SI MI
Datos SD SISD (MISD)
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
Datos SD SISD (MISD)
MD SIMD MIMD
S=single, M=multi, I=Instruccin, D=Datos
Taxonoma de Flynn (1966)
The linked image cannot be displayed. The file may have been moved, renamed, or deleted. Verify that the link points to the correct file and location.
CATEGORIZACIN DE FLYNN
InstruccionesInstrucciones
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
Datos
Datos
Single Instruction Single Data Multiple Instruction Single Data
The linked image cannot be displayed. The file may have been moved, renamed, or deleted. Verify that the link points to the correct file and location.
CATEGORIZACION DE FLYNN
Instrucciones Instrucciones
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
Single Instruction Multiple Data Multiple Instruction Multiple Data
Datos
Datos
SISD - Modelo convencional de Von Neumann.
SIMD - Paralelismo de datos, computacin vectorial.
MISD - Arrays sistlicos.
MIMD Modelo general, varias implementaciones.
CATEGORIZACION DE FLYNN
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
MIMD Modelo general, varias implementaciones.
El curso se enfocar en el modelo MIMD, utilizando procesadores de propsito general o multicomputadores.
MODELO SISD
Mquina de Von Neumann
Un procesador capaz de realizar acciones secuencialmente, controladas por un programa el cual se encuentra almacenado en una memoria conectada al procesador.
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
Este hardware esta diseado para dar soporte al procesamiento secuencial clsico, basado en el intercambio de datos entre memoria y registros del procesador, y la realizacin de operaciones aritmticas en ellos.
MODELO SISD
Algunas mquinas secuenciales modernas no corresponden estrictamente al modelo SISD.
A partir de la introduccin de los procesadores RISC se comenz a utilizar varios conceptos de las arquitecturas paralelas, como pipelining, ejecucin paralela de instrucciones no dependientes, prefetching de los datos, etc.,
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
dependientes, prefetching de los datos, etc., para lograr un incremento en la cantidad de operaciones por ciclo de instruccin.
Pipeline
EL MODELO SISD NO FUE SUFICIENTE
Los problemas crecieron, o surgi la necesidad de resolver nuevos problemas de grandes dimensiones (manejando enormes volmenes de datos, mejorando la precisin de las grillas, etc.).
Si bien las maquinas SISD mejoraron su performance Arquitecturas CISC y RISC.
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
Compiladores optimizadores de cdigo. Procesadores acelerando ciclos de relojes, etc.
An no fue suficiente, y se prev que el ritmo de mejoramiento se desacelere (debido a limitaciones fsicas).
En este contexto se desarrollaron los computadores paralelos.
MODELO SIMD
Array de PEs
CPU
Memoria
Unidad de control
bus de instrucciones
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
Arquitectura SIMD.
PE PE PE PE
PE PE PE PE
PE PE PE PE
PE PE PE PE
Processing Element (PE)
puertos i/oenable
flag
CPU simple
pequea memoria local
n unico programa controla los procesadores.
til en aplicaciones uniformes
Procesamiento de imgenes.
Multimedia.
Aplicaciones numricas sobre grillas.
Su aplicabilidad est limitada por las comunicaciones entre procesadores.
MODELO SIMD
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
comunicaciones entre procesadores.
La topologa de interconexin es fija.
Los elementos de procesamiento tienen capacidad de cmputo limitada (1 bit a 8 bits), por lo que se pueden colocar una gran cantidad por chip (e.g. CM-2 con 64k PEs).
Fueron los primeros multiprocesadores difundidos comercialmente (en la dcada de 1980)
Ejemplos comerciales
Cray X-MP (computador ms potente entre 19831985)
Connection Machine (CM-2, CM-200, dcada de 1980).
MasPar MP2 (inicios de la dcada de 1990).
MODELO SIMD
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
CRAY X-MP/24 Connection Machine CM-2
GPUs
GPU = Graphics Processing Units.
Resurreccin de la arquitectura SIMD.
Motivada por la industria de los juegos y la televisin digital.
Tarjetas de video
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
Tarjetas de video Programables
Lenguaje CG, CUDA. Interfases OpenGL, DirectX.
Paralelas La misma funcin CG se aplica a muchos pixels al mismo tiempo.
GPUs
La evolucin de su performance no respeta la ley de Moore Escalabilidad horizontal y vertical simultanea.
Las aplicaciones de imagenes son "embarrassingly parallel
Detalle:
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
Detalle: Una imagen es una matriz.
Consecuencia: Muy eficientes para calculo cientfico.
PARALLEL PROCESSING WITH CUDAhttp://www.nvidia.com/docs/IO/55972/220401_Reprint.pdf
Varias unidades funcionales ejecutan diferentesoperaciones sobre el mismo conjunto de datos.
Las arquitecturas de tipo pipeline pertenecen a esta clasificacin
aunque no puramente, ya que pueden modificar los datos sobre los que operan.
Systolic arrays, FPGA celulares.
MODELO MISD
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
Systolic arrays, FPGA celulares.
Tambin pertenecen los computadores tolerantes a fallos que utilizan ejecucin redundante paradetectar y enmascarar errores.
No existen otras implementaciones especficas.
Los modelos MIMD y SIMD son ms apropiados para la aplicacin del paralelismo tanto a nivel de datoscomo de control.
Consistieron en el siguiente paso en la evolucin de las arquitecturas paralelas. Fueron lentamente despazando al modelo SIMD.
A diferencia de los modelos SISD y MISD, las computadoras MIMD pueden trabajar asincrnicamente (los procesadores tienen la capacidad de funcionamiento semi-autnomo).
ARQUITECTURA MIMD
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
funcionamiento semi-autnomo).
Existen dos tipos de computadores SIMD, de acuerdo al mecanismo utilizado para comunicacin y sincronizacin: MIMD de memoria compartida (fuertemente acopladas). MIMD de memoria distribuda (poco acopladas).
MIMD CON MEMORIA COMPARTIDA
Memoria global (compartida
por todos los procesadores)
Procesador
Cache
Procesador
Cache
Procesador
Cache
Procesador
CacheProcesador
CacheProcesador
Cache
Bus de datos
COMPUTACIN DE ALTA PERFORMANCE 2009 ARQUITECTURAS PARALELAS
Procesadores autnomos, trabajan asincrnicamente.
Comunicacin entre procesadores a travs del recurso compartido. Comunicacin y sincronizacin se realiza en forma explcita.
Emisor escribe y receptor lee de la memoria global.
Procesador Procesador Procesador
Arquitectura MIMD con memoria compartida.
MIMD CON MEMORIA COMPARTIDA
Fciles de cons