Memória Compartilhada
Distribuída (DSM)
Prof. Dr. Norian Marranghello
Grupo 12
César Eduardo Atílio
Lionis de Souza Watanabe
Visão Geral
•
Introdução
•
Algoritmos
•
Localização de Dados
•
Implementação de Sistemas DSM
•
Sistemas DSM a Objeto
•
Níveis de Implementação de Mecanismos de DSM
•
Granulosidade da Unidade de Coerência
•
Configurações de Arquiteturas
Introdução
Abstração do conceito de DSM
Host 1
Host 2
Host N
Memória Compartilhada
Algoritmos
Quatro algoritmos de memória distribuída
Replicação
Migração
Não-Migração
• Migração
- exploração local no acesso a dados
- diminui o acesso remoto
• Replicação
- acesso de leitura múltiplo
Não-Replicação
Algoritmo Central Server
•
•
•
Acessos remotos
Leitura de dados: retorno dos dados
Atualização de dados: retorno de ACK´s
Problema
•Servidor = gargalo = ponto fraco
Como resolver?
• Utilizar vários servidores
• Localizar servidor apropriado para o acesso
• Partição de dados, função de mapeamento
Algoritmo Migration
•
•
•
•
•
Acesso subsequente a dados realizado localmente
Protocolo de escrita/leitura único
Migração de toda a página ou bloco, thrashing
Parâmetro de ajuste para duração da possessão de dados
Busca de dados
- Servidor central
- Pedido em broadcast
Problema
•Efeito pingue-pongue
Algoritmo Full Replication
•
•
•
Múltiplos leitores/múltiplos escritores
Manter consistência de dados replicados
Operações de escrita seqüenciais
- Sequenciador de escrita local
- Falhas = retransmissão
- Protocolo de NACK
Algoritmo Read Replication
•
•
•
•
•
Replicação reduz custos médios
Múltiplos leitores/Único escritor
Um host lê/escreve cópias, outros hosts apenas lêem cópias
Write invalidate -> invalida cópias
Bastante utilizado em DSM
Localização de dados
•
•
•
Estrutura de diretório distribuída
Localizar proprietário do bloco
Localizar e invalidar/atualizar cópias do bloco
Retransmissão do pedido de escrita
2) Controlador de diretório
(CD) retransmite pedido
para proprietário
4) Nova entrada do bloco
no diretório
Solicitação de escrita
1) Solicita escrita
para “home cluster”
Atualização de
propriedade
dirty remote | cópia em B
5) CD envia
reconhecimento para novo
proprietário
Home
Cluster
Dados
6) Completa escrita
Solicitante
Reconhecimento
3) CD envia
dados para
solicitante e
atualização de
propriedade para
“home cluster”
Proprietário
Implementação de Sistemas
DSM
Nível de:
•
Hardware dedicado
•
Paginação de memória virtual
•
Middleware (camada para serviços de rede)
Implementação de Sistemas
DSM
Estrutura:
•
Orientação a byte: memória desestruturada
•
Orientação a objeto: nível semântico mais alto
•
Dados imutáveis: não há atualização
Sistemas DSM a Objetos
Por quê?
•
•
•
•
•
Encapsulamento
Modularidade
Tratamento de concorrência: melhor implementação de consistência
Nível semântico maior
Melhor implementação de sincronização e acesso
Níveis de Implementação do
Mecanismo de DSM
• Importante decisão na construção de sistemas DSM
• Objetivo: Facilidade de programação e escalabilidade
• Espaço de endereçamento compartilhado através das memórias
locais
• Pesquisas e ações podem ser realizadas em:
• software (redes de computadores pessoais)
• hardware (máquinas de alto desempenho)
Implementação por
Software
• Pode ser alcançada:
• a nível de usuário
• rotinas de biblioteca em tempo de execução
• sistema operacional
• linguagem de programação
• Maior flexibilidade
• Condiciona mecanismos de consistência ao comportamento da
aplicação
Sistema Munin
•
Baseado em variáveis
•
integra a MMU (Memory Manage Unit)
•
consistência release
•
Tipos de variáveis:
• Ordinárias
• Partilhadas
• Read-Only
• Migratory
• Write-Shared
• Convencional
• Sincronização
Implementação por
Hardware
•
Garantem:
• replicação automática dos dados compartilhados nas memórias
locais e chaches de processador
• Coerência de caches
•
Pesquisas rápidas
•
Menor latência de memória
DSM por hardware são utilizados principalmente em máquinas onde
desempenho é mais importante do que custo
RMS - Reflective Memory
Systems
• Pequeno número de minicomputadores
• espaço de endereçamento fora
dos segmentos da memória local
• dados refletidos
• unidade de replicação (8 Kbytes)
• segmentos tratados como janelas
• abertas
• fechadas
• um segmento replicado pode apontar para diferentes
endereços em cada cluster
Granulosidade
Granulosidade da unidade de coerência determina o tamanho do bloco
de dados gerenciado pelos protocolos de coerência
• em sistemas de hardware
•Reduz exigências
de comunicação
• em sistemas de software
• Organiza os dados
em grandes blocos
• Falso Compartilhamento
DESPERDÍCIO
Configurações de
Arquiteturas
• Classificação de Flynn
• SISD (single instruction stream over a single data stream)
• SIMD (single instruction stream over multiple data streams)
• MIMD (multiple instruction streams over multiple data streams)
• MISD (multiple instruction streams and a single data stream)
Computadores Paralelos
• Computadores Paralelos (MIMD)
I/O
UC1
FI
P1
FI
FD
MC
I/O
UCn
FI
Pn
FD
FI
• multiprocessadores de memória compartilhada
• multicomputadores de passagem de mensagem
Computadores Vetoriais
•Computadores Vetoriais (SIMD)
P1
FD
ML1
FD
FI
UC
Conjunto de
dados do host
FI
Pn
FD
MLn
FD
• arquitetura memória-a-memória
• arquitetura registrador-para-registrador
Download

22 de maio