sistemas de memória cache em multiprocessadores prof. dr. norian marranghello grupo 11 jarbas de...

32
Sistemas de Memória Sistemas de Memória Cache em Cache em Multiprocessadores Multiprocessadores Prof. Dr. Norian Marranghello Prof. Dr. Norian Marranghello Grupo 11 Grupo 11 Jarbas de Freitas Peixoto Jarbas de Freitas Peixoto Anderson Kenji Ono Anderson Kenji Ono

Upload: maria-das-neves-giovana-franco-sales

Post on 07-Apr-2016

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Sistemas de Memória Sistemas de Memória Cache em Cache em

MultiprocessadoresMultiprocessadores

Prof. Dr. Norian MarranghelloProf. Dr. Norian Marranghello

Grupo 11Grupo 11Jarbas de Freitas PeixotoJarbas de Freitas Peixoto

Anderson Kenji OnoAnderson Kenji Ono

Page 2: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Tópicos Abordados

• Introdução

• Estruturas de Memórias Cache

• Protocolos de Coerência

• Protocolos baseados em Software

• Protocolos baseados em Hardware

• Protocolos de Diretório

• Protocolos Snoopy (Protocolos Espiões)

Page 3: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

IntroduçãoMultiprocessadores de Memória Compartilhada• Memória compartilhada acessada através de um subsistema de

comunicação

P 1 P 2 P 3 P n

Memória Compartilhada

Barramento

Page 4: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

IntroduçãoMultiprocessadores de Memória Compartilhada

Vantagens:• Baixo custo de implementação• Modelo de programação simples (permite fácil desenvolvimento de

software paralelo)

Desvantagens:• Competição pela utilização de recursos compartilhados• Aumento da latência média de acesso à memória compartilhada

Page 5: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Estruturas de Memória Cache Objetivo:• Minimizar a diferença de velocidade entre a CPU e o sistema de

memória

Funcionamento:• Princípio da localidade• Transferência da parte relevante das informações sobre o processo em

execução para a memória cache

Page 6: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Tipos de Memória Cache em Multiprocessadores

• Caches Compartilhadas Reduzem o tempo médio de acesso à memória, mas não conseguem

diminuir a disputa por recursos compartilhados

P 1

P 2

P 3

Memória Compartilhada

P nSwitch

CC Cache Compartilhada

Processadores

Caminho de dados compartilhado

Barramento

Page 7: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Tipos de Memória Cache em Multiprocessadores

• Caches Privadas Satisfazem a maioria de referências à memória localmente, eliminando

a necessidade de acesso a memória compartilhada

P 1 P 2 P 3 P n

Memória Compartilhada

CP CP CP CP

Barramento

Caches Privadas

Processadores

Page 8: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Problema de Coerência da Cache

• Vários processadores com módulos de memória cache individuais

• Múltiplas cópias do mesmo dado em diferentes caches simultaneamente

• Processadores habilitados a atualizar suas cópias livremente

Solução:• Adotar uma estrutura que permita o gerenciamento das informações

dispersas

Page 9: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Inconsistência de DadosCausas:• Compartilhamento de dados que podem ser modificados• Migração de processos• Operações de Entrada/Saída

Sistema Coerente• Todas as leituras por qualquer processador retornam o valor produzido

pela última operação de escrita, independente de qual processador realizou esta operação

Page 10: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Protocolos de Coerência• Métodos que definem o conjunto de operações de acesso a memória

compartilhada, prevenindo inconsistências entre caches

Classes de Protocolos de Coerência em Multiprocessadores

• Protocolos baseados em Software

• Protocolos baseados em Hardware

Page 11: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Protocolos Baseados em Protocolos Baseados em SoftwareSoftware

• Características

• Vantagens

• Desvantagens

Page 12: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em SoftwareBaseados em Software• Características

- Soluções estáticas ou preventivas

- Tratamento da coerência

- programador, compilador ou SO;

- soluções em tempo de compilação.

- Coerência

