Sei sulla pagina 1di 49

Procesamiento Paralelo

Arquitecturas de Computadoras Paralelas Javier Iparraguirre


Universidad Tecnol ogica Nacional, Facultad Regional Bah a Blanca 11 de Abril 461, Bah a Blanca, Argentina javierip@ieee.org http://www.frbb.utn.edu.ar/hpc/

March 22, 2011

Elementos M nimos de una Computadora Paralela [1]

Hardware

M ultiples procesadores M ultiples memorias Interconexi on Sistema operativo paralelo Herramientas

Software del sistema


Aplicaciones

Objetivo
Resolver el problema lo mas r apido posible de manera eciente

Dos Miradas a la Misma Realidad

Organizaci on L ogica

Lo que ve el usuario de la m aquina a trav es del software El hardware de la m aquina

Organizaci on F sica

La arquitectura f sica es independiente de la arquitectura l ogica Es necesario conocer el hardware si queremos que el software corra de forma eciente

Dos Miradas a la Misma Realidad

Organizaci on L ogica

Lo que ve el usuario de la m aquina a trav es del software El hardware de la m aquina

Organizaci on F sica

La arquitectura f sica es independiente de la arquitectura l ogica Es necesario conocer el hardware si queremos que el software corra de forma eciente La computadora ideal es aquella que nos oculta los detalles f sicos (si la ven, avisen!)

Lo que Viene

Tipos de computadoras paralelas Modelos de Memoria Interconexi on y Topolog as Costos comunicaciones M etricas Mapeos B asicos Procesadores actuales y clasicaciones Nota: Parte del material es cortes a de https://computing.llnl.gov/tutorials/parallel_comp/

Arquitectua von Neumann (1945)

Arquitectua von Neumann (1945)

Cuatro componentes principales


memoria Unidad de Control Unidad aritm etica Entrada/Salida

I/O: memoria de acceso aleatorio para almacenar datos e instrucciones La unidad de control trae instrucciones y datos de la memoria, decodica las instrucciones y secuencialmente coordina las operaciones para llevar a cabo la tarea programada La Unidad aritm etica realiza las operaciones aritm eticas b asicas La entrada/salida es la interfaz con el humano Cache: Ideas? Comentarios? Saben porqu e?

Taxonom a de Flynn (1966)

Se separan las instrucciones y los datos en dos dimensiones Pueden ser simples o multimples SISD: Single Instruction, Single Data SIMD: Single Instruction, Multiple Data MISD: Multiple Instruction, Single Data MIMD: Multiple Instruction, Multiple Data

SISD

Una computadora serie (no hay paralelismo) Instrucci on simple: solo una instrucci on ejecutada por el CPU durante cualquier ciclo del reloj Datos simples: solo una secuencia de datos es usada como entrada durante cualquier ciclo de reloj Ejecuci on determin stica El modelo m as antiguo de la computaci on Ejemplos: los primeros mainframes, la mayor a de los m oviles, las primeras PCs

SISD

SIMD
Un tipo de computadora paralela Instrucci on simple: solo una instrucci on ejecutada por el CPU durante cualquier ciclo del reloj Datos m ultiples: cada unidad de procesamiento puede operar sobre un conjunto de datos diferente Se adapta muy bien en problemas con un alto grado de regularidad, tales como gr acos/im agenes Ejecuci on sincr onica y determin stica Dos variantes: arreglo de procesadores o unidades vectoriales Las unidades de procesamiento de gr acos (GPUs) emplean unidades de procesamiento SIMD

SIMD

MISD

Una secuencia de datos u nica es provista a unidades de procesamiento m ultiples Cada unidad de procesamiento opera sobre los datos de manera independiente (contadores de programa independientes) Pocos ejemplos pr acticos de este modelo de computadora paralela Algunos usos posibles pueden ser:

M ultiples ltos de frecuencia operado sombre una misma se nal Multiples algoritmos de criprograf a operado sobre un mensaje codicado

MISD

MIMD

Actualmente es el tipo de computadora paralela m as usado. Ma mayor a de las computadoras caen aqu Instrucciones m ultiples: cada procesador puede estar ejecutando una secuencia de instrucciones diferentes Datos m ultiples: cada unidad de procesamiento puede operar sobre un confunto de datos diferente La ejecuci on puede ser sincr onica o asincr onica, determin stica o no-determin stica Ejemplos: la masyor a de las supercomputadoras actuales, clusters y grids, multi-core PCs Nota: muchas arquitecturas MIMD pueden contener componentes internos que ejecuten SIMD

MIMD

Caracter sticas Generales de Memoria Compartida

En general la memoria compartida permite a los procesadores acceder a la memoria como un espacio de direcciones global Procesadores m ultiples pueden operar independientemente sobre recursos de memoria compartida Un cambio en la memoria producido por una unidad de procesamiento es visible por el resto de los procesadores Hay dos clases de arquitecturas de memoria compartida: UMA y NUMA

UMA

UMA

Un claro ejemplo son las machinas SMP (Symmetric Multiprocessor) Procesadores id enticos Las prioridades y los tiempos de acceso son iguales para todos CC-UMA: Cache Coherent UMA (usualmente lo hace el hardware)

