Your SlideShare is downloading. ×
0
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Sincroniza¸˜o e Mem´ria compartilhada...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

1

Introdu¸˜o
ca

2

Sincroniza¸˜o de R´logios
ca
e
Rel...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Sincroniza¸˜o
ca

Gerenciamento que d...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Rel´gios
o

Monitorar o tempo.
Rel´gi...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Rel´gios f´
o
ısicos

Rel´gio f´
o
ısico

Fazer os...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Rel´gios f´
o
ısicos

Como o tempo ´ ...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Rel´gios f´
o
ısicos

Algoritmos de s...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Rel´gios f´
o
ısicos

-dC/dt > 1
-dC/...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Rel´gios f´
o
ısicos

Network time pr...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Rel´gios f´
o
ısicos

Figura: Topologia do NTP, im...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Rel´gios f´
o
ısicos

Algoritmo de Be...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Rel´gios l´gicos
o
o

Rel´gios l´gicos
o
o

N˜o im...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Rel´gios l´gicos
o
o

Rel´gios l´gico...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Rel´gios l´gicos
o
o

Rel´gios l´gicos de Lamport
...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Exclus˜o M´tua
a
u

Trabalhar com concorrˆncia ent...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Algoritmo centralizado

Algoritmo cen...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Algoritmo distribu´
ıdo

Algoritmo distribu´
ıdo
A...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Algoritmo distribu´
ıdo

Quest˜es do ...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Algoritmo token ring

Token ring

Figura: Topologi...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Algoritmo token ring

Quest˜es do algoritmo token ...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Introdu¸˜o
ca

Combina as vantagens d...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Introdu¸˜o
ca

