Baixe o app para aproveitar ainda mais
Prévia do material em texto
Alexandre de Cássio Vilarinho Filho Prog. Paralela e Distribuída Lista de Exercícios - Capítulo 2 - Página 41 1 - Se um cliente e um servidor forem colocados longe um do outro, podemos ver a latência de rede dominar o desempenho global. Como podemos atacar esse problema? R: Alterando a comunicação de síncrona para assíncrona. Dessa forma, o cliente deve ser reorganizado para que ele possa realizar outras tarefas enquanto ele estiver aguardando o servidor. 2 - O que é uma arquitetura cliente-servidor de três divisões? R: São programas que formam parte do nível de processamento, residem em um servidor separado, mas além disso, podem ser parcialmente distribuídos pelas interfaces, aplicações, dados da máquina do cliente-servidor. 3 - Qual é a diferença entre uma distribuição vertical e uma distribuição horizontal? R: Em muitos ambientes de negócios, processamento distribuído equivale a organizar uma aplicação cliente-servidor como uma arquitetura multi divididas. Esse tipo de distribuição é denominada distribuição vertical. O aspecto característico da distribuição vertical é que ela é obtida ao se colocar componentes logicamente diferentes em máquinas diferentes. Na distribuição horizontal um cliente ou servidor pode ser fisicamente subdividido em partes logicamente equivalentes, mas cada parte está operando em sua própria porção do conjunto completo de dados, o que equilibra a carga. Uma classe moderna que suporta distribuição horizontal é conhecida como peer-to-peer, que é de longe a mais utilizada. 4 - 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? R: O principal problema dessa cadeia de processos, é a demora em passar informações entre o processo. Além disso, quando qualquer um desses processos falhar, toda a cadeia falha, pois um necessita do outro. 5 - Em uma rede de sobreposição estruturada, mensagens são roteadas de acordo com a topologia da sobreposição. Cite uma importante desvantagem dessa abordagem. R: O custo para implementar um algoritmo determinístico para os sistemas baseados em DHT é muito alto. Além de não determinar a escolha do melhor caminho para o requerimento de um serviço (cliente/servidor). 10 - Nem todo nó em uma rede peer-to-peer deve se tornar um superpar. Cite requisitos razoáveis que um superpar deve cumprir. R: Os superpeer só podem realizar comunicação com outros superpeers. Os superpeers devem comunicar somente com o superpeer dentro de uma hierarquia. 12 - Dê um argumento técnico interessante para explicar por que a política de toma-lá-dá-cá, como usada em BitTorrent, está longe de ser ótima para compartilhamento de arquivos na Internet. R: O problema é que nem sempre o usuário que está disponibilizando o arquivo estará disponível. 13 - Demos dois exemplos de utilização de interceptadores em middleware adaptativo. Cite outros exemplos que lhe venham à mente. R: Utilizar um interceptador para criptografar mensagens de forma transparente, quando a segurança está em risco. 14 - Até que ponto interceptadores são dependentes do middleware em que são disponibilizados? R: Os interceptadores são altamente dependentes do middleware. Com base em exemplos do livro, é possível analisar que, o cliente provavelmente estará fortemente ligado às interfaces de nível mais baixo oferecidas pelo middleware, assim como os interceptadores no nível da mensagem serão altamente dependentes da interação entre o middleware, e o sistema operacional local. 15 - Carros modernos estão repletos de dispositivos eletrônicos. Dê alguns exemplos de sistemas de realimentação de controle em carros. R: Um drone, quando perde o sinal do controle, alguns deles estabiliza no ar, até que o controle volte a funcionar, enquanto outros pousam o mesmo com segurança. 16 - Dê um exemplo de um sistema auto gerenciador no qual o componente de análise está completamente distribuído ou até mesmo oculto. R: Está ligado a software adaptativo, que ocorrem por conta de um ou mais laços de realimentação de controle, no sentido em que o software deve mudar de acordo com as mudanças do ambiente. Sistemas distribuídos - e em especial seu middleware associado -precisam fornecer soluções gerais de blindagem contra aspectos indesejáveis inerentes a redes, de modo que possam suportar o maior número possível de aplicações. Por outro lado, a total transparência de distribuição não é algo que, na verdade, a maioria d as aplicações quer, o que resulta em soluções específicas de aplicação que também precisam ser suportadas. Quando a adaptação precisa ser automática, observamos um forte intercâmbio entre arquiteturas e sistemas de software.
Compartilhar