Anda di halaman 1dari 26

Navigators

FCUL

Sistemas Distribudos como


Autmatos

Miguel Pupo Correia


Dep. Informtica, Faculdade de Cincias da Universidade de Lisboa
LASIGE, grupo Navigators
CAUL Maio de 2005

Navigators

FCUL

Sumrio
1.
2.
3.
4.
5.

Sistemas distribudos
Autmatos I/O
O problema do consenso
Solues
Concluso

Navigators

FCUL

Sumrio
1.
2.
3.
4.
5.

Sistemas distribudos
Autmatos I/O
O problema do consenso
Solues
Concluso

Navigators

FCUL

Um sistema distribudo aquele que no o


deixa trabalhar por causa da falha de um
computador do qual nunca ouviu falar.
- Leslie Lamport

Navigators

FCUL

Redes de Computadores

Internet

Servios: web, email,


p2p,...
5

Navigators

FCUL

Sistemas Distribudos
Sistemas formados por conjuntos de
computadores interligados por redes
Diferena em relao a redes de computad.:
FOs computadores cooperam para realizar um
conjunto de tarefas
FH a noo de estado do sistema, partilhado entre
todos os computadores

Exemplos:
Fsistemas de ficheiros distribudos,
Fsistemas de comrcio electrnico,
Fsistemas de trabalho em grupo....
6

Navigators

FCUL

Modelos
Sistemas distribudos so complexos a
diversos nveis
Por ex., s o problema da comunicao em
rede geralmente dividido em 5 (Internet) ou
7 (ITU) nveis de abstraco!
Logo, modelos

Navigators

FCUL

Modelos topolgicos
Tpico e mais simples: processos + canais
FComunicao ponto-a-ponto ou por difuso
FCompletamente ligados ou no
P2
P1
P3

P4
8

Navigators

FCUL

Modelos temporais
Sncrono
FH limites conhecidos para os tempos de
processamento
FH limites conhecidos para os tempos de
comunicao

Assncrono
FNo h limites conhecidos para os tempos de
processamento
FNo h limites conhecidos para os tempos de
comunicao

Modelos parcialmente sncronos e extenses


9

Navigators

FCUL

Modelo de Falhas
No h falhas
Paragem de processos
FComunicao no falha...

Processos bizantinos
F L. Lamport et al., The Byzantine Generals Problem, 1982

Paragem e omisses na comunicao


Evitar que o sistema falhe tem enorme
importncia em muitas reas (ex. aviao)
FConfiabilidade / Tolerncia a Faltas; Tol. Intruses
10

Navigators

FCUL

Outros aspectos de modelo


Processos determinsticos ou no
Ftipicamente sim

Existncia de relgios sincronizados

11

Navigators

FCUL

Algoritmos distribudos
Algoritmos executados concorrentemente por
diversos processos
Necessrios para concretizar sistemas
distribudos (e no s)
FComputao paralela, controle de processos
tempo-real

Dependem fortemente do modelo considerado


Duas dificuldades gerais:
FUm processo no conhece o estado de outro
FTm que lidar com a incerteza do modelo
12

Navigators

FCUL

Sumrio
1.
2.
3.
4.
5.

Sistemas distribudos
Autmatos I/O
O problema do consenso
Solues
Concluso

13

Navigators

FCUL

Motivao
Autmatos I/O: modelo que permite
especificar formalmente sistemas distribudos
FN. Lynch, M. Tuttle 87

Especificaes formais permitem:


FFazer provas rigorosas de algoritmos
FChegar a resultados sem significado ambguo
(ex: mximos e mnimos)
FComparar algoritmos diferentes com preciso
FAnlise de complexidade

14

Navigators

FCUL

Autmatos I/O
Ideia geral: componentes (lgicas) do sistema
so representadas por autmatos I/O
Autmatos reagem a entradas vindas do
ambiente
Trs tipos de aces: input, output, internas
output
Autmato

Ambiente
input

15

Navigators

FCUL

Assinatura e aces
Assinatura S partio de um conjunto de
aces acts(S) em trs conjuntos disjuntos:
Fin(S), out(S), int(S)
Aces externas:
Fext(S) = in(S) U out(S)

16

Navigators

FCUL

Componentes de um autmato A
Assinatura sig(A)
Conjunto de estados states(A) variveis de estado
Conjunto de estados de inicializao start(A)
Fsubconjunto de states(A)
Relao de transio trans(A)
Ftrans(A): states(A) x acts(A) x states(A)
Partio de tarefas tasks(A)
Fparticiona out(S) U int(S) num conjunto numervel
de classes de equivalncia
Fcada uma corresponde a um fluxo de execuo
17

Navigators

FCUL