Figura: Estrutura de uma DSM [Nitzb...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Introdu¸˜o
ca

Figura: Disciplinas que envolvem DS...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Classifica¸˜o DSM
ca

N´ de implementa¸˜o DSM
ıvel
...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Classifica¸˜o DSM
ca

Configura¸˜o da a...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Classifica¸˜o DSM
ca

Organiza¸˜o dos dados compart...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Classifica¸˜o DSM
ca

Algoritmos DSM

...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Classifica¸˜o DSM
ca

Parˆmetros dos a...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Classifica¸˜o DSM
ca

Parˆmetros dos a...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Classifica¸˜o DSM
ca

Figura: Com concistˆncia estr...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Classifica¸˜o DSM
ca

Figura: Com concistˆncia de p...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Implementa¸˜es DSM em n´ de Hardware
...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Implementa¸˜es DSM em n´ de Hardware
co
ıvel

Figu...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Implementa¸˜es DSM em n´ de Hardware
co
ıvel

Figu...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Implementa¸˜es DSM em n´ de Hardware
co
ıvel

Figu...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Implementa¸˜es DSM em n´ de Hardware
...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Implementa¸˜es DSM em n´ de Hardware
co
ıvel

DASH...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Implementa¸˜es DSM em n´ de Hardware
co
ıvel

DASH...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Implementa¸˜es DSM em n´ de Hardware
...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Implementa¸˜es DSM em n´ de Hardware
...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Implementa¸˜es DSM em n´ de Hardware
...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Implementa¸˜es DSM em n´ de Hardware
co
ıvel

Figu...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Implementa¸˜es DSM em n´ de Hardware
co
ıvel

DDM ...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Implementa¸˜es DSM em n´ de Hardware
co
ıvel

Figu...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Implementa¸˜es DSM em n´ de Hardware
...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Implementa¸˜es DSM em n´ de Hardware
...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Implementa¸˜es DSM em n´ de Software
...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Implementa¸˜es DSM em n´ de Software
co
ıvel

Muni...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Implementa¸˜es DSM em n´ de Software
...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Implementa¸˜es DSM hibr´
co
ıdo

DSM ...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Implementa¸˜es DSM hibr´
co
ıdo

DSM FLASH

FLASH(...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Implementa¸˜es DSM hibr´
co
ıdo

Figura: Arquitetu...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Implementa¸˜es DSM hibr´
co
ıdo

Prot...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Implementa¸˜es DSM hibr´
co
ıdo

Figura: Estrutura...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Implementa¸˜es DSM hibr´
co
ıdo

Cont...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Implementa¸˜es DSM hibr´
co
ıdo

Passagem por mens...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Bibliografia

Bennett, J., Carter, J., and Zwaenepo...
Introdu¸˜o
ca

Sincroniza¸˜o de R´logios
ca
e

Exclus˜o M´tua
a
u

DSM

Nitzberg, B. and Lo, V. (1991). Distributed shared...
Upcoming SlideShare
Loading in...5
×

Sincronização e Memória compartilhada distribuída

240

Published on

Apresentação abordando sobre Sincronização baseada no livro: Distributed Systems: Principles and Paradigms. TANENBAUM, A. S; STEEN, M. van

e Uma outra parte dedicada a memória compartilhada distribuída DSM

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
240
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Sincronização e Memória compartilhada distribuída"

  1. 1. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Jo˜o Gon¸alves Filho a c 11 de outubro de 2012 Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  2. 2. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u 1 Introdu¸˜o ca 2 Sincroniza¸˜o de R´logios ca e Rel´gios f´ o ısicos Rel´gios l´gicos o o 3 Exclus˜o M´tua a u Algoritmo centralizado Algoritmo distribu´ ıdo Algoritmo token ring 4 DSM Classifica¸˜o DSM ca Implementa¸˜es DSM em n´ de Hardware co ıvel Implementa¸˜es DSM em n´ de Software co ıvel Implementa¸˜es DSM hibr´ co ıdo 5 DSM Bibliografia Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  3. 3. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Sincroniza¸˜o ca Gerenciamento que deve ocorrer quando existe comunica¸˜o entre ca v´rios dispositivos. a Sincroniza¸˜o em monoprocessadores, multiprocessadores e sistemas ca distribu´ ıdos. Recursos compartilhados. Ordena¸˜o de eventos. ca Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  4. 4. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Rel´gios o Monitorar o tempo. Rel´gio = Temporizador. o Contador, registrador de contador, registrador de reten¸˜o e ciclo de ca rel´gio. o Facilidade de sincroniza¸˜o em um sistema cetralizado. ca Exemplo do programa make. Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  5. 5. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Rel´gios f´ o ısicos Rel´gio f´ o ısico Fazer os n´s estarem em acordo em uma hora real comum. o Problema de defasagem de rel´gio. o Como sincronizar rel´gios f´ o ısicos com rel´gios do mundo real? o Como sincronizar os rel´gios um com outro? o Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  6. 6. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Rel´gios f´ o ısicos Como o tempo ´ medido? e Trˆnsito solar - Dia solar - Segundo solar a A Terra est´ desacelerando devido ao atrito das mar´s e ao arraste a e atmosf´rico. e Segundo solar m´dio. e (1948) ´tomo de c´sio 133, 1segundo = 9.192.631.770 transi¸˜es do a e co ´tomo. a Bureau International de l’Heure (BIH) e International Atomic Time (TAI), ciclos de rel´gio de c´sio 133 desde a meia noite de 1o janeiro o e 1958. A discrepˆncia entre a hora TAI e a hora solar alcan¸a no m´ximo a c a 800ms. A introdu¸˜o dos segundos extras no TAI ´ denominado hora ca e coodernada universal( Universal Coordinated Time - UTC). Para fornecer UTC a quem precisa da hora exata, o National Institute of Standard Time (Nist) opera uma esta¸˜o de r´dio de ca a ondas curtas cujo prefixo ´ WWV. e Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  7. 7. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Rel´gios f´ o ısicos Algoritmos de sincroniza¸˜o de rel´gios ca o Cada m´quina deve ter um temporizador que provoca uma a interrup¸˜o H vezes por segundo. ca Suponha que a hora UTC ´ t, ent˜o o valor do rel´gio de uma e a o m´quina p ´ Cp (t) a e Idealmente teriamos Cp (t) = t para todo p e todo t, assim seria ideal que Cp (t) = dC /dt fosse 1. Cp (t) ´ denominado frequˆncia do rel´gio de p no tempo t, assim e e o Cp (t) − 1 denota a magnitude da diferen¸a entre a frequˆncia do c e rel´gio p e de um perfeito. o Sabemos temporizadores reais n˜o interrompem exatamente H vezes a por segundo, em chips modernos existe um erro relativo de aproximadamente 10−5 . 1−ρ≤ dC dt ≤1+ρ ρ ´ uma constante especificada pelo fabricante que indica a taxa e m´xima de deriva. a Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  8. 8. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Rel´gios f´ o ısicos -dC/dt > 1 -dC/dt = 1 Re lóg io ad ian tad o Hora do relógio, C l Re io óg Re pe t ei rf io ló g o a tr a as do T2 B -dC/dt < 1 A T1 UTC, t Jo˜o Gon¸alves Filho a c T3 Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda T4
  9. 9. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Rel´gios f´ o ısicos Network time protocol (NTP) Protocolos propostos Cristian (1989) ´ deixar que os clientes e consultem um servidor de tempos. Assim surgir˜o problemas de a atrasos. Suponha que A fa¸a uma requis˜o de hora B, como mostrado na c a fingura anterior temos que: θ = T3 − δ δ= (T2 −T1 )+(T4 −T3 ) 2 Onde θ indica o deslocamento estimado de A em rela¸˜o a B e δ ´ o ca e atraso estimado S˜o armazenados oito pares de valores (θ, δ). a Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  10. 10. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Rel´gios f´ o ısicos Figura: Topologia do NTP, imagem extra´ do Wikepedia ıda Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  11. 11. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Rel´gios f´ o ısicos Algoritmo de Berkeley Daemon de tempo 3:00 3:00 3:00 3:05 +5 3:00 -10 2:50 0 3:25 2:50 +25 3:25 +15 3:05 -20 3:05 Figura: Funcionamento do algoritmo de Berkeley Diferente do NTP em que o servidor ´ passivo, o servidor agora ´ e e ativo. Utilizado para sincroniza¸˜o de um grupo de computadores internos ca que podem n˜o estar conectados a nenhum receptor WWV. a Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  12. 12. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Rel´gios l´gicos o o Rel´gios l´gicos o o N˜o importa o tempo real, o que importa ´ que os n´s da rede a e o concordem entre si de uma hora relativa. Em um seu artigo cl´ssico Lamport (1978) mostra que o que a importa ´ ordem dos eventos. e No exemplo do make, o que ´ se input.c ´ mais ou velho ou mais e e novo que o input.o Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  13. 13. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Rel´gios l´gicos o o Rel´gios l´gicos de Lamport o o Rela¸˜o do acontece antes. a → b, implica que o evento a ocorre ca antes de b Se dois eventos x e y n˜o trocam mensagens, eles s˜o definidos a a como concorrentes. Denomianos C (a) como sendo o valor do tempo do evento a, assim se a → b, ent˜o todos os processos devem concordar que a C (a) < C (b) Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  14. 14. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Rel´gios l´gicos o o Rel´gios l´gicos de Lamport o o P1 P2 P3 0 0 0 6 m1 6 8 10 6 12 16 20 18 24 m2 30 24 32 40 30 40 50 36 6 48 m3 60 6 6 42 56 70 48 m4 64 80 54 72 90 60 80 100 P1 P2 P3 0 0 0 6 m1 6 8 10 6 12 16 20 18 24 m2 30 24 32 40 30 40 50 36 6 48 m3 60 6 6 42 61 70 48 m4 69 80 70 77 90 76 85 100 Figura: Funcionamento do rel´gio de Lamport o Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  15. 15. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Exclus˜o M´tua a u Trabalhar com concorrˆncia entre v´rios processos. e a Controlar acesso a um mesmo recurso. Os algoritmos distribu´ ıdos de exclus˜o m´tua podem ser a u classificados em duas categorias diferentes: Solu¸oes baseadas em ficha. c˜ Abordagem baseada em permiss˜o. a Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  16. 16. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Algoritmo centralizado Algoritmo centralizado 0 1 Requisição 2 0 1 3 2 0 Requisição OK Fila vazia 3 Coodernador 1 Liberação Nenhuma resposta Ou bloqueio 2 OK 3 2 Figura: Funcionamento do algoritmo centralizado Um processo ´ eleito como coordenador. e Sempre que um processo quiser acessar um recurso compartilhado, envia uma mensagem de requisi¸˜o ao coordenador. ca Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  17. 17. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Algoritmo distribu´ ıdo Algoritmo distribu´ ıdo Acessa recurso 8 0 8 1 0 8 12 12 2 OK 12 1 0 OK OK 2 OK 1 2 Acessa recurso Figura: Funcionamento do algoritmo centralizado Proposto originalmente por Ricart e Agrawala (1981). Requer que haja uma ordena¸˜o total de todos os eventos no ca sistema. Pode-se usar o algoritmo de Lamport para conseguir essa ordena¸˜o. ca Requer entrega confi´vel de dados. a Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  18. 18. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Algoritmo distribu´ ıdo Quest˜es do algoritmo distribu´ o ıdo O algoritmo requer um n´mero de 2(n − 1) mensagens , onde n ´ u e n´mero de n´s do sistema. u o Existem agora n pontos de falha. Isto pode ser consertado utilizando sempre uma resposta a uma requisi¸˜o, junto com utiliza¸˜o de um ca ca temporizador. ´ E preciso um controle dos n´s que entram e sai do sistema, isso o pode ficar d´ ıficil quando o n ficar muito grande. Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  19. 19. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Algoritmo token ring Token ring Figura: Topologia em anel Monta em software um rede em anel. A ficha de acesso ao recurso roda nesse anel. Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  20. 20. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Algoritmo token ring Quest˜es do algoritmo token ring o Se a fichas se perder, precisa ser regenerada. Manuten¸˜o da rede em anel. ca Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  21. 21. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Introdu¸˜o ca Combina as vantagens de duas classes de sistemas, sistemas de compartilhamento de mem´ria, tendo uma mem´ria global f´ o o ısica, igualmente acess´ para todos os processadores do sistema e ıvel sistemas de mem´ria distribu´ que consiste em m´ltiplos o ıda u processadores se comunicando por meio passagem de mensagem. Seus principais objetivos s˜o desenvolver algoritmos para minimizar a o tempo m´dio de acesso aos dados compartilhadas, enquanto e mant´m os dados consistentes. e Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  22. 22. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Introdu¸˜o ca Figura: Estrutura de uma DSM [Nitzberg and Lo 1991] Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  23. 23. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Introdu¸˜o ca Figura: Disciplinas que envolvem DSM [Protic et al. 1995] Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  24. 24. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Classifica¸˜o DSM ca N´ de implementa¸˜o DSM ıvel ca Hardware. Software. Sistema operacional. Dentro do kernel. Fora do kernel. Bibliotecas com rotinas incluidas em tempo de execu¸˜o. ca Primitivas inseridas no compilador. Combina¸˜o hardware/software. ca Solu¸˜es em hardware fornece baixa latˆncia e tranparˆncia para o co e e programador. Solu¸˜es em software permitem explorar melhor o compartamento co da aplica¸˜o. ca Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  25. 25. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Classifica¸˜o DSM ca Configura¸˜o da arquitetura ca O mecanismo DSM ´ usualmente organizado em um conjunto de e clusters conectados por uma rede de interconex˜o. a Configura¸˜o de cluster: com um ou v´rios processadores, unico ca a ´ ou m´ltiplo n´ de cache. u ıves Rede de interconex˜o: hierarquia em barramento, anel, mech, a hipercubo, etc. Configura¸˜o de cluster s˜o mais importantes para abordagens em ca a hardware e mais transparente para as de software. Solu¸˜es em sofware trabalham mais em cima de conex˜es Ethernet, co o enquanto hardware em barramento e mesh. Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  26. 26. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Classifica¸˜o DSM ca Organiza¸˜o dos dados compartilhados ca Representa o layout global do espa¸o de endere¸amento c c compartilhado, tal como o tamanho e a organiza¸˜o dos itens de ca dados. Estrutura do dado compartilhado: N˜o estruturado, estruturado a em objetos, etc. Granularidade da unidade de coerˆncia: Palavra, bloco cache, e p´gina, complexa estrutura de dado. a Hardware trabalha mais com objetos de dados n˜o estruturados a tipicamente blocos de cache Software trabalha com estruturas l´gicas. o Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  27. 27. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Classifica¸˜o DSM ca Algoritmos DSM S˜o utilizadas duas estrat´gias para distribui¸˜os de dados a e ca compartilhados s˜o replica¸˜o e migra¸˜o a ca ca Algoritmo SRSW(Single reader/Single writer): Em sua maioria permite a utiliza¸˜o de migra¸˜o. ca ca Algoritmo MRSW(Multiples readers/Single writer): Utiliza replica¸˜o por leitura para reduzir o acesso m´dio de leituras ca e Algoritmo MRMW(Multiples readers/Mutpliples writers): Utiliza replica¸˜o total agora todos os n´s da rede podem ler ou ca o escrever. Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  28. 28. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Classifica¸˜o DSM ca Parˆmetros dos algoritmos DSM a Responsibilidade do gerenciador DSM: Indica o local onde a manuten¸˜o de consistˆncias devem ser manipuladas, exemplos s˜o ca e a centralizado, distribu´ ıdo/fixo e distribu´ ıdo/dinˆmico. a Pol´ ıtica de coerˆncia: Estabelece uma regra para manter as c´pias e o dos dados com as mesmas informa¸˜es, pode ser feito por: co Escrita-invalida¸˜o: Nesse caso uma escrita no dado, invalida as ca demais c´pias deixando-as inacess´ o ıveis. Escrita-atualiza¸˜o: Nesse caso uma escrita em um dado, causa ca uma atualiza¸˜o das demais c´pias. ca o Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  29. 29. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Classifica¸˜o DSM ca Parˆmetros dos algoritmos DSM a ´ Modelos de consistˆncia: E um modelo que especifica como ser´ e a feita a consistˆncia do sistema. Alguns deles s˜o: e a Estrita: Qualquer opera¸˜o sobre uma vari´vel x ´ aplicada ao valor ca a e mais recente dessa vari´vel. totalmente invi´vel em sistemas a a distribu´ ıdo. Sequencial Definido pela primeira vez por Lamport (1979) no contexto de mem´ria compartilhada para multiprocessadores. O que o importa nesse modelo ´ que todos os processos vejam a mesma e intercala¸˜o de opera¸oes. ca c˜ Processador: Escritas locais do processador deve ser vista na mesma ordem pelos outros processadores. Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  30. 30. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Classifica¸˜o DSM ca Figura: Com concistˆncia estrita / Sem concistˆncia estrita e e Figura: Com concistˆncia sequencial / Sem concistˆncia sequencial e e Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  31. 31. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Classifica¸˜o DSM ca Figura: Com concistˆncia de processador / Sem concistˆncia de processador e e Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  32. 32. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Implementa¸˜es DSM em n´ de Hardware co ıvel DSM em hardware Extendem princ´ ıpios encontrados em esquemas tradicionais de coerˆncia de cache. e A unidade de compartilhamento ´ pequena tipicamente em n´ de e ıvel cache. Alguns dos principais grupos de implementa¸˜o s˜o: ca a CC-NUMA (Cache Coherent Non-Uniform Memory Architecture) COMA (Cache-Only Memory Architecture) Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  33. 33. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Implementa¸˜es DSM em n´ de Hardware co ıvel Figura: Arquitetura UMA Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  34. 34. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Implementa¸˜es DSM em n´ de Hardware co ıvel Figura: Arquitetura NUMA Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  35. 35. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Implementa¸˜es DSM em n´ de Hardware co ıvel Figura: Arquitetura CCNUMA Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  36. 36. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Implementa¸˜es DSM em n´ de Hardware co ıvel DASH (Directory Architecture for Shared Memory) A pesquisa foi conduzida na universidade de Stanford. Utiliza a hierarquia de quatro n´ ıveis de mem´ria usando abordagem o de diret´rio que controla a coerˆncia atrav´s dos n´s e serve de o e e o interface com a rede de conex˜o. a Um bloco de mem´ria pode estar em 3 estados: o Uncached: Nesse caso o bloco de mem´ria n˜o est´ em qualquer o a a cluster Shared: Nesse caso o bloco de mem´ria esta n˜o modificado em um o a ou mais clusters remotos. Dirty: Modificado em um unico cache de um cluster. ´ Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  37. 37. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Implementa¸˜es DSM em n´ de Hardware co ıvel DASH (Directory Architecture for Shared Memory) Figura: Arquitetura DASH [Lenoski et al. 1992] Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  38. 38. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Implementa¸˜es DSM em n´ de Hardware co ıvel DASH (Directory Architecture for Shared Memory) Figura: Hierarquia de mem´ria DASH [Lenoski et al. 1992] o Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  39. 39. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Implementa¸˜es DSM em n´ de Hardware co ıvel DASH processo de leitura Processor level: Checa se a requisi¸˜o pode resolvida a n´ de ca ıvel processador, caso contr´rio fa¸a requisi¸˜o para n´ cluster local. a c ca ıvel Local cluster level: Da mesma forma checa se a requisi¸˜o pode ca ser satisfeita no n´ do cluster local, caso contr´rio a requisi¸˜o ´ ıvel a ca e passada para o home cluster. Home cluster level: Checa o estado do diret´rio, enquanto procura o na mem´ria principal o bloco procurado, se o bloco foi encontrado o limpo, ent˜o o dado ´ devolvido ao requisitante , mas o dado estiver a e em estado de dirty uma requisi¸˜o ´ enviada ao cluster remoto pelo ca e diret´rio. o Remote cluster level: O cluster remoto com a data retorna uma resposta com uma c´pia do dado(seu bloco passa de dirty para o shared) para diret´rio requisitante que escreve de volta no home o cluster para atualizar a mem´ria principal e finalmente ´ devolvido o e para o processador requisitante. Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  40. 40. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Implementa¸˜es DSM em n´ de Hardware co ıvel DASH processo de escrita Processor level: Se o bloco do processador est´ em estado de dirty, a ent˜o ele pode escrever imediatamente, caso contr´rio ele faz um a a requisi¸˜o de leitura exclusiva ao cluster local. ca Local cluster level: Se um dos caches locais possui o bloco de mem´ria ent˜o a leitura exclusiva ´ transferida via cache-para-cache, o a e se o bloco n˜o estiver presente, uma requisi¸˜o ´ passada para o a ca e home cluster. Home cluster level: O home cluster pode satisfazer a requisi¸˜o de ca blocos uncached ou shared, se os dados estiverem em shared, todas as demais c´pias devem ser invalidadas por meio de requisi¸˜es de o co invalida¸˜o, se o bloco estar dirty, a requis˜o de leitura exclusiva ca a deve ser passada para o cluster remoto. Remote cluster level: Se requisi¸˜es de invalida¸˜o foram feitas, os co ca n´s geram reconhecimentos, se o dado era dirty ent˜o a leitura o a exclusiva ´ repassada. e Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  41. 41. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Implementa¸˜es DSM em n´ de Hardware co ıvel COMA (Cache Only Memory Architecture) Particionamento dinˆmico dos dados organizado em caches de n´ a ıvel 2 (attraction memory) A unidade de coerˆncia ´ chamada de item e e N˜o existe localiza¸˜o f´ a ca ısica predeterminada para um item de dado, ele ´ mapeado para m´tiplos attractions memorys. e u Pode se adaptar melhor do que o NUMA ao compartamento de um aplica¸˜o. ca Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  42. 42. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Implementa¸˜es DSM em n´ de Hardware co ıvel Figura: Arquitetura COMA [Hagersten et al. 1992] Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  43. 43. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Implementa¸˜es DSM em n´ de Hardware co ıvel DDM (Data Diffision Machine) A distribui¸˜o e coerˆncia de data entre as attractions memorys ´ ca e e controlado por um protocolo snooping na above memory. A interface entre o processador e a attraction memory ´ feita pelo e protocolo memory below. Cada item tem um estado associado. Para coerˆncia utiliza ´ met´do de invalida¸˜o. e e o ca Utiliza met´do de substitui¸˜o quando o attraction memory est´ o ca a cheio. Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  44. 44. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Implementa¸˜es DSM em n´ de Hardware co ıvel Figura: Arquitetura DDM [Hagersten et al. 1992] Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  45. 45. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Implementa¸˜es DSM em n´ de Hardware co ıvel DDM estados do item Invalid: Esse subsistema n˜o cont´m o item. a e Exclusive: Apenas esse subsistema cont´m o item. e Shared: Esse subsistema e possivelmente outros cont´m o item. e Reading: Esse subsistema est´ esperando por o valor de dado ap´s a o ter feito uma requisi¸˜o de leitura. ca Waiting: Esse subsistema est´ esperando se tornar exclusivo ap´s a o uma requisi¸˜o de exclus˜o ca a Reading-and-Waiting Esse subsistema est´ esperando um valor de a dado, para depois se tornar exclusivo. Answering Esse subsistema prometeu responder uma requisi¸˜o de ca leitura. Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  46. 46. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Implementa¸˜es DSM em n´ de Hardware co ıvel DDM transa¸˜es no barramento co Erase: Apagar todas as c´pias desse item. o Exclusive: Gera um reconhecimento de uma requisi¸˜o de exclus˜o. ca a Data: Transporta um dado requisitado para leitura. Gerados por substitui¸˜o: ca Inject: Transporta uma unica c´pia de um item e procura por um ´ o subsistema para move-lo. Out: Transporta o item para sa´ do subsistema. ıda Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  47. 47. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Implementa¸˜es DSM em n´ de Software co ıvel DSM em software As implementa¸˜es no n´ de software s˜o parecidas com m´todos co ıvel a e de gerenciamento de mem´ria, exceto na quest˜o da falta de uma o a p´gina que ´ resolvida em um cluster remoto, ao inv´s de um a e e dispositivo secund´rio de armazenamento. a Implementa¸˜o em compilador: ca O paradigma DSM ´ aplicado uma linguagem de programa¸˜o e ca paralela. O espa¸o de endere¸amento ´ l´gico, portanto pode ser um tipo de c c e o vari´vel no c´digo fonte. a o Implementa¸˜o em bibliotecas de linguagens ca Implementa¸˜o em SO (dentro do kernel) ca Implementa¸˜o em SO (fora do kernel) ca Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  48. 48. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Implementa¸˜es DSM em n´ de Software co ıvel Munin Foi implementado em cima de uma rede Ethernet na esta¸˜o de ca trabalho da Sun, utilizando o ambiente de programa¸˜o paralela ca Presto para C++ [Bennett et al. 1990]. Tem objetivo de criar um ambiente para que o programador tenha uma ilus˜o de compartilhamento de mem´ria. a o Munin trata a cole¸˜o de todas as mem´rias no sistema distribu´ ca o ıdo como um espa¸o unico endere¸o, com coerˆncia imposta pelo c ´ c e software. O tratamento de falha de mem´ria ´ semelhante ao que no o e gerenciamento de mem´ria virtual. o Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  49. 49. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Implementa¸˜es DSM em n´ de Software co ıvel Munin tipos de objeto Write-once Objects: S˜o escritos somente durante a inicializa¸˜o, a ca s˜o suportados via replica¸˜o que pode gerar problemas para objetos a ca largos. Private Objects: N˜o precisam de gerenciamento. a Write-many Objects: S˜o frequentementes modificados por a m´tiplas threads. Utiliza o met´do de atualiza¸˜o atrasada. u o ca Synchronization Objects: S˜o controlados por lock distribu´ a ıdos. Read-mostly Objects: S˜o objetos que s˜o muito mais lidos do a a que escritos, utiliza broadcast para gerenciamento. Producer-consumer Objects:Utiliza o movimento do objeto ansioso. General read-write Objects: Utilizam Berkeley Ownership cache consistency protocol para gerenciamento. Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  50. 50. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Implementa¸˜es DSM hibr´ co ıdo DSM hibr´ ıdo O gerenciamento do DSM agora ´ divido entre o hardware e e software. A integra¸˜o de met´dos de software e hardware, para gerenciamento ca o de DSM, e v´rios modelos de consitˆncia, parece ser a abordagem a e mais promissora para o futuro da DSM [Protic et al. 1995] Exemplo PLUS: Em n´ de hardware temos mapeamento global ıvel da mem´ria, gerenciamento de coerˆncia e opera¸˜es atˆmicas, o e co o enquanto p´ginas que residem em espa¸o de endere¸amento virtual a c c podem ser replicadas ou migradas em n´ de software, mantido ıvel pela sistema operacional. Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  51. 51. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Implementa¸˜es DSM hibr´ co ıdo DSM FLASH FLASH(Flexible Architecture For Shared) sistema de mutiprocessador foi desenvolvido na universidade de Stanford, Palo Alto, California. Busca fazer uma integra¸˜o entre coerˆncia de cache de ca e compartilhamento de mem´ria e passagem de mensagens. o Para isso foi construido um controlador personalizado chamado MAGIC(Memory And General Interconnect Controller). Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  52. 52. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Implementa¸˜es DSM hibr´ co ıdo Figura: Arquitetura de um n´ FLASH [Kuskin et al. 1994] o Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  53. 53. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Implementa¸˜es DSM hibr´ co ıdo Protocolo de coerˆncia de cache e Utiliza ponteiro de aloca¸ao dinˆmica. c a Estruturas: Memory lines de 128 bytes associado a um directory header que ´ e regi˜o cont´ a ıgua da mem´ria principal exclusivamente para coerˆncia o e de cache. Cada directory header cont´m um link para a lista de e compartilhadores e flags booleanas. O primeiro elemento da lista de compartilhadores fica no pr´prio o directory header, para facilitar o acesso. Se um bloco de mem´ria ´ cached por mais de um processador, o e ent˜o um mem´ria adicional ´ colocada em um pointer/link store a o e p/l s s˜o alocados tamb´m em mem´ria cont´ a e o ıgua da mem´ria o principal, cada elemento cont´m um link para o processador e compartilhador, um para o pr´ximo e o para o fim. o O free list ´ utilizado para saber quais registros do p/ l s est˜o e a disp´nives. o Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  54. 54. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Implementa¸˜es DSM hibr´ co ıdo Figura: Estruturas do protocolo de coerˆncia [Kuskin et al. 1994] e Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  55. 55. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Implementa¸˜es DSM hibr´ co ıdo Controle de deadlock O protocolo divide as mensagens em requisi¸˜o e ´espostas. Utiliza ca r uma rede l´gica que separa resposta e requisi¸˜o. o ca Evita ciclos de requisi¸˜o-requisi¸˜o, requisi¸˜es que n˜o podem ser ca ca co a descartadas por reconhecimentos negativos, assim elas s˜o tornadas a respostas. Execu¸˜es dos manipuladores do MAGIC devem ser completos, co assim ´ feito em n´ de software uma fila que suspende partes de e ıvel mensagem e escolona para depois. Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  56. 56. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Implementa¸˜es DSM hibr´ co ıdo Passagem por mensagem MAGIC funciona com interface para o processo usu´rio. a Funciona em trˆs opera¸˜es: inicializa¸˜o,transferˆncia e e co ca e recep¸˜o/conclus˜o. ca a Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  57. 57. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Bibliografia Bennett, J., Carter, J., and Zwaenepoel, W. (1990). Munin: Distributed shared memory based on type-specific memory coherence, volume 25. ACM Hagersten, E., Landin, A., and Haridi, S. (1992). Ddm-a cache-only memory 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 Computer Architecture, 1994., Proceedings the 21st Annual International Symposium 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 dash multiprocessor. Computer, 25(3):63–79. Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda
  58. 58. Introdu¸˜o ca Sincroniza¸˜o de R´logios ca e Exclus˜o M´tua a u DSM Nitzberg, B. and Lo, V. (1991). Distributed shared memory: A survey of issues and algorithms. Computer, 24(8):52–60. Protic, J., Tomasevic, M., and Milutinovic, V. (1995). A survey of distributed shared memory systems. In System Sciences, 1995. Proceedings of the Twenty-Eighth Hawaii International Conference on, volume 1, pages 74–84. IEEE. Distributed Systems: Principles and Paradigms. TANENBAUM, A. S; STEEN, M. van Jo˜o Gon¸alves Filho a c Sincroniza¸˜o e Mem´ria compartilhada distribu´ ca o ıda Bibliografia
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×