Evitar existência de cópias inconsistentes de dados nos módulos de memória cache;

Permite a cópia dos dados quando estes não estão sendo compartilhados.

Page 13: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em SoftwareBaseados em SoftwareO compilador tem que ser capaz de analisar e identificar, no programa, cada variável que está sendo compartilhada. E o momento em que se pode fazer cópias dessas variáveis na cache.

Logo se tem:

Variáveis possíveis de cópia;

Variáveis não possíveis de cópia.

Page 14: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em SoftwareBaseados em SoftwareMarcação das variáveis e invalidação das cópias:

O programa é dividido em unidades computacionais.

- Apenas leitura por diversos processos:

Nesse caso não há problema pois a informação pode ser copiada em todos os módulos de memória desejados;

- Apenas leitura por vários processos e leitura/escrita por um único processo:

Somente o processo de leitura/escrita pode copiar a variável, mantendo uma politíca de atualização para manter os dados consistentes;

Page 15: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em SoftwareBaseados em Software- Leitura/escrita por um único processo:

Como o processo é único o dado pode ser copiado para a cache;

- Leitura/escrita por diversos processos:

Não é permitido copiar a informação na cache.

Page 16: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em SoftwareBaseados em Software• Vantagens

- Mais baratos

• Desvantagens

- Esquemas estáticos tornam esses métodos ineficientes

- Hit ratio é reduzido.

Page 17: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Protocolos Baseados em Protocolos Baseados em HardwareHardware

• Características

• Grupos

- Directory Protocols

- Snoopy Protocols

• Vantagens

• Desvantagens

Page 18: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em HardwareBaseados em Hardware• Características

- São mais populares e mais freqüentemente utilizados em multiprocessadores comerciais.

Page 19: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em HardwareBaseados em Hardware• Características

- São mais populares e mais freqüentemente utilizados em multiprocessadores comerciais.

• Grupos

- Directory Protocols (Protocolos de Diretório)

- Snoopy Protocols (Protocolos Espiões)

Page 20: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em HardwareBaseados em HardwareDirectory Protocols (Protocolos de Diretório)

- Estes protocolos armazenam informações a respeito de onde as cópias do bloco estão localizadas.

- Nomalmente a coerência é delegada a um Controlador central.

Obs: Quando ocorre uma requisição dos controladores de cache local, o controlador central analisa o diretório e fornece os comandos necessários para transferir dados entre memória e caches ou entre caches.

Page 21: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em HardwareBaseados em Hardware- Protocolos de Diretório

Estrutura do Bloco Replicada

EMaster Copy

P bits

EReplicated Block P : Número de processadores

V : Válido ou Inválido

E : Exclusivo ou somente Leitura

V

EReplicated Block V

EReplicated Block V

Page 22: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em HardwareBaseados em Hardware- Protocolos de Diretório Processador 1 requisita um bloco de dados para escrita:

Memória Compartilhada

Bloco Principal

E P1 P2 P3

C1 C2 C3P1 P2 P3

Barramento

CCL CCL CCL

Controladores de Cache Local

V 0 – Desatualizado1 – atualizado

E 0 – Somente leitura1 – Permisão p/ op. escrita

BlocoE V1

1 0 00

1

Validação

Exclusividade

Page 23: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em HardwareBaseados em Hardware- Protocolos de Diretório Processador 2 requisita o mesmo bloco de dados:

Memória Compartilhada

Bloco Principal

E P1 P2 P3

C1 C2 C3P1 P2 P3

Barramento

CCL CCL CCL

Controladores de Cache Local

V 0 – Desatualizado1 – atualiza

E0 – Somente leitura1 – Permisão p/ op. escrita

BlocoE V1

1 1 00

1 BlocoE V0 1

Page 24: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em HardwareBaseados em Hardware- Protocolos de Diretório Processador 1 realiza uma operação de escrita invalida bloco do Proc 2:

Memória Compartilhada

Bloco Principal

E P1 P2 P3

C1 C2 C3P1 P2 P3

