upv-ehu / atc 1 2. computadores paralelos (conceptos básicos) - introducción - computadores simd -...

28
UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad de cálculo Arquitecturas Paralelas 12- 13

Upload: concepcion-cruz-sanchez

Post on 23-Jan-2016

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC 1

2. Computadores paralelos (conceptos básicos)

- Introducción- Computadores SIMD- Computadores MIMD- Problemas principales- Velocidad de cálculo

Arquitecturas Paralelas 12- 13

Page 2: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC 2

Introducción

Paralelismo: hacer más de una cosa “simultáneamente, a la vez”.

• tamaño de datos: 4 - 8 - 16 - 32 - 64 - ... bit

• ejecución de instrucciones (ILP):segmentación, superescalares, VLIW...

• paralelismo de datos/ paralelismo funcional o de

programas

Arquitecturas Paralelas 12- 13

Page 3: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC 3

Introducción

Paralelismo

SIMD: Single-Instruction-Multiple-Data

- procesadores vectoriales

- procesadores en array- GPUs

MIMD: Multiple-Instruction-Multiple-Data Muchos procesos/hilos para dar una

respuesta más rápida (high performance)(multiproceso, tolerancia a fallos, P copias (throughput))Arquitecturas Paralelas 12- 13

Page 4: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC 4

red de comunicació

n

SIMD computadores en array

array

P+M+E/S

Muchos procesadores muy sencillos, poca memoria, posibilidad de realizar operaciones de entrada/salida.

Red de comunicación especial.

Arquitecturas Paralelas 12- 13

Page 5: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC 5

red de comunicació

n

SIMD computadores array

Proc. de control

front-end

array

P+M+E/S

El procesador de control envía a todos los procesadores la instrucción que tienen que ejecutar síncronamente (BC). Cada procesador, ejecuta la instrucción o no hace nada.

Arquitecturas Paralelas 12- 13

Page 6: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC 6

SIMD computadores array

Adecuados para cierto tipo de aplicaciones: tratamiento de imágenes…

Ejemplo (X, Y, Z repartidos entre procesadores)

for (i=0; i<1000; i++)

if (Y[i] != 0) Z[i] = X[i] / Y[i];

else Z[i] = X[i];

paso 1: comprobar todos Y[i] != 0paso 2: if (yes)hacer Z[i] = X[i] /

Y[i]

(el resto, nada)paso 3: if (no) hacer Z[i] = X[i]

(el resto, nada)

Arquitecturas Paralelas 12- 13

Page 7: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC 7

Computadores MIMD

MIMD (Multiple-Instruction-Multiple-Data)

P procesos/hilos ejecutándose simultáneamente.

Dos modelos básicos: - memoria compartida- memoria distribuida

Arquitecturas Paralelas 12- 13

Page 8: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC 8

Computadores MIMD

Memoria compartida (shared memory)

Arquitecturas Paralelas 12- 13

M0 Mm–1 memoria principal

P0 P1 Pp–1 procesadores + MC

red de comunicación

E/S

Page 9: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC 9

Memoria compartida (shared memory)

- Espacio de direccionamiento único.

- Comunicación entre procesos por medio de variables compartidas.

- Red de comunicación: un bus (o una red multietapa).

- Nombres: multiprocesador, SMP, UMA.

- Generalmente, “pocos” procesadores.

Computadores MIMD

Arquitecturas Paralelas 12- 13

P0 P1 Pp–1

M0 Mm–1

E/S

Page 10: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC 10

Computadores MIMD

Memoria distribuida (distributed memory)

Arquitecturas Paralelas 12- 13

Pp-1

Mp-1

E/S

P0

M0

E/S

Computador:Pr + MC+ MP + E/S

red de comunicación

KK

Page 11: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC 11

Computadores MIMD

Memoria distribuida (distributed memory)

- Un espacio de direccionamiento por procesador.

- Comunicación entre procesos por medio de paso de mensajes.

- Redes de comunicación habituales: hipercubo, malla, toro...

- Nombres: multicomputador, MPP

- Generalmente, “muchos” procesadores.

Arquitecturas Paralelas 12- 13

Pp-1

Mp-1

E/S

P0

M0

E/SKK

Page 12: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC 12

Computadores MIMD

Otra opción: memoria compartida pero físicamente distribuida

- El espacio de direccionamiento es único, pero la utilización no es homogénea: se ha creado una jerarquía de memoria.

- La comunicación entre procesos se hace por medio de variables compartidas (lógicamente) y se implementa mediante paso de mensajes.

- Nombres: DSM, NUMA (MPP)

Arquitecturas Paralelas 12- 13

Pp-1

E/S

P0

E/SKM0Mp-1

K

Page 13: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC 13

Computadores MIMD

- SMP: multiprocesador de memoria compartida, generalmente pocos procesadores comunicados por un bus.

- MPP: sistema paralelo con muchos procesadores, de memoria compartida o distribuida.Generalmente, las máquinas más rápidas, sistemas con hardware y software de comunicación y de cálculo específico. Muy caras.Pueden organizarse de manera jerárquica (p.e., los nodos son sistemas SMP).

Nomenclatura:

Arquitecturas Paralelas 12- 13

Page 14: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC 14

Computadores MIMD

- Cluster: sistema paralelo construido a base de hardware y software de propósito general.