Aces activas
Se (s, p , s) uma transio do autmato A,
ento a aco p diz-se activa em s.
Duas hipteses fundamentais do modelo:
FTodos as aces de input esto sempre activas
em todos os estados
FNenhuma aco controlada por mais do que um
autmato: nenhum par de processos tem a mesma
aco interna ou de output

18

Navigators

FCUL

Execuo
Fragmento de execuo de A: sequncia
finita ou infinita s0, p 1, s1, p 2, p n, sn tal
que (si, p i+1, si+1) uma transio de A, i.
Execuo: fragmento de execuo que
comea com um estado de inicializao.
Denotam-se os conjuntos de execues de A
por execs(A) e finexecs(A) (finitas).
Evento: ocorrncia particular de uma aco.
19

Navigators

FCUL

Exemplos de autmatos
Processo
sig(A)={init(v)i,decide(v)i,
send(m)i,j,receive(m)j,i }
init(v)i

Canal
sig(A)={send(m)i,j, receive(m)i,j }

decide(v)i
send(m)i,j

Ci,j

receive(m)i,j

Pi
send(m)i,j

receive(m)j,i

20

10

Navigators

FCUL

Exemplo Autmato Canal


Representao em estilo pr-condio/efeito
Assinatura: send(m)i,j, receive(m)i,j, m M
Estados: fila, uma fila com elementos de M, inicialm/ vazia
Transies:
Ci,j
send(m)i,j
send(m)i,j
receive(m)i,j
Ef: pr m no fim da fila
receive(m)i,j
Pre: m primeiro da fila
Ef: remover primeiro da fila
21

Navigators

FCUL

Composio
Operao que permite construir um autmato
que modele um sistema complexo usando
autmatos que modelem componentes mais
simples
Ligar aces de input e output de mesmo
nome
Quanto um autmato executa a aco de
output p , todos os autmatos que tm aces
de input p executam p simultaneamente
22

11

Navigators

FCUL

Exemplo de composio

decide(v)1
init(v)1

receive(m)2,1
P1

C2,1

send(m)1,2

init(v)2
send(m)2,1
receive(m)1,2

C1,2

decide(v)2
P2

23

Navigators

FCUL

Compatibilidade
S se podem compr autmatos compatveis.
Uma coleco numervel de assinaturas {Si}
compatvel se para todo o i ? jI, tivermos
1.out(Si) n out(Sj) = ,
2.int(Si) n acts(Sj) = , e
3.Nenhuma aco est contida em infinitos
conjuntos acts(Si).
Uma coleco de autmatos compatvel se a
coleco das suas assinaturas for compatvel.
24

12

Navigators

FCUL

Composio de assinaturas
A assinatura composta S de uma coleco
de assinaturas compatveis {Si}iI definida
como:
Fin(S) = UiI in(Si) - UiI out(Si)
Fout(S) = UiI out(Si)
Fint(S) = UiI int(Si)

Aces de input e output:


FDesaparecem as aces de input s quais so
ligadas a aces de output
FAs aces de output mantm-se todas como tal
25

Navigators

FCUL

Composio de autmatos
A composio A = iI Ai de uma coleco
numervel de autmatos compatveis {Ai}iI
um autmato definido por:
Fsig(A) = iI sig(Ai)
Fstates(A) = iI states(Ai)
Fstart(A) = iI start(Ai)
Ftrans(A) = iI trans(Ai)
Ftasks(A) = UiI tasks(Ai)

26

13

Navigators

FCUL

Execuo de uma composio

Induz a execuo dos autmatos componentes


Dado o autmato A = iI Ai
Dada uma execuo a = s0 p 1 s1 p 2 de A
Seja a|Ai a sequncia obtida removendo todos
os p k sk quando p k no for uma aco de Ai e
substituindo os restantes sk por sk[i].
Ento a|Ai execs(Ai)
A execuo de uma composio a execuo
intercalada dos autmatos componentes.
27

Navigators

FCUL

Especificao de um problema
Um autmato pode ser visto como uma caixa
negra, sendo observadas apenas sequncias
de aces externas: traos.
Um problema pode ser especificado atravs
de uma propriedade de trao P:
Fsig(P), uma assinatura s com aces externas
Ftraces(P), um conjunto de sequncias de aces
em acts(sig(P))

O autmato A satisfaz P sse:


Fextsig(A) = sig(P) traces(A) traces(P)
28

14

Navigators

FCUL

Propriedades
As propriedades que geralmente se pretende
que um sistema verifique so de dois tipos:
Propriedade de segurana (safety):
Falgo que se pretende que seja verificado durante
toda a execuo; algo mau que no pode
acontecer.
FExemplo: todos os processos i que fazem a aco
a(v) fazem-na com o mesmo valor de v

