Questões Resolvidas A.C.-10/08/05
Questões




Defina com sua palavras, o que é sistemas
Distribuídos?
Cite explique os dois modelos mais usados em
sistemas distribuídos?
Cite algumas vantagens e desvantagens do
sistemas distribuídos.
Com base no projeto “Artes gráfica Renato”
indique um modelo. Justifique a sua indicação.
RESPOSTA 1
O que é
Um Sistema Distribuído definido por Tanenbaum é
uma coleção de computadores independentes que se
apresenta ao usuário como um sistema único e
consistente; outra definição, de Coulouris, seria uma
coleção de computadores autônomos interligados
através de uma rede de computadores e equipados
com software que permita o compartilhamento dos
recursos do sistema: hardware, software e dados.
RESPOSTA 2
Modelo de Cliente Servidor

Cliente/Servidor


O cliente manda um pedido para o servidor e o
servidor o retorna.
Peer-to-peer (P2P)

O banco de dados manda um pedido para o
gerenciador, o gerenciador retorna para o banco
de dados e pede confirmação, e o banco de dados
retorna para o gerenciador.
P2P

P2P ou Peer-to-Peer é uma tecnologia que possibilita a
distribuição de arquivos em rede e que tem como característica
permitir o acesso de qualquer usuário dessa rede a um nó, ou a
outro usuário (peer) de forma direta, possibilitando a partilha
entre os usuários de ciclos de processamento das máquinas,
banda de rede, espaço de armazenamento entre outros recursos
que em outros sistemas acabavam sendo desperdiçados.
Basicamente pode-se dizer que cada computador é cliente e
servidor ao mesmo tempo.
P 2 P...
O conceito de peer-to-peer disseminou-se pelo
mundo inteiro, devido ao surgimento, na internet, de
sistemas de gestão de redes descentralizadas, que
permitem aos utilizadores partilhar arquivos de forma
direta, sem necessitarem de se ligar a um servidor
central. O mais conhecido desses sistemas, o Napster,
especializado na partilha de música, tornou-se
mundialmente célebre devido a ser alvo de ataque
jurídico por parte das companhias discográficas.
Um dos tipos de arquivos mais frequentemente
compartilhado nas redes P2P é o mp3
RESPOSTA 3
Vantagens Potenciais



Adequação à estrutura das organizações
– Distribuição física e acesso distribuído a
sistemas de informação das organizações
Adequação à interação entre pessoas
– E-mail, boletins eletrônicos
– Suporte para trabalho cooperativo
Adequação dos serviços às máquinas
– Mainframes para SGBDs, PCs para as
aplicações gráficas
Vantagens Potenciais



Partilha de recursos
– Poder computacional, informação,
periféricos
Difusão de informação entre pessoas
– E-mail
Acesso a serviços
– E-business
Vantagens Potenciais


Disponibilidade
– A falha de uma parte pode não perturbar todo
o sistema
– Replicação
Flexibilidade
–Escalabilidade no desenvolvimento de
sistemas com elevado potencial
Problemas da Distribuição


Falha independente das componentes do sistema
– Máquinas diretamente envolvidas nas
interações
– Infra-estrutura de comunicação
Interação via troca de mensagens
– Incapacidade de comunicar com o destinatário
– Perda de mensagens, alteração do seu fluxo
ou conteúdo
– Latência variável
– Heterogeneidade de representação de dados
Problemas da Distribuição


Segurança
– Acesso não autorizado a recursos remotos
– Inspeção ou alteração ilegítimas de conteúdos
de mensagens
Desenvolvimento de software
– Concepção de sistemas operativos, linguagens
e aplicações mais apropriados
– Definir o que deve ser feito pelo sistema e o
que deve ser feito pelos utilizadores
RESPOSTA 4
Modelos para sistemas
distribuídos
Modelos para sistemas
distribuídos

Como aumentar a nossa intuição para resolver
problemas?

Experimentação



