Presentación U1.2

Report
UNI-FEC
ARQUITECTURA DE MÁQUINAS
COMPUTADORAS III
Unidad 1: PARALELISMO Y MEJORA DEL RENDIMIENTO
Ing. José Díaz Chow
U1.2
¿Qué hemos abordado?

Evaluación de la computadora: ¿Para qué?
 ¿Qué?
 ¿Cómo?






Métricas de evaluación
Técnicas de Evaluación
Rendimiento
Tiempo de ejecución
Ley de Amdahl
Benchmarks (medición)
Tipos de programas de prueba o benchmarks




Programas reales: Usar la aplicación real para la
que se requiere el computador.
Núcleos (Kernels): Usa partes “clave” de programas
demandantes. Orientados a cálculos intensivos.
Benchmarks reducidos (Toys): 10-100 líneas de código
que realizan pequeños algoritmos habituales. Fáciles
pero muy limitados.
Benchmarks sintéticos: Elaborados expresamente para
evaluar rendimiento imitando el comportamiento de
programas de verdad, pero sin tareas específicas.
1.2. Reducción del Tiempo de Ejecución
¡ Queremos
mejorar el
Rendimiento
de la
Computadora !

Rendimiento es el inverso del
tiempo de ejecución:

=


Así que, si reduzco el tiempo de
ejecución, incremento el
rendimiento.
¿Cómo reducir el tiempo de ejecución?

Factores que determinan t:
 =  ∗  ∗ 

Reducir uno o más factores sin que incrementen otros
permitiría reducir t:
De qué depende  ? ¿Cómo reducirlo?
 ¿ De qué depende el  ? ¿Cómo reducirlo?
 ¿ De qué depende  ? ¿Cómo reducirlo?
¿
Reducción del período (t)



El t de reloj debe ser lo suficientemente ancho para
que se completen todas las microoperaciones de
control del paso de control más tardado.
Para reducir t es requerido, por tanto, que las
operaciones de control sean más rápidas (para que
no se tenga que incrementar el CPI).
Depende del avance de la tecnología en los
procesos de fabricación de sistemas digitales.
Reducción del número de Instrucciones (N)


Depende de la arquitectura.
Arquitecturas con instrucciones complejas permiten
realizar operaciones con menos instrucciones que otras
con instrucciones más simples:
Operaciones integradas: CMP + Jx (2 inst.) vs BRx (1 inst.:
Salta si se cumple la condición x)
 Múltiples modos: LOAD Rf, Rs(d) + ADD Rd, Rf, Rg (2 inst. Arq
R3) vs ADD Rs(d), Rf (1 inst. Arq R2)



Dependencia de instrucciones complejas con
mProgramación tiende a t mayor.
¡No rinde buenos frutos!
Reducción de ciclos por instrucción (CPI)





Depende de la arquitectura: ¡Cantidad de
operaciones que se pueden realizar en un ciclo de
reloj!
Arquitecturas con instrucciones complejas obligan a
altos CPIs
Arquitecturas con instrucciones simples pueden reducir
CPI. Meta a aspirar: CPI =1
Proyecto RISC lo demostró.
¡Mejor apuesta para el arquitecto!
Mejorando nuestra arquitectura X (R2)

Reducir modos para simplificar la UC: Arquitectura
R3:
 Transferencia
 Usan
de M R: LOAD, y RM: STORE.
modo Índice.
 Operaciones
OP: Solo registros o inmediatos.
 Move R1, R2  Add R2, R1, R0; ¡R0 siempre vale 0!


Bus común  Conexiones directas: más rápido.
Uso de más registros en un Banco de Registros: 2
puertos de lectura y 1 de escritura simultáneos
1.3. Mejoras al sistema de memoria
Sistema de
Memoria



Despues del CPU, el sistema de
memoria es el más usado.
¡Eliminar los WMFC!
Mejorar el desempeño del sistema
de Memoria.
Mejorando el desempeño de M


¿Cuáles son los factores de desempeño de la
Memoria?
Latencia: Tiempo de acceso, tiempo de ciclo.
 Depende

de la tecnología de fabricación.
Productividad: Velocidad de transferencia.
 Ancho
del Bus
 Solapamiento: memorias entrelazadas.

Disponibilidad:
 Detección
y corrección de errores
 Capacidad: Memoria Virtual
Jerarquía de Memoria
Caché
f
rans
de t
Caché
Externa
d
cida
acid
ad
Velo
cia
eren

Registros
or
Men

CPU
C ap

