Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Hardware
Aplicaciones
Objetivo
Resolver el problema lo mas r apido posible de manera eciente
Organizaci on L ogica
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
Organizaci on L ogica
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/
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?
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
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
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
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
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
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)
Redes de Interconexi on
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
Crossbar
Multi-etapa
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)
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]
Gracias!
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.