1 – Quais são as implicações em se ter um evento com relógio de Lamport menor do que outro
que ocorreu antes desse para o tratamento de exclusão mútua?
R: A primeira é que independente dos tempos reais, evento com menor relógio de Lamport será priorizado em relação aquele que ocorreu antes porém com maior valor de relógio. Se nenhum tratamento adicional for feito o processo de menor valor será priorizado em relação ao processo de maior valor, este fato pode gerar problemas dependendo da função do sistema. Pode ocorrer ainda que essa situação continue ao longo do tempo, fazendo com que, nesse caso, o primeiro processo sempre seja privilegiado em relação ao segundo até que, eventualmente, o valor do primeiro comece a aumentar e se torne em algum momento, maior do que o segundo.
2 – Um dos problemas na implementação de comunicação entre processos em sistemas
distribuídos é a construção de interfaces. Indique duas técnicas para interfaceamento e como elas seriam aplicadas. R: Uma das técnicas é a própria forma de criação de interface da linguagem Java, onde é indicado apenas os atributos e métodos que uma classe que a implemente devem ter sem nenhuma imposição de como os métodos devem ser implementados. O interfaceamento da linguagem Java não funciona para outras linguagens porém provê uma série de comodidades ao programador, o que pode ser bastante útil para sistemas distribuídos implementados em Java uma vez que a linguagem também facilita a RMI. O CORBA é outra opção para o interfaceamento, nele existem padrões para que diferentes linguagens e arquiteturas possam fazer parte do mesmo sistema de forma que a troca de dados deve se encaixas nos tipos de dados definidos (o mesmo para os tamanhos). A passagem de mensagens é feita encapsulando as informações do remetente no padrão do Corba e então transmitindo os dados recebidos no destinatário de acordo com a arquitetura e SO específicos.
3 – O algoritmo de Maekawa diminui o número de mensagens para a obtenção de exclusão
mútua. Pergunta-se se é possível aplicá-lo para a obtenção de agreement e como isso ocorreria? R: Sim, é possível. Ao invés de se perguntar aos outros processos quem está ocupando o recurso, poderia-se usar o mesmo processo da exclusão mútua para saber se todos os processos em questão concordam com a ação/operação em questão. Essa abordagem permite o aproveitamento da propriedade do menor número de mensagens necessária no Maekawa para obter agreement fazendo pequenas mudanças no algoritmo original. Uma consequência interessante é a otimização do uso da rede, uma vez que como menos mensagens serão trocadas, é razoável esperar que a probabilidade de congestionamento do meio diminua, permitindo que outras mensagens sejam trocadas entre os processos do sistema.
4 – Considerando ambientes de computação em nuvem identifique como os modelos de
arquitetura de SD do tipo “thin client” e “tiered” se comportam. R: No modelo do tipo thin client a aplicação cliente contém o mínimo de componentes, como o nome sugere a aplicação é enxuta (magra), em geral apenas a interface com o usuário e algumas poucas funcionalidades são implementadas no lado do cliente, o processamento mais pesado é todo voltado para o servidor. A principal vantagem é que não é necessário hardware robusto para executar a aplicação cliente. No entanto, como a maior parte da aplicação está no servidor, a rede pode ser facilmente sobrecarregada com a intensiva troca de mensagens, que ainda pode gerar atrasos significativos para a aplicação cliente. No modelo do tipo tiered as trocas de mensagens são minimizadas de modo que são feitas poucas requisições do cliente para o servidor. Essa abordagem congestiona menos a rede e sobrecarrega menos o servidor. No entnto, é necessário uma maior capacidade de hardware no lado do cliente em relação ao tipo thin client.