Propriedade de vivacidade:
Falgo bom que deve acontecer.
FExemplo: o algoritmo termina
29

Navigators

FCUL

Algumas tcnicas de prova


Decomposio modular
FPode-se raciocinar sobre uma composio
raciocinando sobre autmatos componentes
individuais

Decomposio hierrquica
FDeterminado sistema ou algoritmo descrito
hierarquicamente em diversos nveis de
abstraco: do mais elevado e simples ao mais
baixo e detalhado; comea-se por provar o de
nvel mais alto e vai-se provando sucessivamente
os abaixo
30

15

Navigators

FCUL

DIOA
Um sistema distribudo pode tambm ser
especificado formalmente usando uma
lgebra de processos
FCSP, CCS, Clculo p

H uma lgeb. de proc. relacionada com os


autmatos I/O: DIOA
FCada autmato uma expresso obtida operando
autmatos bsicos
Segala 92

31

Navigators

FCUL

Sumrio
1.
2.
3.
4.
5.

Sistemas distribudos
Autmatos I/O
O problema do consenso
Solues
Concluso

32

16

Navigators

FCUL

Problema do Consenso
Informalmente:
F H n processos, ligados por canais
F Cada um tem um valor inicial
F Os processos devem chegar a acordo sobre um desses valores

Problema importante em sistemas distribudos pois


muitos outros problemas podem ser reduzidos a ele,
logo:
F Algoritmo que resolva consenso pode ser usado para
concretizar solues para esses problemas
F Resultados tericos obtidos para consenso aplicam-se a esses
problemas

33

Navigators

FCUL

Autmatos
Processo
sig(A)={init(v)i,decide(v)i,
send(m)i,j,receive(m)j,i}
init(v)i

decide(v)i
Pi

send(m)i,j

Canal
sig(A)={send(m)i,j, receive(m)i,j}

send(m)i,j

Ci,j

receive(m)i,j

stopi

receive(m)j,i

n processos, i {1,2,...n}
vV
34

17

Navigators

FCUL

vivacidade

segurana

Problema do Consenso
Acordo: Todos os valores decididos so iguais.
i,j decide(v)i decide(v)j v = v

propr. trao

Validade: Se todas as aces init tiverem o mesmo


valor v, ento um processo decide v.
i init(v)i j: decide(v)j

Terminao f-falhas: Se houver eventos stop num


mx. de f processos, ento eventos decide ocorrem em
todos os processos no falhados.
#{Pi:stopi} f (i decidei(v) stopi)
Esta definio
independente do
modelo
35

Navigators

FCUL

Modelo
Consenso binrio: V = {0,1}
Tempo: assncrono
Falhas: paragem

36

18

Navigators

FCUL

Impossibilidade!
Terminao 1-falha no pode ser garantida
por nenhum algoritmo determinstico com
este modelo!
F FLP Fischer, Lynch e Paterson 85

Provas complicadas mas intuitivamente o


problema que no se consegue distinguir se
um processo est lento ou se parou.
Soluo? Mudar qualquer coisa:
FDeterminstico ? aleatrio/probabilstico
FMudar o modelo
37

Navigators

FCUL

Outras impossibilidades
Resistncia (a faltas) mxima: f < n/2
Fi.e., tolerar 1 falta pelo menos 3 processos

Resistncia mxima com faltas bizantinas


(modelo assncrono ou sncrono): f < n/3
Nmero mnimo de ciclos de trocas de
mensagens: f+1
(modelo assncrono ou sncrono)

38

19

Navigators

FCUL

Sumrio
1.
2.
3.
4.
5.

Sistemas distribudos
Autmatos I/O
O problema do consenso
Solues
Concluso

39

Navigators

FCUL

Algoritmo Aleatrio
M. Ben-Or 83
Contorna a impossibilidade FLP por no ser
determinstico: a terminao garantida com
probabilidade crescente
Todo o processo tem um orculo aleatrio
Consenso binrio: V = {0,1}
Tempo: assncrono
Falhas: paragem (max. f)
Ftem outro semelhante para bizantinas

Resistncia: f<n/3 (sub-ptimo)


40

20

Navigators

FCUL

Composio de autmatos
init(v)1
P1
broadcast(m)1

init(v)i

decide(v)1
stop1

receive(m)j,1

broadcast(m)i

decide(v)i
Pi

stopi

receive(m)j,i

Canal Broadcast

41

Navigators

FCUL

Esboo do algoritmo

