Modulo III. Multiprocesadores
Tema 8. Coherencia. Consistencia.
Sincronización.
Arquitectura e Ingenier
Arquitectura e Ingenier
í
í
a de
a de
Computadores
Computadores
Lección 12
L12. Tendencias actuales y ejemplos
Esquema
Tendencias actuales
Ejemplos:
Snoopy
Intel 870
Sun UltraPort
Directorio
SGI Numaflex
Sun Fireplane
Glueless/CMP/SMT
AMD Opteron
Intel Pentium D
IBM Power 4/5
Tendencias actuales
Multiprocesadores “glueless”
Idea:
Aprovechar la mayor capacidad de integración, para
incorporar dentro de los procesadores elementos (tradicionalmente) externos
Objetivos:
Reducir coste de sistema multiprocesador Reducir latencia
Aumentar ancho de banda Mejorar escalabilidad
Elementos integrados:
Controlador de memoria
El procesador se conecta directamente a la DRAM
Controlador de comunicaciones/switch
Los procesadores se pueden conectar directamente
Tendencias actuales
Simultaneous MultiThreading (SMT)
Idea:
Aprovechar la mayor capacidad de integración, para
convertir un procesador físico en S procesadores lógicos
Objetivos:
Utilización eficiente de los recursos compartidos Mejorar el rendimiento (con poco sobrecoste)
Elementos:
S copias del estado arquitectónico, S=2, 4, (8?)
PC, Registros,, etc.
Completamente compartido
Caches, unidades funcionales y datapaths
Compartido mediante umbrales, particiones, etc.
Registros físicos, cola de instrucciones y ROB
Tendencias actuales
Chip MultiProcessor (CMP)
Idea:
Aprovechar la mayor capacidad de integración, para
replicar el procesador
Objetivos:
Mejorar rendimiento Reducir coste sistema Mejorar escalabilidad
Elementos compartidos:
Ninguno
Memoria cache (L2/L3)
Intel® 870 chipset
Scalable Node Controller (SNC) Scalable Node Controller (SNC) Legacy I/O hubFront side bus
I/O hub PCI-X Bridge PCI-X Bridge DDR Anchos de Banda por Proc Pico : 6.4 GB/s
Scalable Node Controller (SNC)
Local-access transaction tracker
Remote-access transaction tracker
Data buffer : bypass (prioridad Load…) Processor Bus
SP0 SP1
Firmware hub
Local Remote BufferData
Mem
Controller
MProcs basados en Intel Itanium e Intel Xeon
4
Scalability Port
Switch Scalability PortSwitch
Intel® 870 chipset
SNC SNC SNC SNC
I/O Hub
Scalability Port Switch (SPS)
Crossbar 6 puertos
Snoop Filter: Estado de todas las líneas de cacheMemory Module Board Interconnect μP $ μP $ μP $ μP $
Sun Ultra Port Architecture (E10K)
Memory Module Board Interconnect μP $ μP $ μP $ μP $ 16x16 Data Crossbar 4 Buses de Direcciones Para escalar Snoopy
SGI
®NUMAflex™ Architecture
C-Brick:
Itanium2™, memoria, SHUB ASICSItanium2 ® Itanium2 ® Itanium2 ® Itanium2 ®
Node 0
Node 1
NUMALink
XIO™ + NUMAlink NUMAlink XIO™ +
Mem SHUB SHUB Mem
IX-brick PX-brick
IX-brick PX-brick
R-brick R-brick
R-Brick:
Router 8 puertos:8×8 cross-bar
R-Brick:
Router 8 puertos: 8×8 cross-bar 4 Itanium2 Itanium2 Front-size Bus (Snoopy) SHUB: Coherencia (Directorio)SGI
®NUMAflex™ Architecture
Caches: MESI
Directorio: 7 Estados + Bits de Presencia
Unowed: no hay copias
Shared: 0 ó más copias solo lectura
Exclusive: 1 única copia en estado E o M Busy:
Request pendiente: Read, Read-Exclusive, Uncacbed-Read Poison State: utilizado para migración de páginas
Read Request
SHUB determina ID Home a partir de la dirección
Acceso local especulativo (concurrente con la lectura del directorio) para reducir la latencia
Shared or Unowed: Request-Reply Busy: negative acknowledge (NACK) Exclusive: reply forwarding
Sun Fireplane (15K…)
Coherencia
Snoopy CrossbarData Address Crossbars Address Responses Coherencia Directorio Coherencia Directorio CPU Mem I/O
AMD Opteron™
L1 Instruction Cache (64KB) 44-entry Load/Store Queue L2 Cache (1 MB) L1 Data Cache (64KB) Crossbar Memory Controller HyperTransportTM System Request Queue FetchInt Decode & Rename
μOPs
36-entry FP scheduler
FADD FMUL FMISC Branch
Prediction
Instruction Control Unit (72 entries)
Fastpath Microcode Engine Scan/Align
FP Decode & Rename
AGU ALU AGU ALU MULT AGU ALU
Res Res Res
Bus Unit
9-way Out-Of-Order execution
16 instruction bytes fetched per cycle
DDR Memory Controller
HT
Xbar
System Request Queue
HT
Memoria
(hasta 16 GB)
HT
Arquitectura Tradicional
Server Processor Server Processor North Bridge North Bridge South Bridge South Bridge PCI PCI-X IDE, FDC, USB, Etc. DDR PCI-X Bridge PCI-X Bridge DDR Server Processor Server Processor Competencia por el Ancho de Banda(I/O y acceso a memoria)
Impacto en Latencia
Es necesario pasar por el NorthBridge
DRAM
AMD Opteron™ : Glueless Multiprocessing
AMD Opteron™ Processor AMD Opteron™ Processor PCI PCI-X IDE, FDC, USB, Etc. DDR HyperTransport™ technology links
Menor Latencia
Menor Contención DDR AMD-8131™ PCI-X Bridge AMD-8131™ PCI-X Bridge AMD-8111™ I/O Hub AMD-8111™ I/O Hub
Multiprocesador GluelessAMD Opteron™ : Glueless Multiprocessing
cHT [1] cHT [1] cHT [1] cHT [1] HT [3] VGA BMC BMC FLSH FLSH LPC LPC AMD-8111™ SIO SIO PCI-33 HT [2] AMD-8131™ PCI-X PCI-X 64-bits @ 133MHz PCI-X 64-bits @ 133MHz HT [4] AMD-8131™ PCI-X PCI-X Gbit Enet SCSI Gbit Enet PCI-X 64-bits @ 66MHz DDR DDR DDR DDR AMD Opteron™ AMD Opteron™ AMD Opteron™ AMD Opteron™Latencias:
1P System: <80ns
1-Hop in 8P System: <115ns 2-Hop in 8P System: <150ns 3-Hop in 8P System: <190ns
Anchos de Banda (all-to-all) por Proc: 1P : 5.3 GB/s 2P : 3.53 GB/s 4P : 2.8 GB/s