Arquitecturas AvanzadasCurso 10/11 - PowerPoint PPT Presentation

1 / 44
About This Presentation
Title:

Arquitecturas AvanzadasCurso 10/11

Description:

Encadenamiento Hardware. Bibliograf a: 'VLSI Array Processors' S.Y. Kung-1988 [119..149] ... A.A. Sist licos (Introducci n) SIMD-4. INTRODUCCI N. L mites de ... – PowerPoint PPT presentation

Number of Views:167
Avg rating:3.0/5.0
Slides: 45
Provided by: PabloCara
Category:

less

Transcript and Presenter's Notes

Title: Arquitecturas AvanzadasCurso 10/11


1
Arquitecturas Avanzadas Curso 10/11
Horas 5 6 7 2 3
  • INTRODUCCIÓN
  • CONECTIVIDAD
  • MÁQUINAS MIMD
  • MÁQUINAS SIMD
  • AUMENTO DE PRESTACIONES

2
arqAva Clasificación de Flynn Ampliada Introducci
ón-2
Arquitecturas Paralelas
SISD
SIMD
MISD
MIMD
Von Neumann
??
3
arqAva Temario SIMD-3
  • MÁQUINAS SIMD
  • Procesamiento Sistólico
  • Introducción
  • Metodología
  • Ejemplos
  • Procesamiento Vectorial
  • Definiciones y tipos de instrucciones
  • Memorias entrelazadas
  • Funciones vectoriales compuestas
  • Encadenamiento Hardware

Bibliografía VLSI Array Processors S.Y.
Kung-1988 119..149 Advanded Computer
Architecture... Kai Hwang-1993 Capítulo 8
4
arqAva Sistólicos (Introducción) SIMD-4
  • INTRODUCCIÓN
  • Límites de MIMD para grano fino
  • El modelo sistólico
  • Ejemplo Vector x Matriz
  • Algunos inconvenientes
  • Ejemplos de máquinas

5
arqAva Introducción (Límites de MIMD para grano
fino) SIMD-5
Problema Multiplicar una secuencia muy grande de
vectores por una matriz
  • Filtrado de imagen
  • Generación de efectos de vídeo
  • Conversión, cod/decod de vídeo
  • Manipulación de imagen en 3D
  • Procesado de imágenes médicas
  • Reconocimiento de objetos
  • detectando bordes
  • Filtros FIR para sistemas de
  • comunicaciones

6
arqAva Introducción (Límites de MIMD para grano
fino) SIMD-6
Problema Multiplicar una secuencia muy grande de
vectores por una matriz
..... Xi4, ..... X24, X14 A4x4 gt ..... Yi4,
..... Y24, Y14
Tiempo ? de cálculo de Yi4 en monoprocesador?
T() gt 2 T() gt 1 T(Mem ltgt Reg) gt 1
7
arqAva Introducción (Límites de MIMD para grano
fino) SIMD-7
Paralelización de X4A4x4 con multiprocesadores
Cada cuánto tiempo obtengo Yi?
8
arqAva Introducción (Límites de MIMD para grano
fino) SIMD-8
Hagamos los cálculos repeat ?i,j Xi
Ai,j -- Los 16 Pij T1 Yi
?1,i?2,i?3,i?4,i -- Los 4 P1i
T2 forever
T1 1(r) 2() 1(w) 4
SEGURO?
T2 3(r) 3() 1(w) 7
  • El tiempo puede dispararse 20 ....
  • Barreras de sincronización Hw.

B(SP1i) B(SP1i) B(SP1i)
Subir (SNuevoY)
  • Mejorable con multicomputadores?

9
arqAva Introducción (Límites de MIMD para grano
fino) SIMD-9
Paralelización de X4A4x4 con multicomputadores
Flujo E/S? Xi / Yi
DI
1
Coste
3
3
SIA21N
9
2
17
-1
9
  • Será alcanzable ? 4?

Sistólicos
10
arqAva Introducción (El modelo sistólico) SIMD-10
1978 (H.T. Kung y C.E. Leiserson) Mucho interés
en los 80
Objetivo Aprovechar el alto grado de paralelismo
espacial y temporal de algunos algoritmos muy
demandados y limitados por cómputo
Aplicaciones Computación científica, procesado
de señal e imagen, análisis de datos
biológicos, criptografía, etc.
11
arqAva Introducción (El modelo sistólico) SIMD-11
  • Sistólicos Máquinas paralelas de propósito
    específico
  • Paralelismo masivo y descentralizado (Pipeline)
  • Peso del cómputo mucho mayor que el de E/S
  • Comunicaciones locales
  • Arquitectura regular y modular organizada como
    una red de un gran número de unidades de proceso
    idénticas (celdas), conectadas localmente.
  • Sólo las celdas de los bordes pueden comunicarse
    con el exterior.
  • Modo de operación síncrono
  • Factores de posibilidad (VLSI, CAD) y muy
    escalables