Processo Pi:
variveis locais x e y inicialmente a null
init(v)i causa x? v
executa uma srie de fases (1,2,...) cada uma com dois ciclos
executa o algoritmo para sempre
Fase s 1 :
ciclo 1: broadcast (1,s,v), sendo v o valor em x;
espera por (n-f) mensagens (1,s,*)
se todas tiverem o mesmo v, y? v ; caso contrrio y? null
ciclo 2: broadcast (2,s,v), sendo v o valor em y;
espera por (n-f) mensagens (2,s,*)
se todas tiverem o mesmo v null, decide(v)i e x? v
se pelo menos (n-2f) tiverem o mesmo v null, x? v
c.c. x? 0 ou 1 com probabilidade 1/2
42

21

Navigators

FCUL

Terminao
Esboo de prova:
Fcom certa probabilidade todos os processos no
parados escolhem o mesmo valor v para x no ciclo
2 (fase s)
Fquando tal acontece todos fazem broadcast de v e:
todos recebem (n-f) mensagens (1,s,v)
todos fazem broadcast de (2,s,v) no ciclo 2
todos recebem (n-f) mensagens (2,s,v)
todos fazem decide(v)i e terminam
Faltaria provar
Complexidades
Acordo e Validade
Fn de ciclos esperado: 2n-1+1
Fn de broadcasts esperado: (2n-1+1)n
43

Navigators

FCUL

Algoritmo com Detector de falhas


Modelo extendido com um orculo detector de falhas
que d dicas sobre os processos falhados
Geralmente os detectores considerados no so
fiveis: as dicas podem estar certas ou erradas
Os detectores incluem algum grau de sincronia, ou
seja, no so concretizveis no modelo assncrono
Chandra e Toueg 91
O algoritmo que vamos ver - Lynch 96 (f<n/2)
F usa um detector de falhas perfeito (no se engana)
F aces de input: stopi
F aces de output: inf-stopped(j)i
44

22

Navigators

FCUL

Composio de autmatos
Detector de falhas
inf-stopped(j)1

stop1

init(v)1

inf-stopped(j)i

stopi

init(v)i
P1

decide(v)1
broadcast(m)1

receive(m)j,1

decide(v)i
broadcast(m)i

Pi
receive(m)j,i

Canal Broadcast

45

Navigators

FCUL

Esboo do algoritmo
Cada processo Pi tenta estabilizar dois dados:
F vector val indexado por {1,...n}, com valores em V U {null} ;
val(j)= v V significa que Pi sabe que o valor inicial de Pj v
F conjunto stopped com ndices dos processos que Pi sabe
que pararam (aco inf-stopped(j)i)

Inicialmente Pi faz broadcast do seu valor inicial v


Pi vai actualizando val e stopped;
sempre que mudam faz broadcast de (val,stopped)
Quando Pi recebeu mensagens de todos os
processos no falhados com (val,stopped) iguais ao
seu, decide o valor inicial do processo (no falhado)
de menor ndice
46

23

Navigators

FCUL

Detector mais fraco


Qual o detector de falhas mais fraco que
permite resolver consenso?
FChandra, Hadzilacos e Toueg 92

Detector no fivel W
FCompletude fraca: a partir de certo instante algum
processo correcto suspeita de todos os processos
parados.
FPreciso eventualmente fraca: a partir de certo
instante h um processo correcto que no
suspeito de nenhum processo correcto.
47

Navigators

FCUL

Mais solues
Sincronia parcial
FH tempos mximos de processamento e
comunicao mas so desconhecidos; ou
FA partir de certo instante T so satisfeitos tempos
mximos conhecidos de processamento e
comunicao.
Dwork et al. 84

48

24

Navigators

FCUL

Mais solues
Wormholes
FSistema estendido com um orculo que oferece
um conjunto de servios. Exemplos:
FServios de tempo: deteco de falhas temporais
FServios bizantinos: acordo sobre valor pequeno
Verssimo et al. 00, Correia et al. 02
Host 1
Processes

Host 2
Processes

Host n
Processes

OS

OS

OS

Local
TTCB

Local
TTCB

Local
TTCB

TTCB Control Channel


Payload Network

49

Navigators

FCUL

Sumrio
1.
2.
3.
4.
5.

Sistemas distribudos
Autmatos I/O
O problema do consenso
Solues
Concluso

50

25

Navigators

FCUL

Concluso
Investigao em sistemas distribudos tem
problemas interessantes e que exigem
tratamento rigoroso
Autmatos I/O
Metodologia semelhante, p.ex., Fsica:
Fmodelos
Fferramentas matemticas para raciocinar nesses
modelos: autmatos, lgebras de processos,...

mas a Informtica uma cincia do artificial


Fno s compreender mas tambm fazer
Falgoritmos tm um papel muito importante
51

Navigators

FCUL

Obrigado. Perguntas?

Pgina pessoal:
http://www.di.fc.ul.pt/~mpc
Grupo Navigators:
http://www.navigators.di.fc.ul.pt/

52

26

Anda mungkin juga menyukai