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
DISCA-3
$ Bus
Memoria principal Mem (a) Cache compartida (b) Memoria compartida con bus Dispositivos E/S
P1
Pn P1 Pn
$ Red de interconexin
$ Mem
Mem
DISCA-6
DISCA-5
1 u :5 Memoria 2
DispositivosI/O
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!
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
V
BusWr/--
I
DISCA-10 PrWr/BusWr
Las escrituras acertadas no usan el bus Cmo asegurar propagacin de escrituras? Necesitamos protocolos ms sofisticados
DISCA-12
$ u:5
1 u:5 Memory 2
I/O devices
S PrRd/BusRd
PrRd/ BusRd/
DISCA-14
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)
PrRd/ BusRd/Flush
Modificados
x x
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
DISCA-18
AMD
Athlon MP (2 proc.) 2000 Opteron (hasta 8 proc) 3000 (64bits)(SSMP)
PowerPC
DISCA-19 DISCA-20
(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
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?
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
BusWr/
DISCA-29