Buscar

Prova Parcial 1 - Sistemas Distribuídos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Prova Parcial de Sistemas Distribuídos 
Questão 1 
Suponha que você foi contratado para projetar um sistema de e-commerce para distribuidoras 
atacadistas, quais metas de projeto devem ser levadas em consideração? Justifique 
Solução 
Ao projetar um sistema e-commerce, algumas metas importantes devem ser levadas em 
consideração, cujas metas são: acesso a recurso, transparência de distribuição, abertura e 
escalabilidade. No acesso a recurso, a proposta é facilitar o acesso a recursos remotos e seu 
compartilhamento de maneira controlada e eficiente, uma desvantagem dessa meta seria a falta de 
segurança e privacidade. Na transparencia de distribuição, a proposta é ocultar o fato de que seus 
processos e recursos estão fisicamente distribuidos por vários computadores. Na abertura, a 
proposta é que um sistema distribuido é um sistema que oferece serviços de acordo com a regras 
padronizadas no qual são especificas por meio de interface, como por exemplo, api do google 
maps. Na escalabilidade, a proposta é que um sistema pode ser escalavel quanto a tamanho, 
geografico e administrativo. 
 
Questão 2 
Imagine um cenário em que os clientes do e-commerce projetado(ver questão 1) estão sofrendo 
com a latência da rede, impactando diretamente no desempenho do sistema. Como podemos 
atacar esse problema? 
Solução 
Imaginamos o mesmo cenário do sistema e-commerce e digamos tambem que o sistema esta 
sofrendo com latencia de rede, partimos da premicia de que a latencia de rede é a quantidade de 
tempo necessario para os dados viajarem entre o remetente e o destinatario, logo todas as redes 
de computadores possuem alguma forma de latencia , assim a quantidade varia e pode aumentar 
por varias razões. Entao considerando varios fatores, poderiamos atacar de forma direta esse 
problema verificando se a rede está com multiplos acessos isso levando em consideração que o 
provedor seja o mais simples possivel, assim uma forma de corrigir o latencia de rede, seria adaptar 
o provedor para um modelo mais poderoso e ate mesmo usar um provedor adcional para conter os 
multiplos acessos e amenizar a trafego. 
 
 
 
 
 
 
 
Questão 3 
Considere uma cadeia de processos P1, P2, ...., Pn implementando uma arquitetura cliente-servidor 
multidividida. O processo Pi é cliente do processo Pi+1, e Pi retornará uma resposta a Pi-1 somente 
após receber uma resposta de Pi+1. Quais são os principais problemas dessa organização quando 
se examina o desempenho de requisição-resposta no processo P1? 
Solução 
Levando em consideração o processo descrito no problema acima , o desempenho de requisição 
dessa organização sempre vai ser ruim para um n muito grande, ou seja, sempre vai haver um 
problema comunicação entre as camadas, a principio essa comunicação entre camadas sucessivas 
é caraterizada entre duas camadas diferentes. Um outro problema seria no mal desempenho de 
uma maquina, se ela esta ficar temporariamente inacessivel, então a mesma vai degradar o 
desempenho de requisição em um nivel mais alto. 
 
Questão 4 
 
Você consideraria que um URL como http://www.ufam.edu/index.html é independente de 
localização ? Eo endereço http://www.ufam.br/index.html? 
 
Solução 
 