abordagem prática baseada no acúmulo de informação;
pode ser usada para construir coisas similares a outras já
construídas.
Modelagem e análise


abordagem teórica baseada na simplificação do objeto de estudo
(“mundo real”);
seguida de análise - matemática ou lógica - para inferir
propriedades.
Modelagem x experimentação



modelagem oferece mais “controle” sobre a
intuição adquirida;
modelagem só é útil se o modelo caracteriza o
objeto de estudo de forma apropriada;
experimentação é muito importante para validar
modelos.
O que é um bom modelo?

Preciso


a análise do modelo deve levar a conclusões verdadeiras
sobre o objeto de estudo
Tratável


um modelo que não permite a execução de uma análise
é inútil
em um modelo tratável, as regras que governam o
comportamento dos atributos do modelo são
normalmente definidas através de fórmulas matemáticas
ou lógicas
Simulação

Alternativa à experimentação


Mais próximo do sistema real sem a necessidade
de arcar com o custo de construí-lo
Alternativa à modelagem

Permite analisar situações que não podem ser
modeladas de forma tratável/representativa
Que respostas um bom modelo
pode dar?

Viabilidade


Custo


Que classes de problemas podem ser resolvidos
Para as classes que podem ser resolvidas, quão cara (em
termos de recursos, tempo de processamento, etc.) uma
solução precisa ser
Ambas as respostas têm valor prático e teórico
Modelos para sistemas
distribuídos: um exemplo

O problema da coordenação

Dois processos, A e B, se comunicam através de troca
de mensagens. Nenhum processo falha, mas o canal de
comunicação pode perder algumas mensagens. Construa
um protocolo que permita que ou a ação a ou a ação b
possa ocorrer, mas (i) A e B executam a mesma ação, e
(ii) nenhum executa ambas as ações.
Prova de impossibilidade

A prova é por contradição



se existir um tal protocolo deve envolver troca de mensagens
entre A e B
vamos escolher o protocolo que resolve o problema com o
número mínimo de trocas de mensagens (i.e. não existe um
protocolo que use menos mensagens) e, sem perda de
generalidade, assumir que m, a última mensagem enviada no
protocolo, foi enviada por A
as ações tomadas por A e B não dependem de m, portanto m é
supérflua e é possível construir um protocolo com uma
mensagem a menos; uma contradição!
Vamos entender melhor o que
fizemos

Nós concluímos que o Problema da Coordenação não
tem solução, construindo um modelo simples e
informal, usando duas observações:



todos os protocolos distribuídos entrem os dois processos
são equivalentes a uma série de trocas de mensagens; e
ações tomadas por um processo dependem apenas da
seqüência de mensagens recebidas.
A partir desse modelo, nossa “intuição” sobre o
problema pode ser refinada

Quais são os atributos mais
importantes de um sistema
distribuído?
Atrasos no escalonamento e na transmissão de
mensagens


síncronos x assíncronos
Semântica de falha dos componentes




parada (failstop), crash, omissão
desempenho
valor
arbitrária (Bizantina)

restrições obtidas através de autenticação
Sistemas distribuídos assíncronos


Nenhuma restrição em relação aos atrasos de
escalonamento e de transmissão de mensagens
Falhas arbitrárias

Não há como obter acordo, mesmo que só um processo
falhe e mesmo que a semântica seja crash
Detectores de falhas não confiáveis

Uma outra abordagem é definir o sincronismo
extra necessário em termos de propriedades
que precisam ser satisfeitas

Classes de detectores



Abrangência: que falhas são detectadas
Exatidão: que erros podem acontecer
Sincronismo no tempo

Global Stabilization Time
Como escolher um modelo?

Características do ambiente de execução




Requisitos da aplicação


Tipos dos componentes
Qualidade dos componentes
Controle sobre o ambiente
Aplicações críticas
Usar uma coleção de modelos


Processadores com semântica de falha controlada
Canais confiáveis
Download

aula3