Académique Documents
Professionnel Documents
Culture Documents
Disciplina: Sistemas Distribudos Prof.: Edmar Roberto Santana de Rezende Faculdade de Engenharia de Computao Centro de Cincias Exatas, Ambientais e de Tecnologias Pontifcia Universidade Catlica de Campinas
Nov/2004
1 / 20
! Vantagem:
" programadores concentram-se nos algoritmos das aplicaes
! Sinnimos:
"
Nov/2004
! Soluo:
" " passos (1) e (2) devem ocorrer como uma transao atmica (como se fosse um nico passo) se a ligao telefnia cair entre os passos (1) e (2), os efeitos do passo (1) devem ser cancelados
Sistemas Distribudos - Edmar R. S. de Rezende 2004 3 / 20
Nov/2004
Nov/2004
4 / 20
! END_TRANSACTION: ! ABORT_TRANSACTION:
! READ: ! WRITE:
Nov/2004
5 / 20
Nov/2004
6 / 20
Nov/2004
7 / 20
BEGIN_TRANSACTION x = 0; x = x + 1; END_TRANSACTION
BEGIN_TRANSACTION x = 0; x = x + 2; END_TRANSACTION
BEGIN_TRANSACTION x = 0; x = x + 3; END_TRANSACTION
Nov/2004
8 / 20
Escalon. 1
x = 0; x = x + 1; x = 0; x = x + 2; x = 0; x = x + 3; Legal
Escalon. 2
x = 0; x = 0; x = x + 1; x = x + 2; x = 0; x = x + 3; Legal
Escalon. 3
x = 0; x = 0; x = x + 1; x = 0; x = x + 2; x = x + 3; Ilegal
Nov/2004
9 / 20
! Uma sub-transao
" " herda todos os objetos controlados pela transao top-level faz cpia local de todos os objetos herdados e s repassa os novos valores destes objetos transao top-level em caso de commit da sub-transao
Sistemas Distribudos - Edmar R. S. de Rezende 2004 10 / 20
Nov/2004
Nov/2004
11 / 20
! Se ocorrer commit:
" a transao repassa os novos valores dos objetos para os seus originais
! Problema:
" alto custo
! Otimizao:
"
shadow blocks
Nov/2004
12 / 20
ndice 0 1 2
ndice 0 1 2
0 2'
0 1 2' 3'
1
Nov/2004
3'
" "
Nov/2004
14 / 20
Nov/2004
15 / 20
! Os demais processos:
" so designados como subordinados
Nov/2004
! Fase 1:
O coordenador registra prepare em log e envia a mensagem prepare para os subordinados Um subordinado registra ready / abort em log e envia a mensagem ready / abort para o coordenador O coordenador coleta todos as mensagens ready
! Fase 2:
O coordenador registra a deciso em log e envia mensagem commit / abort para os subordinados Um subordinado registra commit / abort em log, toma a ao correspondente e envia mensagem finished ao coordenador
Nov/2004
17 / 20
! Locking
" Um gerente centralizado ou distribudo registra todos os locks e rejeita pedidos de lock em objetos j alocados a outros processos
lock para escrita deve ser exclusivo, mas lock para leitura pode ser compartilhado quanto menor a granularidade do lock maior a chance de paralelismo, mas tambm maior a chance de deadlock
"
"
Nov/2004
18 / 20
! Controle otimista
" " Os objetos so modificados sem preocupao com concorrncia at o fim da transao Quando chegar o momento de commit:
a transao verifica se outra transao modificou os mesmos objetos que ela tenha modificado
"
Se no h conflito:
o commit feito (repasse de objetos do espao de trabalho privado) seno feito um abort
Nov/2004
19 / 20
! Timestamps
" " " Cada transao recebe um timestamp nico em seu incio Cada objeto no sistema tem um read timestamp e um write timestamp, dizendo que transao fez a operao Se transaes so curtas e espaadas no tempo, normalmente, quando uma transao fizer acesso a um objeto, os timestamps do objeto sero mais velhos que o timestamp da transao
caso contrrio a transao est atrasada e deve ser abortada
Nov/2004
20 / 20