Modelo de Interao
Processos interagem de acordo com a arquitetura adotada
Servidores cooperam para fornecer um servio (DNS) / processos peer cooperam para atingir um objetivo comum (teleconferncia);
Programa simples seqencial descrito por um algoritmo seqncia de passos seqncia de estados
Estado valor das variveis em um momento da execuo do sistema.
Modelo de Interao
Sistema distribudo comportamento e estado definido por um algoritmo distribudo
Estado do sistema estado de cada processo do sistema, que privativo do processo; Fatores relevantes:
Comunicao e Noo global de tempo.
Modelo de Interao
Desempenho da comunicao:
Latncia atraso
Latncia da transmisso (tempo para envio dos bits) + atraso no acesso rede (espera pela disponibilidade do meio) + tempo de processamento dos servios de comunicao do SO;
Largura de banda volume total de informaes que pode ser transmitido em determinado momento; Jitter variao do atraso.
Modelo de Interao
Relgios e tempo:
Cada computador tem o seu relgio interno; Relgios de computadores se desviam de uma base de tempo (relgio de referncia perfeito), e as taxas de desvio dos computadores so diferentes; Taxa de desvio do relgio (drift) quantidade relativa do desvio de um relgio de computador do relgio perfeito; Soluo
GPS- Global Positioning System Sincronizao entre os relgios.
receive
receive
Tempo fsico
send
Z receive receive m3 t1 t2 m1 m2
Modelo de falhas
Processos e canais de comunicao podem falhar divergir do que considerado um comportamento correto ou desejvel. Define como uma falha pode se manifestar em um sistema.
Modelo de falhas
Falhas por omisso
Um processo ou canal de comunicao deixa de executar as aes que deveria. Processo colapso (crash) interrompe a execuo. Comunicao uma mensagem perdida, no sendo transferida para o seu destino
Falha por omisso de envio entre o processo remetente e o buffer de envio; Falha por omisso de recepo entre o buffer de recepo e o processo destino; Falha por omisso de canal no meio de comunicao.
Modelo de falhas
processo p processo q
send m
receive
Modelo de falhas
Falhas arbitrrias
Falha bizantina qualquer tipo de erro pode ocorrer. Processos podem informar valores incorretos aos demais. Processo omite arbitrariamente passos desejados do processamento ou efetua processamento indesejado; Canais de comunicao corromper o contedo de uma mensagem, enviar uma mensagem inexistente ou entregar mensagens mais de uma vez.
Modelo de falhas
Class of failure Affects Description Fail-stop Processo Processo para e permanece parado. Outros processos (Parada por falha) podem detectar esse estado (sistema sncrono). Crash Processo Processo pra e permanece parado. Outros processos (Colapso) podem no detectar esse estado. Omisso Canal Uma mensagem inserida em um buffer de envio nunca chega no buffer de recepo do destinatrio. Omisso de Processo Um processo conclui um envio, mas a mensagem no envio colocada em seu buffer de envio. Omisso de Processo Uma mensagem colocada no buffer de recepo de um processo mas esse processo no a recebe. recepo Processo Processo/canal exibi comportamento arbitrrio: ele Arbitrria ou canal Pode enviar/transmitir mensagens arbitrrias em (Byzantine) qualquer momento, cometer omisses; um processo pode parar ou realizar uma ao incorreta.
Falhas por omisso e arbitrrias.
Modelo de falhas
Falha de temporizao
Aplicveis aos sistemas distribudos assncronos temporizados.
Class of Failure Affects Relgio Processo Desempenho Processo Description O relgio local do processo ultrapassa os limites de sua taxa de desvio. O processo ultrarpassa os limites do intervalo de tempo entre duas etapas. A transmisso de uma mensagem demora mais do que o limite definido.
Desempenho
Canal
Modelo de falhas
Mascaramento de falhas
Um servio mascara uma falha ocultando-a completamente ou convertendo-a em um tipo de falha aceitvel.
Protocolos de retransmisso de mensagens ocultam falhas de omisso do canal. Replicao diversas rplicas de um servidor ocultam a falha de uma das rplicas.
Modelo de falhas
Confiabilidade da comunicao de um para um
Comunicao confivel:
Validade qualquer mensagem do buffer de envio entregue ao buffer de recepo de seu destino, independente do tempo necessrio para tal; Integridade a mensagem recebida idntica enviada e nenhuma mensagem entregue duas vezes.
Ameaas:
Protocolos inconsistentes e ataques.
Consenso
Um conjunto de processos deve concordar com um mesmo valor proposto ao final do consenso, sendo que cada processo pode ter um valor proposto inicial diferente
Terminao todos os processos terminam o consenso; Validade o valor acordado o valor proposto inicial de algum processo; Acordo todos os processos que terminam o consenso sem falhar decidem pelo mesmo valor proposto.
Consenso
Coordenao, ordenao, eleio de lderes, definio de membros de grupo de comunicao (membership); terminao atmica; etc. Sistemas Sncronos existem solues para o consenso. Sistemas Assncronos o consenso impossvel na ocorrncia da falhas, mesmo que apenas um processo falhe por colapso (Fisher, Lynch e Paterson 1985).
Consenso
Modelos parcialmente sncronos:
Sincronismo Mnimo (Dolev, Dwork e Stockmeyer 1987); Sincronismo Parcial (Dwork, Lynch e Stckmeyer 1988) ; Assncrono Temporizado (Cristian e Fetzer 1999); Detectores de Falhas No Confiveis (Chandra e Toueg 1996); Base de Computao Temporizada TCB (Verssimo e Casimiro 2002); Paxos (Lamport 1998); HA (Gorender, Macdo e Raynal 2007). O consenso pode ser resolvido, porm com restries.