ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM...

23
ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização

Transcript of ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM...

Page 1: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

ARQUITETURA DE COMPUTADORESDEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG

Aula19: Desempenho de SSMLarge-Scale MPSincronização

Page 2: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Coerência de Caches Classificação de MR

em 3 C’s

O que pode acontecer em uma cache coerente?

Sharing miss

False sharing

Time P1 P21 Write x12 Read x23 Write x14 Write x25 Read x2

Page 3: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.
Page 4: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Extendendo Coerência de Caches para Memórias Compartilhadas Distribuídas

Ao contrário de memórias compartilhadas centralizadas, não possuímos neste caso um recurso centralizado que vê todas as transações (bus) Não há meio de broadcast Não há maneira de serializar transações

barramento funciona como meio de garantir serialização das operações

Técnicas Extender protocolos do tipo snoopy Protocolos baseados em diretórios

Page 5: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Snoopy Hierárquico Maneira mais simples: hierarquia de

barramentos, coerência snoopy a cada nível

Duas possibilidades

L1

P

L1

P

L2

L1

P

L1

P

L2

Main Mem

L1

P

L1

P

L2

L1

P

L1

P

L2Mem Mem

B1

B2 B2

B1

Page 6: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Hierarquias com Memória Global

Caches primárias: Alta performance (SRAM) B1 segue protocolo snoopy

básico Caches secundárias:

Muito maiores que L1 (precisam manter propriedade de inclusão)

L2 funciona como filtro p/ B1 e L1

L2 pode ser baseada em tecnologia DRAM

L1

P

L1

P

L2

L1

P

L1

P

L2

Main Mem

B1

B2

Page 7: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Hierarquias com Memória Global

Vantagens: Misses na memória principal requerem

tráfego único para a raiz da hierarquia Utilização de dados compartilhados não é

uma questão importante Desvantagens:

Misses para dados locais também trafegam na hierarquia

Memória em barramento global deve ser intercalada para aumentar BW

Page 8: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

L1

P

L1

P

L2

L1

P

L1

P

L2Mem Mem

B2

B1

Hierarquias Baseadas em Clusters

Memória principal é distribuída entre clusters Alocação de dados locais pode reduzir tráfego em barramento global Reduz latência (acessos locais mais rápidos) Exemplos: Encore Gigamax

L2 pode ser substituída por uma chave roteadora baseada em tags com coerência

Page 9: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Resumo de Hierarquias Vantagens:

Conceitualmente simples de se construir (aplica-se snoopy recursivamente)

Pode-se reduzir hardware necessário ao se combinar as funcionalidades

Desvantagens: Gargalo de comunicação na direção da raiz Latências podem ser grandes na direção da raiz

Page 10: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.
Page 11: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Protocolos de Coerência Baseados em Diretórios

Protocolos do tipo snoopy não escalam bem porque dependem de algum meio de broadcast

Snoop hierarquico faz raiz se tornar um gargalo

Mecanismos baseados em diretório escalam bem Evitam broadcasts

Mantém informação de todas as caches que possuem cópia do bloco

Utilizam mensagens ponto-a-ponto para manter coerência

Page 12: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Protocolo Baseado em Diretório

Cache

P

Cache

P

Rede de Interconexão

Memória Diretório

Bits de presença Dirty

K processadores

Para cada bloco de cache na memória => k bits de presença, 1 dirty-bit

Para cada bloco na cache Invalid Exclusive Shared

Page 13: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Estados Shared: um ou mais processadores

possuem o bloco cached, e o bloco na memória é atualizado

Invalid ou Uncached: nenhum processador possui uma cópia do bloco

Exclusivo: um único processador possui uma cópia do bloco

Page 14: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Protocolo Baseado em Diretório

Message Source Destination ContentsRead miss Cache Dir P,AWrite miss Cache Dir P,AInvalidate Dir R. Caches A

Fetch Dir R. Caches AFetch/Inv. Dir R. Caches A

Data value reply Dir Cache DataData write back R.Cache Dir A,Data

Page 15: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Protocolo (Cache)

Invalid Shared

Exclusive

Send read miss message

CPU read

Invalidade

CPU read hit

CPU read missRead miss

CPU write

Send w

rite m

iss message

Fetch D

ata w

rite-

back

CPU read m

iss

Data writ

e-back, r

ead miss

CPU write missData write-backWrite miss

CPU write hitCPU read hit

Fet

ch in

valid

ade

Dat

a w

rite

-ba

ck

Sen

d w

rite

mis

sC

PU

writ

e

Page 16: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Protocolo (Diretório)

Uncached Shared

Exclusive

Data value replySharers = {P}

Read missRead missData value replySharers += {P}

Write

miss

Invalidate; S

harers

= {P};

data value reply

Read miss

Fetch, d

ata valu

e reply,

Sharers

+= {P}

Write missFetch/InvalidateData value replySharers = {P}

Dat

a w

rite

back

Sh

arer

s =

{}

Dat

a va

lue

rep

lyS

har

ers

= {

P}

Writ

e m

iss

Page 17: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Organização de Diretórios Implementação dos diretórios na memória (como

o apresentado anteriormente) Apresenta problemas de escalabilidade Pode apresentar problemas de BW

Implementação dos diretórios na cache (SCI) Listas encadeadas (simples ou duplo) Mantém em cada cache “link” do próximo processador

compartilhando bloco SCI utiliza listas duplamente encadeadas Precisamos agora da mensagem “desconectar da lista”

e “conectar à lista” (a última equivalente a um MISS)

Page 18: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Sincronização SSM: sequência de instruções capazes de

recuperar ou alterar valores atomicamente

LSM: latência pode adicionar problemas de desempenho

Page 19: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Primitivas de Hardware Atomic exchange

Test-and-set

Fetch-and-increment

Load-linked

Page 20: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Load-linked

try: OR R3,R4,R0

LL R2,0(R1)

SC R3,0(R1)

BEQZ R3,try

MOV R4,R2

Page 21: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Implementando fetch-and-increment com load-linked

try: LL R2,0(R1)

DADDUI R3,R2,#1

SC R3,0(R1)

BEQZ R3,try

Page 22: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Implementando Locks com Coerência de Cache

DADDU R2,R0,#1

lockit:

EXCH R2,0(R1)

BNEZ R2,lockit

lockit:

LD R2,0(R1)

BNEZ R2,lockit

DADDUI R2,R0,#1

EXCH R2,0(R1)

BNEZ R2,lockit

Page 23: ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização.

Implementando Locks com Coerência de Cache

lockit:

LL R2,0(R1)

BNEZ R2,lockit

DADDUI R2,R0,#1

SC R2,0(R1)

BEQZ R2,lockit