NUMA

NUMA

Usualmete ocurre cuando se conectan dos o m as sistemas SMPs Un sistema SMP puede acceder directamente a la memoria del otro No todos los procesadores tienen igual acceso a todas las direcciones de memoria El acceso a memoria a trav es del v nculo (o bus) es m as lento CC-NUMA: Cache Coherent NUMA

Ventajas y Desventaja de Memoria Compartida

Ventajas

Espacio de memoria global es amigable para el programador El intercambio de datos entre las tareas es r apido y uniforma debido a la proximidad entre CPUs El principal problema es que no se puede escalar el modelo. Cuando se agregan CPUs el tr aco se incrementa geom etricamente y comienzan los problemas de coherencia El programador es responsable de la sincronizaci on de los datos y la coherencia en la memoria

Desventajas

Memoria Distribuida

Caracter sticas Generales Memoria Distribuida

Hay varios modelos de memoria distribuida. El patr on general es el uso de una red de comunicaci on para conectar las memorias de los procesadores Los procesadores tienen su propia memoria local y no hay correspondencia entre dos procesadores. Independencia de operaci on, los cambios en un lugar no afectan al resto Cuando un procesador necesita un dato externo, el programador lo ordena explicitamente La red de comunicaci on puede variar ampliamente, puede ser una red ethernet

Ventajas y Desventaja de Memoria Distribuida

Ventajas

El modelo escala con los procesadores. A medida que se agregan unidades de procesamiento la memoria escala proporcionalmente Cada procesador accede a un dato en memoria sin interferir al resto de los componentes. Se eliminan las demoras por accesos m ultiples El programador es responsable de muchos de los detalles asociados a la comunicaci on entre procesadores Puede ser dicultoso mapear estructuras de datos basadas en memoria global a esta organizaci on de memoria

Desventajas

Memoria H brida Compartida-Distribuida

Memoria H brida Compartida-Distribuida

Las principales supercomputadoras usan este modelo La memoria compartida es usualmente un SMP. Los procesadores acceden a la memoria global tambi en La memoria distribuida es la interconexi on de m ultiples SMPs Ventajas y desventajas: las que aplican a los tipos involucrados

Interconexiones y Topolog as

Suponiendo una m aquina paralela ideal compuesta por n procesadores Dependiendo en la forma que se maneja el acceso a memoria, se encuentran cuatro clases

Exclusive-read, exlusive-write (EREW) Concurrent-read, exclusive-write (CREW) Exclusive-read, concurrent-write (ERCW) Concurrent-read, concurrent-write (CRCW)

Las escrituras concurrentes se resuelven por: Common/Arbitrary/Priority/Sum

Redes de Interconexi on

Concentan procesadores-procesadores y procesadores-memoria Est aticas


Conexiones punto a punto Hist oricamente para conectar procesadores entre si Se colocan elementos de conmutaci on en la red Hist oricamente para conectar los procesadores con la memoria

Din amicas

Redes en una Foto

Redes con un Bus o Canal

Crossbar

Multi-etapa

Estrella y Totalmente Conectada

Cartesianas

Hypercubes

Arboles

Deniciones (1 de 2)

Di ametro

La m axima distancia entre dos nodos (mejor cuando es menor) El numero m nimo de arcos que se deben remover para partir en dos redes desconectadas (mejor cuando es mayor) Mide las multiplicidad de caminos

Conectividad

Deniciones (2 de 2)

Ancho de bisecci on

El numero m nimo de arcos que se deben remover para partir la red en dos mitades iguales (mejor cuando es mayor) Aplica a redes con enlaces medidos por velocidad de transferencia El m nimo volumen de comunicaci on permitidos entre dos mitades de una red (mejor cuando es mayor) El n umero de enlaces en una red (mejor cuando es menor)

Ancho de banda de bisecci on

Costo

Caracter sticas

Advertencia y Comentarios

Hay varios caminos para encarar el procesamiento paralelo Un camino es el te orico y anal tico Otro es desde las tecnolog as Otro es desde el software Otro es desde los sistemas operativos Otro es desde el hardware

Advertencia y Comentarios

Hay varios caminos para encarar el procesamiento paralelo Un camino es el te orico y anal tico Otro es desde las tecnolog as Otro es desde el software Otro es desde los sistemas operativos Otro es desde el hardware Todas son herramientas u tiles. Lo importante es aprender a usarlas todas!!

Opteron

Fermi [3]

Manada de Opterons! [2]

Una Caracterizaci on de Procesadores Actuales [4]

CPUs vs GPUs [4]

Gracias!

Consultas? Contacto: javierip@ieee.org

G. Ananth, G. Anshul, K. George, and K. Vipin. Introduction to parallel computing, 2003. P. Conway, N. Kalyanasundharam, G. Donley, K. Lepak, and B. Hughes. Cache hierarchy and memory subsystem of the AMD Opteron processor. Micro, IEEE, 30(2):1629, 2010. J. Nickolls and W.J. Dally. The GPU computing era. Micro, IEEE, 30(2):5669, 2010. B. Spiers and D. Wallez. High-Performance Computing on Wall Street. Computer, 43(12):5359, 2010.

Potrebbero piacerti anche