240 likes | 465 Views
Unidad 3. Arquitecturas SIMD. Procesadores Vectoriales y Matriciales. Docente: Ing. José Díaz Chow. Objetivos. Enumerar los diferentes tipos de Arquitecturas SIMD, naturaleza de la solución y nivel de paralelismo de cada una de ellas .
E N D
Unidad 3. Arquitecturas SIMD Procesadores Vectoriales y Matriciales Docente: Ing. José Díaz Chow
Objetivos • Enumerar los diferentes tipos de Arquitecturas SIMD, naturaleza de la solución y nivel de paralelismo de cada una de ellas. • Describir el principio de diseño y funcionamiento de los Procesadores Matriciales. • Explicar el funcionamiento del Procesador en Arreglo (ArrayProcessor), el Procesador Sistólico, Procesador en Frente de Onda y Procesador Asociativo. • Valorar la importancia del legado de las arquitecturas SIMD en la computación actual.
Recordemos … • Limitaciones de desempeño en el campo de la computación científica. • Necesidad de procesar gran volumen de información. • Necesidad de procesar vectores y Matrices, no solo escalares.
Recordemos … • Algoritmossecuenciales para cálculovectorial. • Ejemplo: Multiplicación de Matrices: C[] = A[] x B[] - Algoritmocostoso: O(n). FOR I = 1 TO N FOR J=1 TO M C[I,J] = 0.0 FOR K=1 TO L C[I,J] = C[I,J]+A[I,K]*B[K,J] END FOR END FOR END FOR t N
Arquitecturas SIMD • ProcesadoresVectoriales • ArquitecturasMemoria a Memoria • ArquitecturasRegistro a Registro • ProcesadoresMatriciales • Array Processor • Systolic Processors • Associative Processors • Wavefront Processors
ProcesadoresMatriciales • Emular el tipo de datos y susoperaciones: Procesadorcomo un arreglo de unidades de ejecución o Elementos o Unidades de Procesamiento (EP). • Cada EP es una unidad de ejecución con ALU simple o completa y almacenamiento: registros y a veces memoria local. • Toda la red de EP gobernadaporunaUnidad de Control o Procesador central. • Procesador en Arreglo o Array Processor. • Otrasarquitecturasderivaronposteriormente.
ProcesadoresMatriciales • Procesador en arreglo (ArrayProcessor). • Procesadorsistólico (Systolic Processor). • Procesador de frente de onda (Wavefront Processor). • ProcesadorAsociativo (Associative Processor)
Array Processor • Red o matriz de EP con una Unidad de Control Central. • Todos los EP comunicados con Memoria • EP comunicados entre sí. • Red Síncrona. • Ciclo de carga de datos + ejecución de instrucción. • UC difunde (broadcast) la instrucción a todos los EP.
Array Processor • Memoriacomúnaccedidapor los EP o red de módulos de memoria de EP coordinadapor control. • Los EPs pueden Habilitarse o deshabilitarse (enmascararse) desde la UC. • Enmascaramiento: limitar estructura y configurar operaciones. Bus de Control UC Modo Bus Común EP EP EP Routing PMEM PMEM PMEM • Enrutamiento entre diferentes EP para comunicarresultadosparcialesen esquemas de ejecución.
56 57 58 59 60 61 62 63 0 7 0 1 2 3 4 5 6 7 8 15 8 9 10 11 12 13 14 15 16 23 16 17 18 19 20 21 22 23 24 31 24 25 26 27 28 29 30 31 32 39 32 33 34 35 36 37 38 39 40 47 40 41 42 43 44 45 46 47 48 55 48 49 50 51 52 53 54 55 56 63 56 57 58 59 60 61 62 63 0 1 2 3 4 5 6 7 Array Processor – Routing Network i-8 12 i-1 i+1 19 20 21 28 i+8
Systolic Array Processors • Concepto introducido por Kung y colegas (Carnegie-Mellon) • Sistólico porque la memoria funciona como el corazón, inyectando datos al arreglo en cada pulso de reloj • Consigue mejoras de procesamiento sin necesidad de incrementar el ancho de banda de la memoria
Systolic Array Processors • Cauce en formación matricial con múltiples flujos de datos. • Conjunto de celdas simples (Unas sola operación con entradas y Registro). • Control e interconexión simples (No Broadcasting)
Systolic Array Processors • Datos fluyen de forma encauzada, estructurada y son accesibles sólo en las fronteras. • Interconexión en matriz o árbol.
Systolic Array Processors • Empleado para Aritmética Matricial de alto nivel: • Multiplicación • Inversión de Matrices • Descomposición L - U • Fácil de expandir mediante VLSI debido a la simplicidad de diseño de la celda o EP. • Desventaja: Limitado por la velocidad de memoria y/o Entrada Salida. • Requiereaún gran ancho de bandapues la red estodavíasíncrona. • Memoriasespecializadas.
Wave Front Processors • Redes sincrónicas vs. redes asíncronas • Los ArrayProcessor emplean broadcastingsíncrono. • Los Systolic processor no usan broadcasting perosu red essíncrona. • Requieren Memorias de alta velocidad. • Altos costos de construcción. • ¿ Esuna red asíncronafactible? • Proceder hasta que el dato esté disponible. • Esperar a que memoria entregue datos. • Celdas o EP calculanpor “eventos” Disaparan
Wave Front Processors • Procesadorbasado en red de EP asíncrona. • Celdas simples y comunicación simple (similar al sistólico). • Cuando hay datos válidos en las entradas, la celda de dispara (computa) y expande entradas o resultado a las salidas.
Wave Front Processors • Los datosentranporlasceldas de la frontera y generandisparos. • Los disparosactivanlasceldascontiguas. • Nuevosdatosgenerannuevosdisparos: tren de disparos similar a un frente de ondas:sonido, perturbación en agua, etc. • De esta analogía su nombre.
Associative Processors • Procesadores paralelos basados en estructuras de datos asociativas (Memorias asociativas) • Aplican la instrucción sobre todos los datos cuya clave satisface los parámetros o argumentos de búsqueda. • Problema de la construción de memoriaasociativasgrandes: • Comparación en paralelo de todos los bits de todaslaspalabras de la memoria (bit-paralelo, palabra-paralela) • Comparación en serie de los i-ésimos bits (bitslice) de todaslaspalabras (bit-serie, palabra-paralela) • Taxonomía de Feng desarrollada sobre este paradigma para definir el nivel de paralelismo: bit-{serie|paralelo},palabra-{serie|paralela}
Associative Processors • En la actualidad estas arquitecturas han dado pie a nuevos paradigmas computacionales con soporte de hardware para bases de datos y aplicaciones que demandan procesamiento paralelo de conjuntos de datos. • Ejemplos: • PEPE (Burrogs Corp., 1972) • STARAN (Goodyear, 1972). Construído para la Marina USA, orientado al procesamiento de objetos de radar. • Posteriormente: procesadores asociativos masivamente paralelos para apoyo en campos y aplicaciones específicos tales como RDBMS (RAP, Neocore LCC) e Inteligencia Artificial (AM3, IXM2).
Estructuras de Interconexión SIMD • Necesaria una estructura que interconecte todos los EPs. • Decisiones de diseño: • Modo de operación: Sincrónica – Asíncrona • Estrategia de Control: Centralizado o Distribuido. • Metodología de Comunicación: Conmutación de Circuitos o Conmutación de Paquetes. • Topología de Red: Estáticas – Dinámicas
Algoritmos SIMD • Son más complejos pero con mejor rendimiento. • Reproducen el comportamiento natural de la operación. • Ganancia significativa sobre homólogo secuencial. • Ejemplos: • Multiplicación de matrices. • Secuencial es O(n3) • Con VP • O(n2) Carga de vectores, barrer filas por columnas. • Con ArrayProcessor basado en hipercubos: • O(n log2 n)
Legado de lasarquitecturas SIMD • Procesamiento de multimedia presentamismosrequerimientos de procesamiento en flujo continuo. • Principios y técnicasaplicadas son apropiadas para el procesamiento de streams de multimedia. • Extensiones multimedia en procesadoresactualeslasemplean: • Intel’s MMX • AMD’s 3DNow! • Intel’s SSE