12
arqAva Introducción (El modelo sistólico) SIMD-12
Ejemplos de redes sistólicas
13
arqAva Introducción (El modelo sistólico) SIMD-13
Modo de operación síncrono
  • Cada celda siempre hace lo mismo
  • Recibe datos de sus vecinos
  • Realiza unos cálculos sencillos
  • Transmite resultados a sus vecinos

14
arqAva Introducción (Ejemplo Vector
Matriz) SIMD-14
Cómo utilizar esta arquitectura para multiplicar
Vectores2 Matriz2x2?
Recordar el intento de paralelización con
multicomputadores
Situación justo al inicio del ciclo
15
arqAva Introducción (Ejemplo Vector
Matriz) SIMD-15
16
arqAva Introducción (Ejemplo Vector
Matriz) SIMD-16
Tiempo de cálculo de Yi4 con este método?
Obtenemos un resultado cada ciclo (?) Transferir
datos gt 1 Multiplicar gt 2 Sumar gt 1 Total gt
4
17
arqAva Introducción (Ejemplo Vector
Matriz) SIMD-17
Posible aspecto de una celda
18
arqAva Introducción (Algunos inconvenientes) SIMD
-18
  • Dificultad algorítmica (Veremos una
    sistematización)

Soluciones?
19
arqAva Introducción (Ejemplos de
máquinas) SIMD-19
  • iWarp (1988-1992)
  • Carnegie Mellon Univ. Intel Supercomputing
    System Div.
  • Todavía la mejor en 1995 para algunas
    aplicaciones
  • µP RISC de 32 bits de 96bit LIW a 20MHz
  • Desde 4 a 1024 celdas. Típico un toro de 8x8 gt
    64µP

iWarp Anatomy of a Parallel Computing System
1998
20
arqAva Introducción (Ejemplos de
máquinas) SIMD-20
  • SAMBA (1993-1995) www.irisa.fr/SAMBA
  • Systolic Accelerator for Molecular Biological
    Applications
  • Laboratorio IRISA de Rennes
  • 1994 gt Chips con 4µP de 100MIPS (12bits) (Total
    128µP)

1998 gt Speeding up genome computations with a
systolic accelerator Estudio genético gt 41 en
SAMBA y 127,5h en una WorkStation 1998 gt Chips
con 16..20µP más MIPS gt Todo en una tarjeta PCI
21
arqAva Introducción (Ejemplos de
máquinas) SIMD-21
Empresa comprada en junio 2000 por Celera
Genomics Group. www.celera.com
22
arqAva Introducción (Ejemplos de
máquinas) SIMD-22
  • Procesador CSX700 Hoy
  • www.clearspeed.com
  • Convierta su PC en un supercomputador

9 Top500 11/06 TSUBAME Grid Cluster 29 Top500
11/08 56 Top500 11/09 GPUs
23
arqAva Introducción (Ejemplos de
máquinas) SIMD-23
  • DeCypher Engine G4 gt SeqCruncher Hoy
  • www.timelogic.com

24
arqAva Introducción (Ejemplos de
máquinas) SIMD-24
  • Cell Hoy www.blachford.info/computer/Cell/Cell0_
    v2.html

25
arqAva Introducción (Ejemplos de
máquinas) SIMD-25
  • GPUsHoy www.nVidia.com

26
arqAva Vectoriales (Definiciones) SIMD-26
  • DEFINICIONES

Vector Conjunto ordenado de unidades de datos
escalares de un mismo tipo
27
arqAva Vectoriales (Definiciones) SIMD-27
Vector Conjunto ordenado de unidades de datos
escalares de un mismo tipo
Stride ? tsize(tipo)
Utilidad?
28
arqAva Tipo / Fuentes (Control, Datos,
Flujo) Introducción-28
  • PARALELISMO DE DATOS (Espacial)
  • Operaciones sobre datos regulares (vectores)
    aplicando la misma operación sobre cada elemento

