Post on 05-Jul-2015
description
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Sincronizacao e Memoria compartilhada distribuıda
Joao Goncalves Filho
11 de outubro de 2012
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
1 Introducao
2 Sincronizacao de RelogiosRelogios fısicosRelogios logicos
3 Exclusao MutuaAlgoritmo centralizadoAlgoritmo distribuıdoAlgoritmo token ring
4 DSMClassificacao DSMImplementacoes DSM em nıvel de HardwareImplementacoes DSM em nıvel de SoftwareImplementacoes DSM hibrıdo
5 Bibliografia
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Sincronizacao
Gerenciamento que deve ocorrer quando existe comunicacao entrevarios dispositivos.
Sincronizacao em monoprocessadores, multiprocessadores e sistemasdistribuıdos.
Recursos compartilhados.
Ordenacao de eventos.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Relogios
Monitorar o tempo.
Relogio = Temporizador.
Contador, registrador de contador, registrador de retencao e ciclo derelogio.
Facilidade de sincronizacao em um sistema cetralizado.
Exemplo do programa make.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Relogios fısicos
Relogio fısico
Fazer os nos estarem em acordo em uma hora real comum.
Problema de defasagem de relogio.
Como sincronizar relogios fısicos com relogios do mundo real?
Como sincronizar os relogios um com outro?
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Relogios fısicos
Como o tempo e medido?
Transito solar - Dia solar - Segundo solar
A Terra esta desacelerando devido ao atrito das mares e ao arrasteatmosferico.
Segundo solar medio.
(1948) atomo de cesio 133, 1segundo = 9.192.631.770 transicoes doatomo.
Bureau International de l’Heure (BIH) e International Atomic Time(TAI), ciclos de relogio de cesio 133 desde a meia noite de 1o janeiro1958.
A discrepancia entre a hora TAI e a hora solar alcanca no maximo800ms.
A introducao dos segundos extras no TAI e denominado horacoodernada universal( Universal Coordinated Time - UTC).
Para fornecer UTC a quem precisa da hora exata, o NationalInstitute of Standard Time (Nist) opera uma estacao de radio deondas curtas cujo prefixo e WWV.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Relogios fısicos
Algoritmos de sincronizacao de relogios
Cada maquina deve ter um temporizador que provoca umainterrupcao H vezes por segundo.
Suponha que a hora UTC e t, entao o valor do relogio de umamaquina p e Cp(t)
Idealmente teriamos Cp(t) = t para todo p e todo t, assim seriaideal que C ′p(t) = dC/dt fosse 1.
C ′p(t) e denominado frequencia do relogio de p no tempo t, assimC ′p(t)− 1 denota a magnitude da diferenca entre a frequencia dorelogio p e de um perfeito.
Sabemos temporizadores reais nao interrompem exatamente H vezespor segundo, em chips modernos existe um erro relativo deaproximadamente 10−5.
1− ρ ≤ dCdt ≤ 1 + ρ
ρ e uma constante especificada pelo fabricante que indica a taxamaxima de deriva.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Relogios fısicos
Hora do relógio, C
UTC, t
-dC/dt > 1
-dC/dt = 1
-dC/dt < 1
Reló
gio
adian
tado
Relógio
perfe
ito
Relógio atrasado
B
A T1
T2 T3
T4
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Relogios fısicos
Network time protocol (NTP)
Protocolos propostos Cristian (1989) e deixar que os clientesconsultem um servidor de tempos. Assim surgirao problemas deatrasos.
Suponha que A faca uma requisao de hora B, como mostrado nafingura anterior temos que:
θ = T3 − δδ = (T2−T1)+(T4−T3)
2
Onde θ indica o deslocamento estimado de A em relacao a B e δ e oatraso estimado
Sao armazenados oito pares de valores (θ, δ).
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Relogios fısicos
Figura: Topologia do NTP, imagem extraıda do Wikepedia
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Relogios fısicos
Algoritmo de Berkeley
Daemon de tempo
3:00
3:003:00
2:50 3:25
3:00
2:50 3:25
-10 +25
0 3:05
3:05 3:05
+15 -20
+5
Figura: Funcionamento do algoritmo de Berkeley
Diferente do NTP em que o servidor e passivo, o servidor agora eativo.
Utilizado para sincronizacao de um grupo de computadores internosque podem nao estar conectados a nenhum receptor WWV.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Relogios logicos
Relogios logicos
Nao importa o tempo real, o que importa e que os nos da redeconcordem entre si de uma hora relativa.
Em um seu artigo classico Lamport (1978) mostra que o queimporta e ordem dos eventos.
No exemplo do make, o que e se input.c e mais ou velho ou maisnovo que o input.o
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Relogios logicos
Relogios logicos de Lamport
Relacao do acontece antes. a→ b, implica que o evento a ocorreantes de b
Se dois eventos x e y nao trocam mensagens, eles sao definidoscomo concorrentes.
Denomianos C (a) como sendo o valor do tempo do evento a, assimse a→ b, entao todos os processos devem concordar queC (a) < C (b)
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Relogios logicos
Relogios logicos de Lamport
06126
18243064236
485460
06168
24324065648
647280
062010
30405067060
8090100
P1 P2 P3
m1
m2
m3
m4
06126
18243064236
487076
06168
24324066148
697785
062010
30405067060
8090100
P1 P2 P3
m1
m2
m3
m4
Figura: Funcionamento do relogio de Lamport
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Exclusao Mutua
Trabalhar com concorrencia entre varios processos.
Controlar acesso a um mesmo recurso.
Os algoritmos distribuıdos de exclusao mutua podem serclassificados em duas categorias diferentes:
Solucoes baseadas em ficha.Abordagem baseada em permissao.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Algoritmo centralizado
Algoritmo centralizado
0 1 2
3
Requisição OK
Coodernador
Fila vazia
0 1 2
3
Requisição
Nenhuma respostaOu bloqueio
2
0 1 2
3
Liberação OK
Figura: Funcionamento do algoritmo centralizado
Um processo e eleito como coordenador.Sempre que um processo quiser acessar um recurso compartilhado,envia uma mensagem de requisicao ao coordenador.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Algoritmo distribuıdo
Algoritmo distribuıdo
0
1 2
8
12
12
88
12
0
1 2
OK
OK
OK
Acessarecurso
0
1 2
OK
Acessarecurso
Figura: Funcionamento do algoritmo centralizado
Proposto originalmente por Ricart e Agrawala (1981).Requer que haja uma ordenacao total de todos os eventos nosistema. Pode-se usar o algoritmo de Lamport para conseguir essaordenacao.Requer entrega confiavel de dados.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Algoritmo distribuıdo
Questoes do algoritmo distribuıdo
O algoritmo requer um numero de 2(n − 1) mensagens , onde n enumero de nos do sistema.
Existem agora n pontos de falha. Isto pode ser consertado utilizandosempre uma resposta a uma requisicao, junto com utilizacao de umtemporizador.
E preciso um controle dos nos que entram e sai do sistema, issopode ficar dıficil quando o n ficar muito grande.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Algoritmo token ring
Token ring
Figura: Topologia em anel
Monta em software um rede em anel. A ficha de acesso ao recursoroda nesse anel.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Algoritmo token ring
Questoes do algoritmo token ring
Se a fichas se perder, precisa ser regenerada.
Manutencao da rede em anel.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Introducao
Combina as vantagens de duas classes de sistemas, sistemas decompartilhamento de memoria, tendo uma memoria global fısica,igualmente acessıvel para todos os processadores do sistema esistemas de memoria distribuıda que consiste em multiplosprocessadores se comunicando por meio passagem de mensagem.
Seus principais objetivos sao desenvolver algoritmos para minimizaro tempo medio de acesso aos dados compartilhadas, enquantomantem os dados consistentes.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Introducao
Figura: Estrutura de uma DSM [Nitzberg and Lo 1991]
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Introducao
Figura: Disciplinas que envolvem DSM [Protic et al. 1995]
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Classificacao DSM
Nıvel de implementacao DSM
Hardware.
Software.Sistema operacional.
Dentro do kernel.Fora do kernel.
Bibliotecas com rotinas incluidas em tempo de execucao.Primitivas inseridas no compilador.
Combinacao hardware/software.
Solucoes em hardware fornece baixa latencia e tranparencia para oprogramador.
Solucoes em software permitem explorar melhor o compartamentoda aplicacao.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Classificacao DSM
Configuracao da arquitetura
O mecanismo DSM e usualmente organizado em um conjunto declusters conectados por uma rede de interconexao.
Configuracao de cluster: com um ou varios processadores, unicoou multiplo nıves de cache.
Rede de interconexao: hierarquia em barramento, anel, mech,hipercubo, etc.
Configuracao de cluster sao mais importantes para abordagens emhardware e mais transparente para as de software.
Solucoes em sofware trabalham mais em cima de conexoes Ethernet,enquanto hardware em barramento e mesh.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Classificacao DSM
Organizacao dos dados compartilhados
Representa o layout global do espaco de enderecamentocompartilhado, tal como o tamanho e a organizacao dos itens dedados.
Estrutura do dado compartilhado: Nao estruturado, estruturadoem objetos, etc.
Granularidade da unidade de coerencia: Palavra, bloco cache,pagina, complexa estrutura de dado.
Hardware trabalha mais com objetos de dados nao estruturadostipicamente blocos de cache
Software trabalha com estruturas logicas.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Classificacao DSM
Algoritmos DSM
Sao utilizadas duas estrategias para distribuicaos de dadoscompartilhados sao replicacao e migracao
Algoritmo SRSW(Single reader/Single writer): Em sua maioriapermite a utilizacao de migracao.
Algoritmo MRSW(Multiples readers/Single writer): Utilizareplicacao por leitura para reduzir o acesso medio de leituras
Algoritmo MRMW(Multiples readers/Mutpliples writers):Utiliza replicacao total agora todos os nos da rede podem ler ouescrever.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Classificacao DSM
Parametros dos algoritmos DSM
Responsibilidade do gerenciador DSM: Indica o local onde amanutencao de consistencias devem ser manipuladas, exemplos saocentralizado, distribuıdo/fixo e distribuıdo/dinamico.
Polıtica de coerencia: Estabelece uma regra para manter as copiasdos dados com as mesmas informacoes, pode ser feito por:
Escrita-invalidacao: Nesse caso uma escrita no dado, invalida asdemais copias deixando-as inacessıveis.Escrita-atualizacao: Nesse caso uma escrita em um dado, causauma atualizacao das demais copias.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Classificacao DSM
Parametros dos algoritmos DSM
Modelos de consistencia: E um modelo que especifica como serafeita a consistencia do sistema. Alguns deles sao:
Estrita: Qualquer operacao sobre uma variavel x e aplicada ao valormais recente dessa variavel. totalmente inviavel em sistemasdistribuıdo.Sequencial Definido pela primeira vez por Lamport (1979) nocontexto de memoria compartilhada para multiprocessadores. O queimporta nesse modelo e que todos os processos vejam a mesmaintercalacao de operacoes.Processador: Escritas locais do processador deve ser vista na mesmaordem pelos outros processadores.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Classificacao DSM
Figura: Com concistencia estrita / Sem concistencia estrita
Figura: Com concistencia sequencial / Sem concistencia sequencial
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Classificacao DSM
Figura: Com concistencia de processador / Sem concistencia de processador
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM em nıvel de Hardware
DSM em hardware
Extendem princıpios encontrados em esquemas tradicionais decoerencia de cache.
A unidade de compartilhamento e pequena tipicamente em nıvel decache.
Alguns dos principais grupos de implementacao sao:
CC-NUMA (Cache Coherent Non-Uniform MemoryArchitecture)COMA (Cache-Only Memory Architecture)
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM em nıvel de Hardware
Figura: Arquitetura UMA
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM em nıvel de Hardware
Figura: Arquitetura NUMA
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM em nıvel de Hardware
Figura: Arquitetura CCNUMA
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM em nıvel de Hardware
DASH (Directory Architecture for Shared Memory)
A pesquisa foi conduzida na universidade de Stanford.
Utiliza a hierarquia de quatro nıveis de memoria usando abordagemde diretorio que controla a coerencia atraves dos nos e serve deinterface com a rede de conexao.
Um bloco de memoria pode estar em 3 estados:
Uncached: Nesse caso o bloco de memoria nao esta em qualquerclusterShared: Nesse caso o bloco de memoria esta nao modificado em umou mais clusters remotos.Dirty: Modificado em um unico cache de um cluster.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM em nıvel de Hardware
DASH (Directory Architecture for Shared Memory)
Figura: Arquitetura DASH [Lenoski et al. 1992]
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM em nıvel de Hardware
DASH (Directory Architecture for Shared Memory)
Figura: Hierarquia de memoria DASH [Lenoski et al. 1992]
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM em nıvel de Hardware
DASH processo de leitura
Processor level: Checa se a requisicao pode resolvida a nıvel deprocessador, caso contrario faca requisicao para nıvel cluster local.
Local cluster level: Da mesma forma checa se a requisicao podeser satisfeita no nıvel do cluster local, caso contrario a requisicao epassada para o home cluster.
Home cluster level: Checa o estado do diretorio, enquanto procurana memoria principal o bloco procurado, se o bloco foi encontradolimpo, entao o dado e devolvido ao requisitante , mas o dado estiverem estado de dirty uma requisicao e enviada ao cluster remoto pelodiretorio.
Remote cluster level: O cluster remoto com a data retorna umaresposta com uma copia do dado(seu bloco passa de dirty parashared) para diretorio requisitante que escreve de volta no homecluster para atualizar a memoria principal e finalmente e devolvidopara o processador requisitante.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM em nıvel de Hardware
DASH processo de escrita
Processor level: Se o bloco do processador esta em estado de dirty,entao ele pode escrever imediatamente, caso contrario ele faz umrequisicao de leitura exclusiva ao cluster local.
Local cluster level: Se um dos caches locais possui o bloco dememoria entao a leitura exclusiva e transferida via cache-para-cache,se o bloco nao estiver presente, uma requisicao e passada para ohome cluster.
Home cluster level: O home cluster pode satisfazer a requisicao deblocos uncached ou shared, se os dados estiverem em shared, todasas demais copias devem ser invalidadas por meio de requisicoes deinvalidacao, se o bloco estar dirty, a requisao de leitura exclusivadeve ser passada para o cluster remoto.
Remote cluster level: Se requisicoes de invalidacao foram feitas, osnos geram reconhecimentos, se o dado era dirty entao a leituraexclusiva e repassada.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM em nıvel de Hardware
COMA (Cache Only Memory Architecture)
Particionamento dinamico dos dados organizado em caches de nıvel2 (attraction memory)
A unidade de coerencia e chamada de item
Nao existe localizacao fısica predeterminada para um item de dado,ele e mapeado para mutiplos attractions memorys.
Pode se adaptar melhor do que o NUMA ao compartamento de umaplicacao.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM em nıvel de Hardware
Figura: Arquitetura COMA [Hagersten et al. 1992]
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM em nıvel de Hardware
DDM (Data Diffision Machine)
A distribuicao e coerencia de data entre as attractions memorys econtrolado por um protocolo snooping na above memory.
A interface entre o processador e a attraction memory e feita peloprotocolo memory below.
Cada item tem um estado associado.
Para coerencia utiliza e metodo de invalidacao.
Utiliza metodo de substituicao quando o attraction memory estacheio.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM em nıvel de Hardware
Figura: Arquitetura DDM [Hagersten et al. 1992]
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM em nıvel de Hardware
DDM estados do item
Invalid: Esse subsistema nao contem o item.
Exclusive: Apenas esse subsistema contem o item.
Shared: Esse subsistema e possivelmente outros contem o item.
Reading: Esse subsistema esta esperando por o valor de dado aposter feito uma requisicao de leitura.
Waiting: Esse subsistema esta esperando se tornar exclusivo aposuma requisicao de exclusao
Reading-and-Waiting Esse subsistema esta esperando um valor dedado, para depois se tornar exclusivo.
Answering Esse subsistema prometeu responder uma requisicao deleitura.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM em nıvel de Hardware
DDM transacoes no barramento
Erase: Apagar todas as copias desse item.
Exclusive: Gera um reconhecimento de uma requisicao de exclusao.
Data: Transporta um dado requisitado para leitura.
Gerados por substituicao:
Inject: Transporta uma unica copia de um item e procura por umsubsistema para move-lo.
Out: Transporta o item para saıda do subsistema.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM em nıvel de Software
DSM em software
As implementacoes no nıvel de software sao parecidas com metodosde gerenciamento de memoria, exceto na questao da falta de umapagina que e resolvida em um cluster remoto, ao inves de umdispositivo secundario de armazenamento.
Implementacao em compilador:
O paradigma DSM e aplicado uma linguagem de programacaoparalela.O espaco de enderecamento e logico, portanto pode ser um tipo devariavel no codigo fonte.
Implementacao em bibliotecas de linguagens
Implementacao em SO (dentro do kernel)
Implementacao em SO (fora do kernel)
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM em nıvel de Software
Munin
Foi implementado em cima de uma rede Ethernet na estacao detrabalho da Sun, utilizando o ambiente de programacao paralelaPresto para C++ [Bennett et al. 1990].
Tem objetivo de criar um ambiente para que o programador tenhauma ilusao de compartilhamento de memoria.
Munin trata a colecao de todas as memorias no sistema distribuıdocomo um espaco unico endereco, com coerencia imposta pelosoftware.
O tratamento de falha de memoria e semelhante ao que nogerenciamento de memoria virtual.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM em nıvel de Software
Munin tipos de objeto
Write-once Objects: Sao escritos somente durante a inicializacao,sao suportados via replicacao que pode gerar problemas para objetoslargos.
Private Objects: Nao precisam de gerenciamento.
Write-many Objects: Sao frequentementes modificados pormutiplas threads. Utiliza o metodo de atualizacao atrasada.
Synchronization Objects: Sao controlados por lock distribuıdos.
Read-mostly Objects: Sao objetos que sao muito mais lidos doque escritos, utiliza broadcast para gerenciamento.
Producer-consumer Objects:Utiliza o movimento do objetoansioso.
General read-write Objects: Utilizam Berkeley Ownership cacheconsistency protocol para gerenciamento.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM hibrıdo
DSM hibrıdo
O gerenciamento do DSM agora e divido entre o hardware esoftware.
A integracao de metodos de software e hardware, para gerenciamentode DSM, e varios modelos de consitencia, parece ser a abordagemmais promissora para o futuro da DSM [Protic et al. 1995]
Exemplo PLUS: Em nıvel de hardware temos mapeamento globalda memoria, gerenciamento de coerencia e operacoes atomicas,enquanto paginas que residem em espaco de enderecamento virtualpodem ser replicadas ou migradas em nıvel de software, mantidopela sistema operacional.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM hibrıdo
DSM FLASH
FLASH(Flexible Architecture For Shared) sistema demutiprocessador foi desenvolvido na universidade de Stanford, PaloAlto, California.
Busca fazer uma integracao entre coerencia de cache decompartilhamento de memoria e passagem de mensagens.
Para isso foi construido um controlador personalizado chamadoMAGIC(Memory And General Interconnect Controller).
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM hibrıdo
Figura: Arquitetura de um no FLASH [Kuskin et al. 1994]
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM hibrıdo
Protocolo de coerencia de cache
Utiliza ponteiro de alocacao dinamica.
Estruturas:
Memory lines de 128 bytes associado a um directory header que eregiao contıgua da memoria principal exclusivamente para coerenciade cache.Cada directory header contem um link para a lista decompartilhadores e flags booleanas.O primeiro elemento da lista de compartilhadores fica no propriodirectory header, para facilitar o acesso.Se um bloco de memoria e cached por mais de um processador,entao um memoria adicional e colocada em um pointer/link storep/l s sao alocados tambem em memoria contıgua da memoriaprincipal, cada elemento contem um link para o processadorcompartilhador, um para o proximo e o para o fim.O free list e utilizado para saber quais registros do p/ l s estaodisponives.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM hibrıdo
Figura: Estruturas do protocolo de coerencia [Kuskin et al. 1994]
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM hibrıdo
Controle de deadlock
O protocolo divide as mensagens em requisicao e respostas. Utilizauma rede logica que separa resposta e requisicao.
Evita ciclos de requisicao-requisicao, requisicoes que nao podem serdescartadas por reconhecimentos negativos, assim elas sao tornadasrespostas.
Execucoes dos manipuladores do MAGIC devem ser completos,assim e feito em nıvel de software uma fila que suspende partes demensagem e escolona para depois.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Implementacoes DSM hibrıdo
Passagem por mensagem
MAGIC funciona com interface para o processo usuario.
Funciona em tres operacoes: inicializacao,transferencia erecepcao/conclusao.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Bennett, J., Carter, J., and Zwaenepoel, W. (1990). Munin:Distributed shared memory based on type-specific memorycoherence, volume 25. ACM
Hagersten, E., Landin, A., and Haridi, S. (1992). Ddm-a cache-onlymemory architecture. Computer, 25(9):44–54.
Kuskin, J., Ofelt, D., Heinrich, M., Heinlein, J., Simoni, R.,Gharachorloo, K., Chapin, J., Nakahira, D., Baxter, J., Horowitz,M., et al. (1994). The stanford flash multipro- cessor. In ComputerArchitecture, 1994., Proceedings the 21st Annual InternationalSymposium on, pages 302–313. IEEE.
Lenoski, D., Laudon, J., Gharachorloo, K., Weber, W., Gupta, A.,Hennessy, J., Horowitz, M., and Lam, M. (1992). The stanford dashmultiprocessor. Computer, 25(3):63–79.
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda
Introducao Sincronizacao de Relogios Exclusao Mutua DSM Bibliografia
Nitzberg, B. and Lo, V. (1991). Distributed shared memory: Asurvey of issues and algorithms. Computer, 24(8):52–60.
Protic, J., Tomasevic, M., and Milutinovic, V. (1995). A survey ofdistributed shared memory systems. In System Sciences, 1995.Proceedings of the Twenty-Eighth Hawaii International Conferenceon, volume 1, pages 74–84. IEEE.
Distributed Systems: Principles and Paradigms. TANENBAUM, A.S; STEEN, M. van
Joao Goncalves Filho Sincronizacao e Memoria compartilhada distribuıda