SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Downloaden Sie, um offline zu lesen
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Weitere ähnliche Inhalte

Was ist angesagt?

(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10Norton Trevisan Roman
 
Webinar: Porque o RTOS não faz o que eu quero?
Webinar: Porque o RTOS não faz o que eu quero?Webinar: Porque o RTOS não faz o que eu quero?
Webinar: Porque o RTOS não faz o que eu quero?Embarcados
 
(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05Norton Trevisan Roman
 
Linux Real-Time e Java Real Time, um mundo sem delays! por Flávio Buccianti
Linux Real-Time e Java Real Time, um mundo sem delays! por Flávio BucciantiLinux Real-Time e Java Real Time, um mundo sem delays! por Flávio Buccianti
Linux Real-Time e Java Real Time, um mundo sem delays! por Flávio BucciantiJoao Galdino Mello de Souza
 
Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento camila_seixas
 
(ACH2044) Sistemas Operacionais - Aula 11
(ACH2044) Sistemas Operacionais - Aula 11(ACH2044) Sistemas Operacionais - Aula 11
(ACH2044) Sistemas Operacionais - Aula 11Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 03
(ACH2044) Sistemas Operacionais - Aula 03(ACH2044) Sistemas Operacionais - Aula 03
(ACH2044) Sistemas Operacionais - Aula 03Norton Trevisan Roman
 

Was ist angesagt? (11)

(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22
 
(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10
 
Threads 09: Paralelismo
Threads 09: ParalelismoThreads 09: Paralelismo
Threads 09: Paralelismo
 
Webinar: Porque o RTOS não faz o que eu quero?
Webinar: Porque o RTOS não faz o que eu quero?Webinar: Porque o RTOS não faz o que eu quero?
Webinar: Porque o RTOS não faz o que eu quero?
 
(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05
 
Linux Real-Time e Java Real Time, um mundo sem delays! por Flávio Buccianti
Linux Real-Time e Java Real Time, um mundo sem delays! por Flávio BucciantiLinux Real-Time e Java Real Time, um mundo sem delays! por Flávio Buccianti
Linux Real-Time e Java Real Time, um mundo sem delays! por Flávio Buccianti
 
Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento
 
(ACH2044) Sistemas Operacionais - Aula 11
(ACH2044) Sistemas Operacionais - Aula 11(ACH2044) Sistemas Operacionais - Aula 11
(ACH2044) Sistemas Operacionais - Aula 11
 
Prova1d
Prova1dProva1d
Prova1d
 
Defesa de Mestrado
Defesa de MestradoDefesa de Mestrado
Defesa de Mestrado
 
(ACH2044) Sistemas Operacionais - Aula 03
(ACH2044) Sistemas Operacionais - Aula 03(ACH2044) Sistemas Operacionais - Aula 03
(ACH2044) Sistemas Operacionais - Aula 03
 

Andere mochten auch

Tutorial Programando C no Linux
Tutorial Programando C no LinuxTutorial Programando C no Linux
Tutorial Programando C no LinuxJoao Gonçalves
 
Problema do Caixeiro-Viajante com Restrições de Tempo
Problema do Caixeiro-Viajante com Restrições de TempoProblema do Caixeiro-Viajante com Restrições de Tempo
Problema do Caixeiro-Viajante com Restrições de TempoJoao Gonçalves
 
Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Estudo Sobre Mobile Ad Hoc Networks(MANETs)Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Estudo Sobre Mobile Ad Hoc Networks(MANETs)Joao Gonçalves
 
OSPF - Open Shortest Path First
OSPF - Open Shortest Path FirstOSPF - Open Shortest Path First
OSPF - Open Shortest Path FirstJoao Gonçalves
 
METAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFAS
METAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFASMETAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFAS
METAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFASJoao Gonçalves
 

Andere mochten auch (6)

Tutorial Programando C no Linux
Tutorial Programando C no LinuxTutorial Programando C no Linux
Tutorial Programando C no Linux
 
Conversão Entre Bases
Conversão Entre BasesConversão Entre Bases
Conversão Entre Bases
 
Problema do Caixeiro-Viajante com Restrições de Tempo
Problema do Caixeiro-Viajante com Restrições de TempoProblema do Caixeiro-Viajante com Restrições de Tempo
Problema do Caixeiro-Viajante com Restrições de Tempo
 
Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Estudo Sobre Mobile Ad Hoc Networks(MANETs)Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Estudo Sobre Mobile Ad Hoc Networks(MANETs)
 
OSPF - Open Shortest Path First
OSPF - Open Shortest Path FirstOSPF - Open Shortest Path First
OSPF - Open Shortest Path First
 
METAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFAS
METAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFASMETAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFAS
METAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFAS
 

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

Aula Simulação por Eventos Discretos
Aula Simulação por Eventos DiscretosAula Simulação por Eventos Discretos
Aula Simulação por Eventos DiscretosAntonio Marcos Alberti
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowpichiliani
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowMauro Pichiliani
 
Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.Thiago Rondon
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completothomasdacosta
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!Intel Software Brasil
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!Luciano Palma
 
microcontrolador-pic-em-powerpoint-parte-2-interrupcoes-e-timers.pdf
microcontrolador-pic-em-powerpoint-parte-2-interrupcoes-e-timers.pdfmicrocontrolador-pic-em-powerpoint-parte-2-interrupcoes-e-timers.pdf
microcontrolador-pic-em-powerpoint-parte-2-interrupcoes-e-timers.pdftccunip
 
Inteligencia artificial 2
Inteligencia artificial 2Inteligencia artificial 2
Inteligencia artificial 2Nauber Gois
 
Tudo que você sempre quis saber e sempre teve medo de perguntar, sobre Perfor...
Tudo que você sempre quis saber e sempre teve medo de perguntar, sobre Perfor...Tudo que você sempre quis saber e sempre teve medo de perguntar, sobre Perfor...
Tudo que você sempre quis saber e sempre teve medo de perguntar, sobre Perfor...Joao Galdino Mello de Souza
 
Gerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoGerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoAlexandre Duarte
 
Engenharia de Software - Unimep/Pronatec - Aula 2
Engenharia de Software - Unimep/Pronatec - Aula 2Engenharia de Software - Unimep/Pronatec - Aula 2
Engenharia de Software - Unimep/Pronatec - Aula 2André Phillip Bertoletti
 
Programação Concorrente - Aula 04
Programação Concorrente - Aula 04Programação Concorrente - Aula 04
Programação Concorrente - Aula 04thomasdacosta
 
Apostila de demonstração
Apostila de demonstraçãoApostila de demonstração
Apostila de demonstraçãoRODRIGO SOBRADO
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonFlávio Ribeiro
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsEvandro Júnior
 
SysSorting Professional
SysSorting ProfessionalSysSorting Professional
SysSorting ProfessionalMichel Alves
 
MALHA ABERTA E MALHA FECHADA
MALHA ABERTA E MALHA FECHADAMALHA ABERTA E MALHA FECHADA
MALHA ABERTA E MALHA FECHADARafael Costa
 

Ähnlich wie Sincronização e Memória compartilhada distribuída (20)

Aula Simulação por Eventos Discretos
Aula Simulação por Eventos DiscretosAula Simulação por Eventos Discretos
Aula Simulação por Eventos Discretos
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlow
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlow
 
Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completo
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
 
microcontrolador-pic-em-powerpoint-parte-2-interrupcoes-e-timers.pdf
microcontrolador-pic-em-powerpoint-parte-2-interrupcoes-e-timers.pdfmicrocontrolador-pic-em-powerpoint-parte-2-interrupcoes-e-timers.pdf
microcontrolador-pic-em-powerpoint-parte-2-interrupcoes-e-timers.pdf
 
Algoritmo lamport
Algoritmo lamportAlgoritmo lamport
Algoritmo lamport
 
Inteligencia artificial 2
Inteligencia artificial 2Inteligencia artificial 2
Inteligencia artificial 2
 
Tudo que você sempre quis saber e sempre teve medo de perguntar, sobre Perfor...
Tudo que você sempre quis saber e sempre teve medo de perguntar, sobre Perfor...Tudo que você sempre quis saber e sempre teve medo de perguntar, sobre Perfor...
Tudo que você sempre quis saber e sempre teve medo de perguntar, sobre Perfor...
 
Gerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoGerências de Processos: Sincronização
Gerências de Processos: Sincronização
 
Engenharia de Software - Unimep/Pronatec - Aula 2
Engenharia de Software - Unimep/Pronatec - Aula 2Engenharia de Software - Unimep/Pronatec - Aula 2
Engenharia de Software - Unimep/Pronatec - Aula 2
 
Programação Concorrente - Aula 04
Programação Concorrente - Aula 04Programação Concorrente - Aula 04
Programação Concorrente - Aula 04
 
Apostila de demonstração
Apostila de demonstraçãoApostila de demonstração
Apostila de demonstração
 
Controle de versão com Git
Controle de versão com GitControle de versão com Git
Controle de versão com Git
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando Python
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
SysSorting Professional
SysSorting ProfessionalSysSorting Professional
SysSorting Professional
 
MALHA ABERTA E MALHA FECHADA
MALHA ABERTA E MALHA FECHADAMALHA ABERTA E MALHA FECHADA
MALHA ABERTA E MALHA FECHADA
 

Kürzlich hochgeladen

Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfHELENO FAVACHO
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfLuizaAbaAba
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxLusGlissonGud
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfRavenaSales1
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 

Kürzlich hochgeladen (20)

Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdf
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptx
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 

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

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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