LIMITACIONES! Más datos que U.P. Operaciones
escalares
En los procesadores vectoriales hay poca
replicación hardware (pocas unidades de proceso
que sumen). En su lugar, se apoyan en una
especialización mediante pipeline.
29
arqAva Vectoriales (Definiciones) SIMD-29
Unidad Funcional Aritmética Segmentada
Registros Vectoriales
4 Etapas Sumar Exponentes Multiplicar
Mantisas Normalizar Redondear
30
arqAva Vectoriales (Tipos de instrucciones)
SIMD-30
  • TIPOS DE INSTRUCCIONES VECTORIALES

Unidad funcional segmentada
31
arqAva Vectoriales (Tipos de instrucciones)
SIMD-31
Utilidad?
32
arqAva Vectoriales (Tipos de instrucciones)
SIMD-32
33
arqAva Vectoriales (Tipos de instrucciones) SIMD-
33
Utilidad?
Utilidad VM?
34
arqAva Vectoriales (Memorias entrelazadas)
SIMD-34
Memoria multipuerto?
Cuántos bancos?
Acceso paralelo al vector V16 ?
Demasiado secuencial !
35
arqAva Vectoriales (Memorias entrelazadas) SIMD-3
5
Para acceder a un vector en memoria (longElemento
palabra) DirInicio, NumElementos, Stride
(Separación entre elementos)
36
arqAva Vectoriales (Memorias entrelazadas) SIMD-3
6
Stride1
Stride2?
Módulos
M7
M6
M5
M4
M3
M2
M1
M0
Tiempo
Ojo al ubicar matrices en memoria !
Stride 3?
37
arqAva Vectoriales (Memorias entrelazadas) SIMD-3
7
Entrelazado de orden inferior Acceso Simultáneo
Memoria de 2ab palabras, de módulos m2a,
Palabras por módulo w2b
M0
M1
Mm-1
0
1
m-1
m
m1
2m-1
b
Ciclo de búsqueda
Dirección de memoria
2m
2m1
3m-1
módulo
palabra
a
m(w-1)
m(w-1)1
wm-1
RIM
RIM
RIM
Ciclo de acceso
Multiplexador
38
arqAva Vectoriales (Memorias entrelazadas)
SIMD-38
Módulos
Ciclo de búsqueda
M7
M6
Ciclo de acceso
M5
M4
M3
M2
M1
Tiempo
M0
m palabras (8)
Pérdida de eficiencia para Stride ? 1
39
arqAva Vectoriales (Funciones vectoriales
compuestas) SIMD-39
FUNCIONES VECTORIALES COMPUESTAS
BUCLE I1 HASTA 100 CARGA R1,X(I) CARGA
R2,Y(I) MULTIPLICA R1,S SUMA R2,R1 ALMACENA
Y(I), R2 FIN BUCLE
IV1 CARGA VECTOR IV2 CARGA VECTOR IV3
MULTIPLICA VECTOR x ESCALAR IV4 SUMA VECTOR,
VECTOR IV5 ALMACENA VECTOR
Si disponemos de 2 U.F. (,) Ociosa siempre una?
40
arqAva Vectoriales (Encadenamiento
hardware) SIMD-40
ENCADENAMIENTO HARDWARE
Una vez extraídos X e Y, hay que realizar 2
operaciones vectoriales
S X(I) Y(I)
Vx
Vector intermedio
Vector intermedio
2
S
Multiplicador
Sumador
Vy
Etapa de procesamiento
41
arqAva Vectoriales (Encadenamiento
hardware) SIMD-41
Y(I) S X(I) Y(I)
Conflicto en los 3 accesos a memoria
Disponiendo de un solo pipeline para acceso a
memoria (Cray I)
42
arqAva Vectoriales (Encadenamiento
hardware) SIMD-42
Y(I) S X(I) Y(I)
Conflicto en los 3 accesos a memoria
Disponiendo de tres pipelines para acceso a
memoria (Cray X-MP)
Encadenamiento completo
43
arqAva Vectoriales (Encadenamiento
hardware) SIMD-43
Carga X
Carga Y
S X
V Y
Almacena Y
t
Carga Y
Carga X
S X
V Y
Almacena Y
t
Carga X
Limitaciones Unidades Funcionales Registros
Vectoriales
Carga Y
S X
V Y
Almacena Y
t
44
arqAva Vectoriales (Encadenamiento
hardware) SIMD-44
FIN
Write a Comment
User Comments (0)
About PowerShow.com