• Nenhum resultado encontrado

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

N/A
N/A
Protected

Academic year: 2021

Share "APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar"

Copied!
7
0
0

Texto

(1)

1 - Aula 3 -

1. REVISÃO SOBRE CONCEITOS FUNDAMENTAIS DE SISTEMAS DISTRIBUÍDOS

Na segunda parte abordamos o tema tolerância a falhas, assunto este muito relacionado a redes de computadores, mas que nos mostra as fragilidades advindas de uma falta de planejamento e preocupação em aspectos sensíveis de um sistema distribuído.

2. COMUNICAÇÃO 2.1. Princípios

Nas comunicações em sistemas distribuídos podemos considerar duas formas de comunicação em grupo:

-

Multicast

– Difusão seletiva -

Broadcast

– Difusão total

A comunicação é realizada pelo envio de uma mensagem para um endereço de difusão e uma cópia da mensagem é entregue a todos os destinatários. Para isto, em geral, os protocolos são sem conexão, podendo a conexão ser de um para vários ou de vários para vários.

Broadcast

Multicast

A comunicação se dá através de grupos fechados ou grupos abertos. No primeiro caso o emissor deve ser membro do grupo. Esta organização é mais restritiva e conseqüentemente mais segura que os grupos abertos.

(2)

2

Grupo Fechado

Já no grupo aberto qualquer nó pode enviar mensagens, conforme ilustrado na figura abaixo.

Grupo Aberto

Estes grupos podem ser simétricos ou assimétricos. Os grupos simétricos são compostos por pares (

peers

), não havendo um elemento privilegiado. Em comparação com os assimétricos são mais escaláveis, não possuem ponto central de falha, por outro lado a coordenação dos pares é uma tarefa que consome muitos recursos.

Grupo Simétrico

Nos grupos assimétricos um elemento é o coordenador do grupo, sendo assim é necessário eleger um novo coordenador caso o primeiro falhe. Com essa organização as decisões são mais simples, visto que o coordenador define tudo.

(3)

3

Os grupos podem ser criados, destruídos e processos podem entrar e sair de grupos estática e dinamicamente. Quando este evento se dá na configuração da rede ou do suporte de comunicação, dizemos que é estaticamente. E em tempo de execução, dinamicamente. Os suportes de comunicação de grupo dinâmicos são mais flexíveis, podendo ser configurados através de uma API de comunicação sem ajuda do administrador.

2.2. Implementação

A rede pode possuir um esquema de endereçamento de grupo nativo. Nas redes baseadas em difusão todas as mensagens são enviadas por

broadcast

1. O suporte de comunicação pode usar várias mensagens

unicast

para enviar ao grupo.

2.3. Aplicações

Aplicações em sistemas distribuídos podem ser empregadas em diversas áreas, a saber: - Difusão de áudio e vídeo

- Teleconferências - Trabalho cooperativo

- Bancos de dados distribuídos - Sistemas transacionais distribuídos - Memória compartilhada distribuída

- Replicação de serviços (Distribuição de carga e tolerância a faltas) 2.4. Confiabilidade

Em geral, os protocolos de difusão não são confiáveis. Alguns receptores podem receber uma mensagem e outros não. Isto pode causar inconsistências de estado em sistemas que utilizem replicação.

Algumas aplicações exigem que os dados estejam consistentes em todas as réplicas. Exemplo:

Um

update

em réplicas de um banco de dados. Se uma réplica não recebe a instrução de

update

, esta ficará inconsistente.

2.4.3. DIFUSÃO CONFIÁVEL

Protocolo de difusão confiável (

Reliable Mulsticast

) é capaz de recuperar mensagens corrompidas durante o envio. Mensagens recebidas pelo protocolo só serão entregues para os membros do grupo quando satisfizerem as propriedades:

- Integridade: Um membro do grupo recebe uma mensagem no máximo uma vez e apenas se esta foi previamente difundida no grupo.

1 No caso de um unicast, todas as máquinas exceto a destinatária ignoram a mensagem.

(4)

4

- Validade: Se um emissor difunde uma mensagem no grupo, esta será entregue em algum momento para os membros do grupo que estiverem funcionando corretamente.

- Acordo(

Agreement

): Se um membro do grupo recebe uma mensagem, então todos os membros do grupo que estiverem funcionando corretamente também a receberão.

2.4.4. FORMAS DE IMPLEMENTAÇÃO

- Algoritmo clássico: exige que um membro do grupo, ao receber uma mensagem pela primeira vez a envie aos demais membros do grupo.

- Algoritmo usando ACKs: todos devem responder ao emissor se receberam a mensagem, e este pode então recuperar erros.

- Algoritmo usando NACKs: receptor solicita reenvio de mensagens que não recebeu e que outros membros do grupo receberam.

2.5. Acordo

O acordo é necessário para que os membros de um grupo atuem de forma coordenada. Todos devem ter a mesma visão do sistema, devendo agir de maneira consistente. Acordos precisam ser estabelecidos mesmo que alguns dos membros do grupo apresentem falhas, inclusive maliciosas.

