Você está na página 1de 4

LISTA DE EXERCÍCIOS 03

JHENMILLY KEYTH DE OLIVEIRA MENDES


IAGO MAIA SILVA

QUESTÃO 01. Com comunicação persistente, um receptor geralmente tem seu


próprio buffer local no qual mensagens podem ser armazenadas quando o receptor
não estiver em execução. Para criar tal buffer, talvez seja preciso especificar seu
tamanho. Cite um argumento a favor e outro contra a especificação do tamanho.

Having the user specify the size makes its implementation easier. The system creates a
buffer of the specified size and is done. Buffer management becomes easy. However, if
the buffer fills up, messages may be lost. The alternative is to have the communication
system manage buffer size, starting with some default size, but then growing (or
shrinking) buffers as need be. This method reduces the chance of having to discard
messages for lack of room, but requires much more work of the system.

R: Fazer com que o usuário especifique o tamanho facilita sua implementação. O sistema
cria um buffer do tamanho especificado, e isso torna o gerenciamento de buffers mais
fácil. No entanto, se o buffer estiver cheio, as mensagens podem ser perdidas. A
alternativa é ter o sistema de comunicação gerenciando o tamanho do buffer, começando
com algum tamanho padrão, mas depois aumentando (ou diminuindo) os buffers,
conforme seja necessário. Esse método reduz a chance de ter que descartar mensagens
por falta de espaço, mas requer muito mais trabalho do sistema.
QUESTÃO 02. Explique por que a comunicação transiente síncrona tem problemas
inerentes de escalabilidade e como eles podem ser resolvidos.

The problem is the limited geographical scalability. Because synchronous communication


requires that the caller is blocked until its message is received, it may take a long time
before a caller can continue when the receiver is far away. The only way to solve this
problem is to design the calling application so that it has other useful work to do while
communication takes place, effectively establishing a form of asynchronous
communication.

R: O problema é a escalabilidade geográfica limitada. Porque a comunicação síncrona


exige que o ‘chamador’ seja bloqueado até que a mensagem seja recebida, isso pode levar
um longo tempo até que um chamador continue quando o receptor estiver longe. A única
maneira de resolver esse problema é projetar o aplicativo de chamada para que ele tenha
outro trabalho útil para fazer enquanto a comunicação ocorre, e efetivamente estabelecer
uma forma de comunicação assíncrona.
QUESTÃO 03. Dê um exemplo em que multicasting também é útil para fluxos
discretos de dados.

Passing a large file to many users as is the case, for example, when updating mirror sites
for Web services or software distributions.

R: Passar um arquivo grande para muitos usuários, como é o caso, por exemplo, ao
atualizar sites espelhados para serviços da Web ou distribuições de software.
QUESTÃO 04. Suponha que temperaturas médias em uma rede de sensores não
recebam marcas de tempo pelo sensor, mas sejam enviadas imediatamente ao
operador. Isso seria suficiente para garantir um atraso fim-a-fim máximo?

Not really if we assume that the operator would still need to knowwhen themeasurement
took place. In this case, a timestamp can be attached when themeasurement is receive d,
but this would mean that we should also have g uar-antees for minimum end-to-end
delays.
R: Na verdade, não se assumirmos que o operador ainda precisaria saber quando a
medição ocorreu. Nesse caso, um registro de data e hora pode ser anexado quando a
medida é recebida d, mas isso significaria que também deveríamos ter restrições para
atrasos mínimos de ponta a ponta.
QUESTÃO 05. Como você poderia garantir um atraso máximo fim-a-fim quando
um conjunto de computadores estiver organizado em um anel (lógico ou físico)?

We let a token circulate the ring. Each computer is permitted to send data across the ring
(in the same direction as the token) only when holding the token. Moreover, no computer
is allowed to hold the token for more than T seconds. Effectively, if we assume that
communication between two adjacent computers is bounded, then the token will have a
maximum circulation time, which corresponds to a maximum end-to-end delay for each
packet sent.
R: Nós deixamos um token circular o anel. Cada computador tem permissão para enviar
dados pelo anel (na mesma direção do token) somente quando estiver segurando o token.
Além disso, nenhum computador pode manter o token por mais de T segundos.
Efetivamente, se assumirmos que a comunicação entre dois computadores adjacentes é
limitada, o token terá um tempo de circulação máximo, que corresponde a um atraso
máximo de ponta a ponta para cada pacote enviado.
QUESTÃO 06. Como você poderia garantir um atraso fim-a-fim mínimo quando um
conjunto de computadores estiver organizado em anel (lógico ou físico)?

Strangely enough, this is much harder than guaranteeing a maximum delay. The problem
is that the receiving computer should, in principle, not receive data before some elapsed
time. The only solution is to buffer packets as long as necessary. Buffering can take place
either at the sender, the receiver, or somewhere in between, for example, at intermediate
stations. The best place to temporarily buffer data is at the receiver, because at that point
there are no more unforeseen obstacles that may delay data delivery. The receiver need
merely remove data from its buffer and pass it to the application using a simple timing
mechanism. The drawback is that enough buffering capacity needs to be provided.

