Anda di halaman 1dari 15

Tema 8: Multiprocesadores

Arquitectura de Computadores y Sistemas Operativos I 4 Curso Plan 96 Escuela Tcnica Superior Ingenieros Telecomunicaciones DISCA

Tema 8: Multiprocesadores
1 Conceptos y Clasificacin 2 Multiprocesadores Simtricos (SMP) 2.1 Coherencia de cache 3 MP escalables de memoria compartida (SSMP) 4 MP escalables de memoria distribuida (DSMP) 5 Redes de estaciones de trabajo (NOW)

1 Conceptos y Clasificacin
http://www.top500.org/ORSC

Definicin:
Conjunto de procesadores interconectados , diseados para la ejecucin conjunta de aplicaciones.

Justificacin
Existen problemas para los que es necesaria una mayor potencia de clculo. Para conseguir esa potencia de clculo no es suficiente el aumento de la velocidad de reloj Aplicaciones = Conjunto de tareas que cooperan Se pueden utilizar los microprocesadores estndar como elementos constructivos

1 Conceptos y Clasificacin (2)


Como mejorar prestaciones:
Multiprogramacin = Aumenta productividad al repartir los procesos. El SO puede ser quien lo gestione. Aplicacin distribuidas = Disminuye el tiempo de ejecucin. Aplicaciones especiales.

Segn el modelo de programacin


Variables compartidas Paso de mensajes

Segn la arquitectura de la memoria


DISCA-4

Memoria compartida Memoria distribuida

DISCA-3

1 Conceptos y Clasificacin (3)


Alternativas de interconexin
P1 Switch P1 $ Primer Nivel Pn Pn

$ Bus

Memoria principal Mem (a) Cache compartida (b) Memoria compartida con bus Dispositivos E/S

P1

Pn P1 Pn

$ Red de interconexin

$ Mem

Mem

Red de interconexin Mem (c) Dancehall Mem (d) Memoria distribuida

2 Multiprocesadores Simtricos (SMP)


Todos los procesadores comparten la misma memoria y el mismo espacio de direccionamiento. El tiempo de acceso a memoria es igual para todos los procesadores y todas las posiciones (UMA). Modelo de programacin basado en variables compartidas, aunque es posible simular paso de mensajes. Mecanismos de sincronizacin para el acceso a recursos comunes. Sistemas ms comunes basados en BUS. El principal problema de estos sistemas es la coherencia de la memoria cache.

DISCA-6

DISCA-5

2.1 Coherencia de cache


P1 u =? $ u :5 4 $ P2 u =? 5 $ u :5 P3 u =7 3

1 u :5 Memoria 2

DispositivosI/O

2.1 Coherencia de cache (2)


Espionaje (snoopy) : Operaciones en el bus son vistas por todos los controladores de cache. Hasta ahora los controladores mantenan la informacin en la cache basndose en las operaciones del procesador y el estado de los bloques, ahora tienen en cuenta adems lo que ocurre en el bus. Los protocolos de coherencia dependen del mecanismo de actualizacin de memoria (write-back o write-through). OBJETIVO = Asegurar la coherencia de las variables compartidas y aprovechar el ancho de banda efectivo del bus.

DISCA-8

DISCA-7

Los procesadores ven distintos valores de u despus del evento 3 Con polticas write-back, el valor que se escriba en memoria depende de que cache vuelque el bloque a memoria y cuando Los procesos que accedan a memoria pueden ver un valor obsoleto Inaceptable para los programas, y frecuente!

2.1 Coherencia de cache (3)


P1 Bus snoop P n $ $

Mem

I/O devices

Cache-memory transaction

WRITE-THROUGH : Cada bloque en dos estados posibles. Bits de estado hardware asociados slo con bloques de cache los otros bloques se pueden ver como invlidos (no-presentes) La escritura invalida todas las dems caches (no se cambia el estado local) podemos tener mltiples lectores simultneamente de un bloque, pero una escritura los invalida todos
DISCA-9

2.1 Coherencia de cache (4)


Estados:
V: Vlido I: No valido
PrWr/BusWr PrRd/-BusRd/--

Eventos generados por el procesador:


PrRd (read) PrWr (write)
PrRd/BusRd

V
BusWr/--

Operaciones detectadas generadas en el bus:


BusWr BusRd

I
DISCA-10 PrWr/BusWr

2.1 Coherencia de cache (5)


Requerimiento de elevado ancho de banda
Todas las escrituras de todos los procesadores se realiza a travs del bus Ejemplo: procesador de 200MHz, 1CPI y 15% instr. STORE de 8 bytes Cada procesador genera 30M stores o 240MB datos por segundo Un bus de 1GB/s puede soportar slo 4 procesadores sin saturarse Write-through es especialmente impopular para SMPs