Exemplos de aplicação de acordo:

- Os computadores de bordo de um avião devem decidir as ações a serem tomadas (posicionar APS, alimentar turbinas, etc.).

- Em uma transferência de fundos, os computadores envolvidos na transação devem concordar em efetivá-la ou não.

- Em uma eleição, devem entrar em acordo em relação a quem será eleito.

- Em um algoritmo de ordenação, devem decidir a ordem de entrega das mensagens. 2.5.1. ALGORITMOS DE ACORDO

Em geral exigem um processo de eleição. Cada membro do grupo apresenta sua visão do fato que está sendo analisado (ex.: ordem das mensagens recebidas) enviando mensagens aos demais membros do grupo ou a um coordenador da eleição. A proposta vitoriosa será escolhida com base em alguma regra (ex.: maior número de votos, valor médio/+alto/+baixo das

respostas, etc.) 2.6. Ordenação

Na ordenação de mensagens diferentes requisitos podem ser impostos na ordem de entrega aos membros de um grupo, em função das necessidades da aplicação, como, por exemplo, nos modos de operação:

- Ordem FIFO - Orem Lógica

(5)

5 - Ordem Causal

- Ordem Temporal - Ordem Total 2.6.1. ORDENAÇÃO FIFO

As mensagens enviadas por um membro do grupo são entregues na ordem de envio a qualquer outro membro do grupo que estiver funcionando corretamente.

2.6.2. ORDENAÇÃO CAUSAL

Se um membro do grupo responde uma mensagem enviada ao grupo, os membros do grupo que funcionam corretamente receberão a resposta após a mensagem que a originou.

2.6.3. ORDENAÇÃO LÓGICA

Uma mensagem M1 precede logicamente M2, e será recebida nesta ordem por todos os membros do grupo que estiverem funcionando corretamente, se e somente se:

- M1 foi enviada antes de M2 pelo mesmo membro do grupo. - M1 foi entregue a um membro do grupo antes deste enviar M2. - Existe M3 tal que M1 precede M3 e M3 precede M2.

(6)

6 2.6.4. ORDENAÇÃO TEMPORAL

Uma mensagem M1 precede temporalmente M2, e será recebida nesta ordem por todos os membros do grupo que estiverem funcionando corretamente, se e somente se M1 foi enviada antes de M2 com uma diferença de tempo maior que um certo t.

2.6.5. ORDENAÇÃO TOTAL

As mensagens serão entregues na mesma ordem a todos os membros do grupo que estiverem funcionando corretamente.

2.7. Redes

Peer-to-Peer

São sistemas distribuídos nos quais os membros da rede são equivalentes em funcionalidade. Não existe qualquer forma de controle centralizado ou de hierarquia entre membros.

2.7.1. CARACTERÍSTICAS

- Auto-organização: não há um coordenador do grupo; toda a coordenação é distribuída; - Adaptabilidade: rede se ajusta ao ambiente, mesmo que ocorram falhas;

- Escalabilidade: rede cresce em escala facilmente; não há ponto de estrangulamento; - Comunicação direta entre os pares: se opõe ao tradicional modelo cliente-servidor, já que cada nó pode ser cliente e servidor;

(7)

7 2.7.2. UTILIZAÇÃO

É muito utilizado no compartilhamento de arquivos, imagens, músicas, vídeos, etc, bem como na atualização de sistemas operacionais e de software aplicativo, gerenciamento de redes e sistemas, processamento distribuído, sincronização de bancos de dados, difusão de informações, etc.

Exemplo: Napster, Gnutella, e-Mule, JXTA,etc

Referências

Documentos relacionados

1 - Até às 17h30m do 10.º dia (de calendário) anterior à data das eleições deverão ser dirigidas ao diretor da escola, e entregues nos serviços administrativos (setor de

UVA URSO LUVA LUA TESOURA ©Shutt erst ock/V ic tor ia Sa vostiano va ©Shutt erst ock/G yor gy Bar na ©Shutt erst ock/I ngvar Bjor k ©Shutt erst ock/Brad T hompson erst ock/T atiana

As instalações do cable modem poderão ser feitas pela OPERADORA ou uma de suas credenciadas ou ainda por terceiros. Opcionalmente, poderá ser realizada também a instalação de

Quem gosta de rodeio bate forte com a mão Alô galera de cowboy. Alô galera

Através dos exemplos da Banda Sinfônica e da Semana Universitária, observa-se que a identificação de patrimônios culturais, daquilo que é memorável para

As novas tendências e padrões das guerras do final do século XXI não podem ser explicados pela teoria padrão da política internacional. Desde 1945, muitas

• Você suspeita que essa informação está incorreta e descobre que uma amostra aleatória de 18 celulares tem baterias cujas cargas duram em média 9,5 horas com um desvio padrão

Artigo 7º - Em razão da política de investimento definida na forma deste regulamento, sujeita-se o FUNDO e os FIFEs, em especial, aos seguintes riscos: a) Risco de Investimento