Buena relación coste/velocidad.PCPC

PCPC

PC

ethernet

El más simple: PC / ethernet (Beowulf)commodity / custom

Cada vez más, sistema paralelo de propósito general.

Nomenclatura:

Arquitecturas Paralelas 12- 13

Page 15: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC 15

Computadores MIMD

- Constelación (constellation): un cluster, donde el número de nodos es menor que el número de procesadores de cada nodo.

Nomenclatura:

Arquitecturas Paralelas 12- 13

Page 16: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC

1

1

N

N

SIMD MIMD

SISD

inst.

datos

proc. array

proc vectoriales

MP

P

C

bus

memoria compartida

SMP

MPP/NUMA

Cluster

memoria distribuida

P

C

M

red general

Resumen

Arquitecturas Paralelas 12- 13 16

Page 17: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC 17

Resumen

Espacio de direccionamiento común privado

centralizada(bus)

distribuida(red)

Memoria

SMP

DSM, NUMA MPP

-

Arquitecturas Paralelas 12- 13

Page 18: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC

Existen algunos problemas que hay que superar en los sistemas paralelos

- ¿Cómo gestionar el sistema completo?

- ¿Cómo se divide un algoritmo en P procesos? ¿Se puede ejecutar en paralelo todo el código?

- ¿Y el reparto, es equilibrado o es de tipo 80% - 20% (load balancing)?

Problemas

Arquitecturas Paralelas 12- 13 18

Page 19: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC

Existen algunos problemas que hay que superar en los sistemas paralelos

- ¿Dónde están los datos? ¿Cómo se mantiene la coherencia de datos?

- ¿Son independientes todos los procesos? ¿Se deben de sincronizar?

- ¿Habrá que mandar los datos de un procesador a otro? ¿Cómo?

Problemas

Arquitecturas Paralelas 12- 13 19

Page 20: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC

Sobrecargas

1. Comunicación Tp = Tej + Tcom

TejTcom

Número de procesadores

Tp

Problemas

Arquitecturas Paralelas 12- 13 20

Page 21: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC

Sobrecargas

2. Desequilibrio en la distribución de tareas

Por ejemplo: 6 procesos independientes, de coste similar → Ts = 6T

▪ entre 3 procesadores (2 + 2 + 2)

Tp = 2T = Ts /3

▪ entre 4 procesadores (2 + 2 + 1 +1)

Tp = 2T = Ts /3 !

Problemas

Arquitecturas Paralelas 12- 13 21

Page 22: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC

Sobrecargas

3. Utilización de la cache

Hay que (re)utilizar los datos de los bloques de las caches (localidad). Por ejemplo, si A1 y A2 están en posiciones de memoria contiguas, merecerá la pena procesarlos en el mismo procesador para incrementar la tasa de aciertos de la cache.

Problemas

Arquitecturas Paralelas 12- 13 22

Page 23: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC

Tipos de aplicaciones

- Paralelismo de grano fino (high performance)

muchas tareas, pequeñascomunicación frecuente, pocos datos

- Paralelismo de grano grueso (high throughput)

pocas tareas, grandes, “independientes”comunicación de vez en cuando, muchos

datos

Problemas

Arquitecturas Paralelas 12- 13 23

Page 24: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC

Factor de aceleración / Eficienciafa = Ts / Tp (ideal: crece

linealmente con P)

efic = fa / P (ideal: independiente de P)

Mejor caso: Tp = Ts / P → fa = P efic = 1

Objetivo:

1 ejecutar el mismo programa más rápido2 ejecutar programas más grandes en el mismo tiempo

Eficiencia

Arquitecturas Paralelas 12- 13 24

Page 25: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC

Por lo tanto, el verdadero factor de aceleración será (ley de Amdahl):

fa = Ts / Tsp = Ts / (f Ts/P + (1-f) Ts)

fa = P / (f + (1-f) P) → 1 / (1-f) !

1 Generalmente, una parte en paralelo y otra en serie:

Tsp = f Tp + (1-f) Ts

Amdahl

Arquitecturas Paralelas 12- 13 25

Page 26: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC

1 Ley de Amdahlfa = P / (f + (1-f) P) → 1 / (1-f)

0

20

40

60

80

100

0 20 40 60 80 100

Fact

or

de a

cele

raci

ón

Número de procesadores

f = 0,8 f = 0,9

f = 0,95

Factor de aceleración lineal (P)

Amdahl

Arquitecturas Paralelas 12- 13 26

Page 27: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC

2 Muchas veces, el paralelismo no se utiliza para ir más rápido sino para ejecutar tareas de mayor tamaño.

fa = Ts’ / Tp’fa = (1-f) + f P

(1-f) Ts f Ts

Gustafson

f Ts P(1-f) Ts

mayor tamaño (xP)Ts’ = ((1-f) + f P) Ts

f Ts(1-f) Ts

P procesadores

Tp’ = Ts

Ts

serie

paralelo

Arquitecturas Paralelas 12- 13 27

Page 28: UPV-EHU / ATC 1 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad

UPV-EHU / ATC

2 Gustafson

0

10

20

30

40

0 10 20 30 40

Fact

or

de a

cele

raci

ón

Número de procesadores

f constante

ideal

t constante

fa = (1-f) + f P

Gustafson

Arquitecturas Paralelas 12- 13 28