Antememorias Write-back absorben la mayora de escrituras como aciertos de cache


DISCA-11
PrWr/ M BusRd/Flush PrWr/BusRdX S PrRd/BusRd BusRdX/Flush BusRdX/ PrRd/ BusRd/ PrWr/BusRdX I

Las escrituras acertadas no usan el bus Cmo asegurar propagacin de escrituras? Necesitamos protocolos ms sofisticados

2.1 Coherencia de cache (6)


Diseo de un protocolo write-back con invalidacin.(MSI) Estados:
Invlido (I): no presente en cahe Compartido (Shared) (S): uno o ms Sucio o Modificado (M): uno slo
PrRd/

Eventos generados por el procesador:


PrRd (read) PrWr (write)

Operaciones detectadas en el bus


BusRd: pide una copia que no intenta modificar BusRdX: pide una copia que intenta modificar BusWB: actualiza memoria

Acciones del controlador de cache:


Flush: vuelca al bus el contenido de un bloque

DISCA-12

2.1 Coherencia de cache (7)


Los reemplazamientos cambian el estado de dos bloques Escritura en un bloque en estado S como ya tiene los datos actualizados; podra usarse BusUpgr en vez de BusRdX Cuando se observa BusRd en el estado M: qu transicin hacer? Depende de las expectativas de patrones de acceso
S: se asume que se volver a leer pronto, en vez de que otro escriba bueno debido a la mayora de lecturas de datos pero hay que tener en cuenta los datos migratorios Yo leo y escribo, luego tu lees y escribes, despus X lee y escribe... Mejor ir al estado I, para no tener que ser invalidado por tu escritura Synapse transiciona al estado I Sequent Symmetry y MIT Alewife usan protocolos adaptativos
DISCA-13
BusRdX/Flush BusRdX/

La eleccin puede afectar a las prestaciones del sistema de memoria

2.1 Coherencia de cache (8)


PrRd/ PrWr/
P 1 P 2 P 3 $ u:5 3

$ u:5

BusRd/Flush PrWr/BusRdX PrWr/BusRdX

1 u:5 Memory 2

I/O devices

S PrRd/BusRd

PrRd/ BusRd/

DISCA-14

2.1 Coherencia de cache (9)


MESI: protocolo con cuatro estados basado en MSI Estados:
Los mismos que en MSI Estado nuevo: E. Este estado indica un acceso exclusivo en lectura
PrWr/ BusRdX PrRd/PrWr/ M BusRd/ Flush

PrWr/ E

BusRdX/ Flush

BusRd/ Eventos generados por PrWr/ PrRd/ Flush BusRdX/ BusRdX el procesador: (MSI) Flush PrRd/ S BusRd(S) Operaciones detectadas en el bus: BusRdX/ PrRd/ (MSI) Flush BusRd(S)

Lnea S: Lnea en OR cableada.

PrRd/ BusRd/Flush

Acciones del controlador de cache: (MSI)


Flush: envo cache a cache

2.1 Coherencia de cache (10)


Cuando la red de interconexin no es bus no es posible utilizar espionaje. El espa se sustituye por:
intercambio de mensajes entre controladores informacin comn accesible por todos los controladores (directorios)
c1 b1 x x x x x

Modificados

x x

Protocolos parecidos a los usados con espionaje

DISCA-16

DISCA-15

Ejercicio 1.
1. Un determinado multiprocesador soluciona el problema de la coherencia de caches con un mtodo de informacin centralizada. Supongamos que en la tabla existen las siguientes entradas:
p1 a b c d e 1 1 0 1 1 p2 0 1 0 0 0 p3 0 1 0 0 0 ..0.. ..0.. ..0.. ..0.. ..0.. pn 0 1 0 0 1 Mod 1 0 1 0 1

a) Justifica si son vlidas y el significado de cada una de las entradas. b) Qu acciones se tendran que realizar si el procesador 3 (p3) desea leer una palabra del bloque de la entrada a?.
DISCA-17

2 Multiprocesadores Simtricos (SMP)


Ejemplos de SMP comerciales basados en BUS

DISCA-18

2. Ejemplos SMP comerciales


Procesadores con soporte SMP de coste medio/bajo:
INTEL:
Xeon DP (2 proc.) 2500 Xeon MP (4 proc.) 6000

AMD
Athlon MP (2 proc.) 2000 Opteron (hasta 8 proc) 3000 (64bits)(SSMP)

PowerPC
DISCA-19 DISCA-20

