A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula19: Desempenho de SSM Large-Scale MP Sincronização."— Transcrição da apresentação:

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

2 Coerência de Caches Classificação de MR em 3 C’s O que pode acontecer em uma cache coerente? Sharing miss False sharing

3

4 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

5 Snoopy Hierárquico Maneira mais simples: hierarquia de barramentos, coerência snoopy a cada nível Duas possibilidades L1 P P L2 L1 P P L2 Main Mem L1 P P L2 L1 P P L2 Mem B1 B2 B1

6 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 P L2 L1 P P L2 Main Mem B1 B2

7 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

8 L1 P P L2 L1 P P L2 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

9 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

10

11 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

12 Protocolo Baseado em Diretório Cache P 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

13 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

14 Protocolo Baseado em Diretório

15 Protocolo (Cache) Invalid Shared Exclusive Send read miss message CPU read Invalidade CPU read hit CPU read miss Read miss CPU write Send write miss message Fetch Data write-back CPU read miss Data write-back, read miss CPU write miss Data write-back Write miss CPU write hit CPU read hit Fetch invalidade Data write-back Send write miss CPU write

16 Protocolo (Diretório) Uncached Shared Exclusive Data value reply Sharers = {P} Read miss Data value reply Sharers += {P} Write miss Invalidate; Sharers = {P}; data value reply Read miss Fetch, data value reply, Sharers += {P} Write miss Fetch/Invalidate Data value reply Sharers = {P} Data write back Sharers = {} Data value reply Sharers = {P} Write miss

17 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)

18 Sincronização SSM: sequência de instruções capazes de recuperar ou alterar valores atomicamente LSM: latência pode adicionar problemas de desempenho

19 Primitivas de Hardware Atomic exchange Test-and-set Fetch-and-increment Load-linked

20 try: ORR3,R4,R0 LLR2,0(R1) SCR3,0(R1) BEQZR3,try MOVR4,R2

21 Implementando fetch-and- increment com load-linked try: LLR2,0(R1) DADDUIR3,R2,#1 SCR3,0(R1) BEQZR3,try

22 Implementando Locks com Coerência de Cache DADDU R2,R0,#1 lockit: EXCH R2,0(R1) BNEZ R2,lockit lockit: LDR2,0(R1) BNEZR2,lockit DADDUI R2,R0,#1 EXCHR2,0(R1) BNEZR2,lockit

23 Implementando Locks com Coerência de Cache lockit: LLR2,0(R1) BNEZR2,lockit DADDUIR2,R0,#1 SCR2,0(R1) BEQZR2,lockit


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

Apresentações semelhantes


Anúncios Google