• No se han encontrado resultados

Modulo III. Multiprocesadores

N/A
N/A
Protected

Academic year: 2021

Share "Modulo III. Multiprocesadores"

Copied!
22
0
0

Texto completo

(1)

Modulo III. Multiprocesadores

Tema 8. Coherencia. Consistencia.

Sincronización.

Arquitectura e Ingenier

Arquitectura e Ingenier

í

í

a de

a de

Computadores

Computadores

Lección 12

(2)

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

(3)

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

(4)

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

(5)

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)

(6)

Intel® 870 chipset

Scalable Node Controller (SNC) Scalable Node Controller (SNC) Legacy I/O hub

Front 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

(7)

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 cache

(8)
(9)

Memory 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

(10)

SGI

®

NUMAflex™ Architecture

C-Brick:

Itanium2™, memoria, SHUB ASICS

Itanium2 ® 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)

(11)
(12)

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

(13)

Sun Fireplane (15K…)

Coherencia

Snoopy CrossbarData Address Crossbars Address Responses Coherencia Directorio Coherencia Directorio CPU Mem I/O

(14)

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 Fetch

Int 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

(15)

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

(16)

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 Glueless

(17)

AMD 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™

(18)

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

AMD Opteron™

Snoop

filter

HT SW0 Remote cache HT SW1 HyperTransportTM Switch

(19)

AMD Dual-Core Opteron

System Request Interface (SRI) Advanced Programmable Interrupt Controller (APIC) CPU 0 Data CPU 1 Data CPU 0 Probes CPU 1 Probes CPU 0 Requests CPU 1 Requests CPU 0 Int CPU 1 Int Memory Controller (MCT) DRAM Controller (DCT) RAS/CAS/Cntl Crossbar (XBAR) HyperTransport™ Link 0 64-bit Data 64-bit Command/Address 16-bit Data/Command/Address HyperTransport Link 2 HyperTransport Link 1

(20)
(21)
(22)

Referencias

Documento similar