23
Comunica¸ ao – Introdu¸ ao Comunica¸ ao – caracter´ ısticas Falhas modelo de aplica¸ oes distribu´ ıdas Descri¸ ao de aplica¸ oes distribu´ ıdas Sistemas Distribu´ ıdos Introdu¸ ao: Comunica¸ ao, Falhas e Coordena¸c˜ ao mar¸co de 2015 Sistemas Distribu´ ıdos

Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

Sistemas DistribuıdosIntroducao: Comunicacao, Falhas e Coordenacao

marco de 2015

Sistemas Distribuıdos

Page 2: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

Comunicacao entre Processos

troca de mensagens e sempre a primitiva basica

sobre essa primitiva podemos construir outras visoes dacomunicacao

Sistemas Distribuıdos

Page 3: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

Mensagens Basicas

send (destino, &mensagem)

receive (origem, &mensagem)

questoes

semantica de operacoesespecificacao de origem e destinoformato da mensagem

Sistemas Distribuıdos

Page 4: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

semantica — envio sıncrono e assıncrono

envio assıncrono: execucao procede imediatamente

bufferizacao

Sistemas Distribuıdos

Page 5: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

semantica — envio sıncrono e assıncrono

envio sıncrono: execucao procede quando destinatario recebemensagem

determinismo

Sistemas Distribuıdos

Page 6: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

Variantes sıncronas e assıncronas

algumas bibliotecas oferecem primitivas com varias diferentessemanticas de garantia de envio

Sistemas Distribuıdos

Page 7: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

recebimento sıncrono e assıncrono

recebimento sıncrono e o convencional

execucao procede quando ha algo a trataralternativa de recebimento com timeout

bloqueio!

suspensao da linha de execucao corrente ate chegada damensagem

Sistemas Distribuıdos

Page 8: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

bloqueio e recebimento explıcito

espera por mensagens de tipos especıficos?

podem haver outros tipos de mensagens pendentes

espera por qualquer tipo de mensagem

codigo se torna um enorme emaranhado

Sistemas Distribuıdos

Page 9: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

recebimento assıncrono

orientacao a eventos: chegada de mensagem e encarada comoevento a ser tratado

recebimento fica implıcito

o recebimento implıcito e considerado um recebimento sembloqueio

outras formas de recebimento sem bloqueio serao discutidasmais tarde

Sistemas Distribuıdos

Page 10: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

Especificacao de destino

enderecamento direto (acoplamento)

enderecos e volatilidadeservicos de nomes

caixas de correios e canais (desacoplamento)

enderecos bem conhecidoscomunicacao com par “qualquer”

Sistemas Distribuıdos

Page 11: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

Formato de mensagens

no nıvel mais baixo: sequencias de bytes

interpretacao por conta do programa

Sistemas Distribuıdos

Page 12: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

Formato de mensagens

apoio de bibliotecas ou linguagens a empacotamento edesempacotamento

marshalling e unmarshalling

abstracoes em varios nıveis

Sistemas Distribuıdos

Page 13: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

Falhas parciais

A nocao de “falha parcial” e fundamental nos SDs: a cooperacaoentre processos deve ser tolerante a falhas individuais

Sistemas Distribuıdos

Page 14: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

Falhas – Nomenclatura

problemas inevitaveis: falhas (faults)

maquinas quebradas, desconexoes, erros no software

erros (failures): consequencias dessas falhas

nomenclaturas variam mas temos que manter consistente a ideiade evitar que falhas se transformem em erros

Sistemas Distribuıdos

Page 15: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

Falhas – Nomenclatura

omissao

temporizacao

falhas arbitrarias ou bizantinas

Sistemas Distribuıdos

Page 16: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

Dependabilidade

termo classico “tolerancia a falhas” por vezes consideradoenganador

dependabilidade: ideia de que se pode confiar no sistema(apesar de possıveis erros)

dependabilidade

reliability

availability

safety

security

Sistemas Distribuıdos

Page 17: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

Processos e enlaces

Usaremos duas abstracoes principais para representar o sistemafısico: processos e enlaces

Processos: abstraem entidades ativas e executamprocessamento (pode representar um computador, umprocessador, uma thread, etc.)

Enlace: abstraem a rede de comunicacao fısica logica quepermite a troca de mensagens entre processos

Sistemas Distribuıdos

Page 18: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

Coordenacao

processos em aplicacao distribuıda devem se coordenar paraque aplicacao progrida

Sistemas Distribuıdos

Page 19: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

Coordenacao e Padroes

utilizacao de padroes recorrentes de interacao

muitos problemas recaem em versoes diversas do problema deacordo distribuıdo: ex., processos concordam sobre a ordem detratamento de mensagens, se um evento ocorreu ou nao, etc.

...assunto especıfico do curso de algoritmos distribuıdos

Sistemas Distribuıdos

Page 20: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

Coordenacao: acordo sobre hora

hora certa e conceito extremamente util para sincronizaratividades no “mundo real”

em sistemas computacionais:

ordenacaodepuracaoescalonamento de atividadesmedidas...

necessidade de uma hora certa global

Sistemas Distribuıdos

Page 21: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

Relogios fısicos

cada maquina tipicamente tem um relogio fısicocircuito que gera interrupcoes a cada n oscilacoes

relogios fısicos exibem uma taxa de variacao em relacao ahora real

tempo

horarelógio

hora certadrift máximo

Sistemas Distribuıdos

Page 22: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

Sincronizacao de relogios fısicos

interna

diferenca maxima entre horas de dois relogios do sistema

externa

diferenca maxima entre horas de qualquer relogio do sistema euma fonte externa

Sistemas Distribuıdos

Page 23: Sistemas Distribuídos - Introdução: Comunicação, …noemi/sd-15/aula2-comm.pdfSistemas Distribu dos Introdu˘c~ao: Comunica˘c~ao, Falhas e Coordena˘c~ao mar˘co de 2015 Sistemas

Comunicacao – IntroducaoComunicacao – caracterısticas

Falhasmodelo de aplicacoes distribuıdas

Descricao de aplicacoes distribuıdas

Algoritmos de sincronizacao de relogio

trocas de mensagens repetidas para obtencao de diversasamostras

protocolo NTP atualmente o mais difundido

hora = Thora corrente?

p

q

Sistemas Distribuıdos