Baixe o app para aproveitar ainda mais
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.
Compartilhar