Barramento

CCL CCL CCL

Controladores de Cache Local

V 0 – Desatualizado1 – atualiza

E0 – Somente leitura1 – Permisão p/ op. escrita

BlocoE V1

1 1 00

1 BlocoE V0 0

Page 25: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em HardwareBaseados em Hardware- Protocolos de Diretório Processador 2 busca o bloco atualizado na memória:

Memória Compartilhada

Bloco Principal

E P1 P2 P3

C1 C2 C3P1 P2 P3

Barramento

CCL CCL CCL

Controladores de Cache Local

V 0 – Desatualizado1 – atualiza

E0 – Somente leitura1 – Permisão p/ op. escrita

BlocoE V1

1 1 00

1 BlocoE V0 1

Page 26: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em HardwareBaseados em Hardware- Protocolos de Diretório Processador 1 termina operação de escrita:

Memória Compartilhada

Bloco Principal

E P1 P2 P3

C1 C2 C3P1 P2 P3

Barramento

CCL CCL CCL

Controladores de Cache Local

V 0 – Desatualizado1 – atualiza

E0 – Somente leitura1 – Permisão p/ op. escrita

BlocoE V0

1 1 01

1 BlocoE V0 1

Page 27: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em HardwareBaseados em Hardware- Protocolos de Diretório Processador 3 requisita o bloco para escrita:

Memória Compartilhada

Bloco Principal

E P1 P2 P3

C1 C2 C3P1 P2 P3

Barramento

CCL CCL CCL

Controladores de Cache Local

V 0 – Desatualizado1 – atualiza

E0 – Somente leitura1 – Permisão p/ op. escrita

BlocoE V0

1 1 10

0 BlocoE V0 0 Bloco

E V1 1

Page 28: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em HardwareBaseados em Hardware- Protocolos de Diretórios

Conclusões:

- São Muito efetivos em sistemas de larga escala que envolvem barramentos múltiplos ou redes de interconexão.

- Não Flexível em caso de expansão (diretórios grandes)

- Garantir escalabilidade

- O uso de um ponto central e pelo overhead de comunicação entre vários controladores de cache e o controlador central torna-se uma desvantagem

Page 29: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em HardwareBaseados em Hardware- Protocolos Espiões (Snoopy Protocols)

Utiliza distribuição para tratar coerência.

São baseados nas ações de controladores de cache local e suas informações de estado local sobre o dado na cache.

Duas políticas de escrita são normalmente aplicadas:

-Write Invalidate

- Write Update

Page 30: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em HardwareBaseados em Hardware- Write Invalidate

São protocolos de Invalidação.

Permitem múltiplos leitores mas apenas um escritor de cada vez.

Cada escrita em um bloco compartilhado deve iniciar com invalidação de todas as outras cópias do mesmo bloco.

Page 31: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em HardwareBaseados em Hardware- Write Invalidate (Invalidação)

Permitem múltiplos leitores mas apenas um escritor de cada vez.

Cada escrita em um bloco compartilhado deve iniciar com invalidação de todas as outras cópias do mesmo bloco.

- Write Update (atualização)

A palavra a ser escrita em um bloco compartilhado é distribuída a todos os outros e caches contendo aquele bloco podem atualizá-lo

Isso previne um estado de espera, mas aumenta tráfego.

Page 32: Sistemas de Memória Cache em Multiprocessadores Prof. Dr. Norian Marranghello Grupo 11 Jarbas de Freitas Peixoto Anderson Kenji Ono

Baseados em HardwareBaseados em Hardware- Protocolos Espiões

Conclusões:

Devido a ineficiência de performance para todos os tipos de carqa de trabalho dos dois métodos. Existem protocolos que combinam as duas políticas.

Eles iniciam com Broadcast de escritas, mas quando uma longa seqüencia de escritas locais é encontrada ou prevista, o sinal de invalidação do bloco é enviado.

Estas soluções procuram adaptar os esquemas de coerência de maneira a melhorar a performance do sistema.