R: Estranhamente, isso é muito mais difícil do que garantir um atraso máximo. O


problema é que o computador receptor deve, em princípio, não receber dados antes de
algum tempo decorrido. A única solução é armazenar os pacotes pelo tempo que for
necessário. O armazenamento em buffer pode ocorrer no emissor, no receptor ou em
algum lugar entre, por exemplo, em estações intermediárias. O melhor local para
armazenar temporariamente os dados do buffer é no receptor, porque, nesse ponto, não
há mais obstáculos imprevistos que possam atrasar a entrega de dados. O receptor precisa
basta remover os dados de seu buffer e passá-lo para o aplicativo usando um mecanismo
de temporização simples. A desvantagem é que a capacidade de armazenamento em
buffer precisa ser fornecida.
QUESTÃO 07. Apesar de o multicasting ser tecnicamente viável, há pouquíssimo
suporte para disponibilizá-lo na Internet. A reposta para esse problema deve ser
buscada em puros e simples modelos de negócios: na realidade, ninguém sabe como
ganhar dinheiro com o multicasting. Você poderia inventar um sistema?

The problem is mainly caused by ISPs, as they see no reason to save on bandwidth (their
clients are paying anyway). However, matters may change in scenarios such as the
following. An Internet broadcasting service pays for a certain quality-of-service as
promised by various ISPs. Each of these ISPs will see a drop in their income when they
cannot meet these QoS requirements. At this point, they may now have an incentive to
start deploying multicasting as they can offer better (and guaranteed) service.

R: O problema é causado principalmente por ISPs, já que eles não veem nenhuma razão
para economizar largura de banda (seus clientes estão pagando de qualquer maneira). No
entanto, os gerentes podem alterar os critérios, como os seguintes. Um serviço de
transmissão pela Internet paga por uma determinada qualidade de serviço, conforme
prometido por vários ISPs. Cada um desses ISPs terá uma queda na receita quando não
puder atender a esses requisitos de QoS. Nesse ponto, eles agora podem ser um incentivo
para implantar o multicast, já que eles podem oferecer um serviço melhor (e garantido).
QUESTÃO 08. Normalmente, árvores multicast de nível de aplicação são otimizados
em relação ao alongamento, que é medido em termos de atraso ou contagens de
saltos. Dê um exemplo em que essa métrica poderia resultar em árvores muito ruins.

The underlying assumption with stretch is that communication delays pre-dominate


performance. However, in the case of, for example, video broadcasting, it is the available
which counts. In that case, we would like to construct trees that maximize costs (measured
in terms of bandwidth).

R: A suposição subjacente com trecho é que os atrasos de comunicação predominam o


desempenho. No entanto, no caso de, por exemplo, transmissão de vídeo, é o que conta.
Nesse caso, gostaríamos de construir árvores que maximizem os custos (medidos em
termos de largura de banda).
QUESTÃO 09. Quando se trata de procurar arquivos em um sistema peer-to-peer
não estruturado, pode ser útil restringir a busca a nós que tenham arquivos
semelhantes aos seus. Explique como gossiping pode ajudá-lo a achar esses nós.

The idea is very simple: if, during gossiping, nodes exchange membership information,
every node will eventually get to know about all other nodes in the system. Each time it
discovers a new node, it can be evaluated with respect to its semantic proximity, for
example, by counting the number of files in common. The semantically nearest nodes are
then selected for submitting a search query.
R: A ideia é muito simples: se, durante a gossiping, os nós trocarem informações sobre
membros, cada nó acabará conhecendo todos os outros nós no sistema. Cada vez que
descobre um novo nó, ele pode ser avaliado em relação à sua proximidade semântica, por
exemplo, contando o número de arquivos em comum. Os nós semanticamente mais
próximos são então selecionados para enviar uma consulta de pesquisa.
QUESTÃO 10. Tabelas de roteamento no WebSphere da IBM e em muitos outros
sistemas de enfileiramento de mensagens são configurados manualmente. Descreva
um modo simples de fazer isso automaticamente.

The simplest implementation is to have a centralized component in which the topology


of the queuing network is maintained. That component simply calculates all best routes
between pairs of queue managers using a known routing algorithm, and subsequently
generates routing tables for each queue manager. These tables can be downloaded by each
manager separately. This approach works in queuing networks where there are only
relatively few, but possibly widely dispersed, queue managers.

R: A implementação mais simples é ter um componente centralizado no qual a topologia


da rede de filas é mantida. Esse componente simplesmente calcula todas as melhores rotas
entre pares de gerenciadores de filas usando um algoritmo de roteamento conhecido e,
subsequentemente, gera tabelas de roteamento para cada gerenciador de filas. Essas
tabelas podem ser baixadas por cada gerente separadamente. Essa abordagem funciona
em redes de filas onde há poucos gerenciadores de filas relativamente pequenos, mas
possivelmente dispersos.

Arquivo: https://www.passeidireto.com/arquivo/3003671/solution-of-distributed-system

Você também pode gostar