Apple G5 (2 proc.) 3000

(64 bits)

3 Multiprocesadores escalables de
memoria compartida (SSMP)
Multiprocesadores de arquitectura de memoria distribuida, en los que todos los procesadores comparten un nico espacio de direccionamiento. Caractersticas
Modelo de programacin : Variables compartidas Arquitectura de memoria : Memoria distribuida

Los mecanismos de comunicacin estn implementados en los controladores de cache. (Mquinas NUMA) Ms fciles de ampliar (escalables) que los SMP, lo que significa un numero mayor de procesadores COMA: Cache Only Memory Architecture. Sistema en el que prcticamente toda la memoria est en las caches

3. SSMP (2)
Cray T3E
Hasta 1000 procesadores DEC-Alpha Memoria local Interfaz de red integrado en el sistema de memoria Links 650 MB/s E/S externa desde nodos especiales http://www.cray.com

3. ccNUMA: aldbaran.upv.es
SGI Altix 3700: http://www.sgi.com/servers/altix Nodos: hasta 4 Itanium 2 y 32GB RAM

DISCA-22

DISCA-21

4 Multiprocesadores escalables de
memoria distribuida (DSMP)
Multicomputadores: El elemento constructivo est formado por un procesador, su sistema de memoria y por un sistema de E/S. Caractersticas generales:
Modelo de programacin: Paso de mensajes mediante operaciones de E/S explcitas. Arquitectura de memoria: Memoria distribuida. Cada procesador tiene su espacio de direccionamiento.

4. DSMP (2)
NEC SX6 Vector http://www.sw.nec.co.jp/hpc/sx-e/sx6/index.html

DISCA-24

DISCA-23

Orientados a ejecutar aplicaciones especialmente diseadas para conseguir el paralelismo o SO especiales. La red tiene un tiempo de transferencia similar a un acceso a memoria. MPP: Massive Parallel Processor

5 Redes de estaciones de trabajo (NOW)


Las estaciones de trabajo individuales suelen estar conectadas a una red de rea local. Salvo en picos puntuales de trabajo, no se utilizan completamente los recursos de cada estacin. Clases de recursos:
Espacio de disco. E/S especial (CD-ROM, disp. para backups, impresoras) Recursos de computacin (CPU y memoria)

5 Redes de estaciones de trabajo(2)


Problemas de los sistemas MPP:
Pequeo volumen de ventas. Difcil amortizacin de diseo. Coste de mantenimiento alto. Coste del SW alto, ya sean aplicaciones especiales o el diseo de sistemas operativos (SSMP y SMP).

DISCA-26

Estaciones de trabajo SMP cada vez ms comunes. La estructura de de una red de rea local se parece a la estructura tpica de un multiprocesador. Las redes de estaciones de trabajo intentan crear un sistema multiprocesador utilizando el conjunto de recursos que se pueden compartir en una red de rea local.

DISCA-25

Cmo aprovechar al 100% estos recursos? Existen problemas que requieren ms prestaciones, necesitamos estaciones ms potentes?

5 Redes de estaciones de trabajo(3)


Elementos HW de MP sustituidos por entornos SW que dan una visin paralela de la NOW Ejemplos de entornos:
PVM: Parallel Virtual Machine. Diseo de aplicaciones distribuidas. CONDOR. Aplicaciones distribuidas y multiprogramacin Objetos distribuidos:
CORBA, DCOM (MS-Windows), JXTA JMS (Java)

Las prestaciones de NOW pueden mejorar con redes de prestaciones avanzadas:


Ethernet (100/1000 Mb). ATM para red local (150 Mb). Autonet (100 Mb). Myrinet (650/2200 Mb). Bus/Conmutadores. Conmutadores Conmutadores. Conmutadores.

Ejercicio 2.
Se ha observado que los procesadores a veces escriben una nica palabra en un bloque de la cache. Para optimizar este caso, en vez de usar siempre write-back, se propone el siguiente protocolo: 1.La primera escritura sobre un bloque el procesador realiza un write-through y pone el bloque en un estado R (reserved). 2.Una escritura en un bloque en estado R realiza una transicin al estado M que utiliza write-back. Dibujar el diagrama de estados modificando el MSI. En el diagrama se utilizar: PrRd, PrWr, BusRd, BusWr y Flush

DISCA-28

DISCA-27

PrRd/ PrWr/

M BusWr/Flush BusRd/Flush

PrW/---

BusWr/ BusRd/

PrRd/ PrWr/BusWr S

PrWr/BusRd,BusWr

PrRd/ BusRd/ PrRd/ BusRd I

BusWr/

DISCA-29

Anda mungkin juga menyukai