Diferentes tipos de
memorias: Vt y C.
Memorias más rápidas
tienen limitado tamaño
y alto precio.
Uso de memorias
intermedias.
Principio de localidad
de referencia.
May
or

Memoria Principal
Unidades de almacenamiento secundario
1.4. Mejoras al sistema de E/S
Sistema de
Entrada Salida

Comunicación con el exterior
Leer Programas y Datos
 Entregar resultados de procesamiento.


Diferentes dispositivos de E/S
Entrada
 Salida
 Memoria de largo plazo



Diferentes tecnologías y velocidades
Mejorar el desempeño del sistema de
Entrada / Salida.
Mejorando el desempeño de E/S



Diferentes dispositivos con diferentes métodos de
transferencia de datos y velocidades
¿Cuáles son los factores de desempeño del sistema
de E/S?
Latencia: Tiempo de respuesta.
 Depende

de la tecnología de fabricación.
Productividad: Velocidad de transferencia.
 Frecuencia
 Ancho
del Bus
Jerarquía de Buses


Agrupa dispositivos con Vt similares.
Equilibrio de ancho de banda entre dispositivos.
CPU +
Cache L1
Controlador
de vídeo
"Bus" AGP
Controladores del sistema
(Chipset)
Controlador de Memoria y
Puente PCI
Cache L2
Memoria
Principal
Bus del Sistema
Bus PCI
SCSI
Dispositivos IDE
CD
DD
DD
DD
Controlador IDE
Controlador de DMA
Puente PCI a ISA
LAN
Slot
USB
Bus ISA
Slot
Slot
LPT
Com 1
Com 2
Disquete
Super
I/O
Teclado
Ratón PS/2
ADM y Procesadores de E/S




Agiliza las transferencias de dispositivos de E/S a M
y viceversa.
Emplea un procesador auxiliar dedicado.
Solapa la ejecución de instrucciones con las
operaciones de E/S
Diversos esquemas de acuerdo a las velocidades de
los dispositivos
ADM y Procesadores de E/S
1.5. Introducción al Paralelismo
Paralelismo



¿Y si aún con todas estas mejoras, no
logramos el rendimiento deseado?
Por Amdahl: CPU es el más apropiado
de mejorar
¿Se puede?
 Si
solo hago una tarea, con un amigo,
¡puedo hacer dos!
Requerimientos de mayor desempeño




Concurrencia (datos compartidos).
Capacidad de atención a múltiples usuarios y
tareas.
Procesamiento de datos de información de
conocimiento  Inteligencia.
Tecnología de producción de hardware  más
poder a menor costo
 Ejecutor
más rápido vs más ejecutores.
Procesamiento Paralelo

Forma de procesamiento que explota ejecución de
sucesos concurrentes.
 Simultaneidad
 Multiplicidad


Solapamiento de ejecución de múltiples tareas.
Multiplicidad de ejecutores en una o varias tareas.
Tipos de Paralelismo
•
Temporal: El paralelismo que involucra solapamiento se
denomina temporal porque permite la ejecución
concurrente de sucesos sobre los mismos recursos en
intervalos intercalados de tiempo.
•
Espacial: El paralelismo que permite simultaneidad real
sobre múltiples recursos al mismo tiempo se denomina
paralelismo espacial.
Nivel de Paralelismo

Grano Grueso
 Tarea
 Programa

Grano Fino
 Instrucción
 Aritmético
o de Bits
Técnicas de mejora y paralelismo



Multiprogramación y Tiempo compartido: técnica
software (temporal): Sistema Operativo.
Solapamiento de las operaciones CPU y E/S: DMA
e IOPs. Espacial.
Jerarquización y equilibrio de ancho de banda:
Jerarquía de Memoria y de Buses: agilización y
redundancia de datos. Espacial.
Técnicas de mejora y paralelismo



Solapamiento de la ejecución: Ciclo de instrucción
solapado. Adelanta etapas del ciclo. Pre-Fetch y
Pipelining. Temporal.
Multiplicidad de unidades ejecutoras: Sistemas
superescalares. Espacial.
Sistemas paralelos: Paralelismo de datos y de
código: SIMD y MIMD. Espacial
1.6. Clasificación de arquitecturas
paralelas
Taxonomías


Diferentes sistemas de clasificación.
Más comunes:
 Flynn:
Basado en cardinalidad (s,m) de
flujo de instrucciones y datos.
 Feng: Basado en tipo de transferencia o
procesamiento (s,p) y cantidad de bits
involucrados (b,w).
 Händler: Modelo matemático basado en
métricas. Categoría es tupla de valores
Taxonomía de Flynn