Acredito que ambos endereços são independentes da localizaçao, pois utilizam nomes e 
identificadores amigaveis e a unica diferença entre eles se deve ao fato de um possuir uma second-
level domain ou extensão em “.edu” no qual denomina uma extensão para instituição de ensino e 
a outra “.br” no qual denomina um dominio relacionado ao Brasil. 
 
 
Questão 5 
Qual a diferença entre Nomes, Identificadores e Endereços?Exemplifique. 
Solução 
Em sistemas distribuidos, um nome é uma cadeia de bits ou caractere usada para referenciar uma 
entidade. Uma entidade em sistemas distribuidos pode ser qualquer coisa. 
Exemplos: impressoras, caixas postais, paginas webs e etc. 
Para agir sobre uma entidade é necessario acessa-la, para isso precisamos de um ponto de acesso. 
Um ponto de acesso é um tipo de entidade especial em SD, no qual é denominado de endereço. 
O endereço de um ponto de acesso de uma entidade é denominado tambem de endereço daquela 
entidade , e uma entidade pode oferecer varios pontos de acesso, um exemplo tipico de ponto de 
acesso em sistemas distribuidos é um hospedeiro que executa em um servidor especifico, cujo 
endereço é formado pela combinação , de por exemplo, um endereço IP e um numero de portas, 
isto é, um endereço de nivel de transporte de servidor. Um identificador é um tipo de nome, mas 
deve possuir as seguintes propriedades, de identificar no maximo uma entidade, cada entidade no 
maximo é referencada por um identificador e um identificador sempre referencia a mesta entidade, 
isto é, nunca é reutilizado. 
Questão 6 
Explique o funcionamento do sistema CHORD. 
Solução 
O sistema chord é um sistema utilizado para encontrar dados de forma mais eficiente que os 
protocolos lookup e basicamente ele funciona da seguinte maneira: 
Primeiro: partindo da premicia, os nós são ligados em um anel logico. 
Segundo: um dado com chave K é mapeado para um no com o menor ID, ou seja Id < K. 
Terceiro: esse mesmo nó é denominado como o sucessor da chave K e portanto é denotado como 
SUCC (K). 
Quarto: qauqluer aplicação executavel em um nó arbitrario é denomidado de LOOKUP (K) que por 
consequente retorna ao endereço de rede de SUCC (K) 
 
Digamos que seja preciso gerar um novo nó no sistema chord . Então o sistema vai gerar um 
identificador aleatorio para o nó, apos isso o nó faz uma pequisa por id, retornando ao SUCC (id). 
Por consequente, o nó gerado contacta seu sucessor e seu predecessor e se insere no anel. Cada 
item de dado que esta associado ao id deve ser transferido para um nó de SUCC (Id). 
Agora digamos que um nó precise sair do sistema chord. Então, o nó informa a sua saida ao seu 
sucessor e predecessor e então transfere seus dados para SUCC (Id). 
Questão 7 
Explique a diferença entre o protocolo NTP e o algoritmo de Berkeley? 
Solução 
Protocolo de Tempo de Rede (NTP) - neste protocolo o relogio é ajustado entre pares de servidor, 
isto é , um servidor X consulta um servidor Y e vice versa. No protocolo NTP cada computador 
possui seu estrato, assim um servidor que possue um receptor WWW é conhecido como servidor 
de estrato 1. Quando o servidor X contacta o servidor Y so ajustara seu horario caso o estrato do 
servidor X for maior do que Y. Para um ajuste de precisão de calculo, o protoclo NTP se baseia em 
dados calculador anteriores. No protocolo NTP servidor de tempo é passivo, ja no algoritmo de 
Berkeley, o servidor faz um consulta de todas as maquinas tempo a tempo para obter o horario 
especifico de cada maquina e assim o algoritmo de Berkeley faz uma media de todas as horas e 
informa aos computadores o deslocamento de tempo a ser feito. Vale ressaltar tambem que esse 
metodo so é adequador quando nenhuma das maquinas possuir um receptor do tipo WWW. 
 
 
 
 
 
Questão 8 
Aplique o algoritmo de Lamport (implementação de relógios lógicos) para corrigir os relógios dos 
processos P1, P2e P3, ilustrados na figura abaixo. 
Solução 
——— 
Questão 9 
Na abordagem centralizada da exclusão mútua (ver Figura abaixo), ao receber uma mensagem de 
um processo que está liberando o seu acesso exclusivo aos recursos que estava usando, o 
coordenador normalmente concede permissão ao primeiro processo na fila. Cite um outro algoritmo 
possível para o coordenador. 
Solução 
Em exclusão mútua, especificamente na abordagem de permissão, em algoritmo centralizado, o 
coordenador alem de ter a função de permitir o acesso a um processo, também pode priorizar esse 
acesso, ou seja, os pedidos feitos ao coordenador para acessar um recurso compartilhado podem 
estar intimamente ligados a prioridades, assim o processo com maior prioridade recebera o recurso 
compartilhado. 
Questão 10 
Suponha que doisprocessos detectem a morte do coordenador simultaneamente e ambos decidam 
convocar uma eleição que utilize o algoritmo do valentão.O que acontecerá? 
Solução 
O algoritmo de eleição, em especifico o Valentão, vai funcionar normalmente no caso mencionado, 
sendo assim a partir do momento que os dois processos detectam a morte do coordenador, cada 
um dos processos com maiores numeros recebera duas mensagens de eleição, a segunda 
mensagem é ignorada e o processo de eleição continua, pela definição do algotimo, vence a eleição 
quem for o mais valentão.

Continue navegando