Flynn (1966) propone un sistema de clasificación
por flujos de instrucciones y datos:
 SISD

>> SIMD >> MISD >> MIMD
SISD (Simple flujo de instrucciones-simple flujo de
datos): Arquitecturas secuenciales estándares
 Arquitectura
Von Neumann.
Taxonomía de Flynn

SIMD (Simple flujo de instrucciones-múltiples
flujos de datos): Sistemas que ejecutan
instrucciones sobre colecciones de datos a la vez:
 Cálculo
vectorial y matricial.
Taxonomía de Flynn

MISD ( Múltiples flujos de instrucciones-simple
flujo de datos): Arquitecturas no viables en el
paradigma actual.
 Arquitecturas
de flujo de datos.
 No aplicación real.
Taxonomía de Flynn

MIMD (Múltiples flujos de instrucciones-multiples
flujos de datos): Sistemas con múltiples ejecutores
con una o múltiples tareas:
 Multiprocesadores
 Multicomputadores
Extensión a la Taxonomía de Flynn

Johnson (1988) propone extender o detallar la
taxonomía de Flynn en el caso de los MIMD:
Taxonomía de Feng

Tse-yun-Feng, sugiere el grado de paralelismo como criterio
de clasificación:
Máximo grado de paralelismo ( P ) = número máximo de dígitos binarios
que pueden ser procesados en una
unidad de tiempo

Grado medio de paralelismo ( Pm ) y tasa de utilización ( g )
de un sistema en T ciclos:
Donde Pi es el No. de bits que puede ser procesados en el
i-esimo ciclo del procesador, para T ciclos.
Tasa de utilización en T ciclos
Taxonomía de Feng

Se puede clasificar a la computadoras de
acuerdo a este criterio como:
Palabra-serie y bit-serie (PSBS). m=n=1. Procesamiento
totalmente serial.
 Palabra-paralelo y bit-serie (PPBS). m>1, n=1,
procesamiento por sección de bits (procesa m palabras 1 bit
cada vez).
 Palabra-serie y bit-paralelo (PSBP). n>1, m=1,
procesamiento por sección de palabra (procesa una
palabra de n bits a la vez), computadoras actuales.
 Palabra-paralelo y bit-paralelo (PPBP). n>1, m>1,
procesamiento totalmente paralelo (se procesa una matriz
de n*m bits a la vez), multiprocesadores y
multicomputadoras (cluster´s).

Taxonomía de Feng
Taxonomía de Händler

Wolfgang Händler: Esquema basado en encauzamiento del
procesamiento en tres niveles “top-down”:




UCP (Unidad Central de procesamiento)
UAL (Unidad Aritmética Lógica)
El circuito a nivel Bit (CNB)
Un sistema computador (C )puede caracterizarse por una triada:
C = < K x K’, D x D’, W x W’ > donde:
K = Es el número procesadores
K’ = Número de procesadores que puede encauzarse (pipelined)
D = Es el número de ALU bajo el control de un CPU
D’ = Número de ALU´s que pueden ser encauzadas (pipelined)
W = Longitud de palabra de una UAL o un Elemento de Proceso (EP)
W’ = El número de segmentos en pipeline en todas las ALU´s o EP´s
Taxonomía de Händler

Por ejemplo para la Cray-1:




Es un procesador de 64-bit no segmentado, superescalar
Cuenta con12 unidades de proceso o ALUs, 8 de las cuales pueden
trabajar en pipeline.
Diferentes unidades funcionales tienen de 1 a 14 segmentos los
cuales pueden trabajas en pipeline.
Por tanto:
CRAY-1 = < 1, 12 x 8, 64 x ( 1~14) >
Otras Taxonomías

Otras clasificaciones que se pueden encontrar en la literatura
son:


Taxonomía de Shore´s (1973): Basada en la estructura y el número
de unidades funcionales en la computadora. Se divide en 6
categorías o tipos de máquina: Máquina 1 … Máquina 6.
Taxonomía estructural de Hockney y Jesshope´s. Se basa en la
notación llamada “Estilo de Notación Estructural Algebraica (ASN)”,
es muy compleja.
C(Cray-1) = Iv12 [ 12Ep12 - 16M50 ] r; 12Ep = {3Fp64,9B}

Existen otras nomenclatura que pretende ser más descriptiva y se
basa en: multiplicidad del procesador, tamaño de grano, topología
y control de multiplicidad.
Recomendaciones
U1:
Paralelismo y
mejora del
rendimiento


Recordar consultar el folleto de clase.
Recordar consultar la bibliografía:
 Hwang
 Henesy
- Patterson

similar documents