Redes P2P
VoltarAvançar
Desempenho

Redes P2P > Desempenho >> O futuro das Redes P2P

DESEMPENHO

            Redes peer-to-peer são mais sensíveis a problemas de desempenho que outras aplicações por várias razões. Primeiramente, todo seu funcionamento é baseado em comunicação, o que é o maior gargalo em sistemas de computadores, principalmente se comparados às velocidades de processamento e entrada/saída. Apesar da atual evolução no uso de banda larga, a tendência ainda não é tão positiva, e "a Lei de Moore (tão útil em outros lugares), não é um grande conforto." (Oram, 2001, p.129). Assim sendo, uma conexão que é suficiente para comunicar-se com um único outro computador não é suficiente para contato com dez outros, dando importância à "minimização do tráfego e balanceamento da carga." (Oram, 2001, p.129)

            Em segundo lugar, como cada vez que um busca é realizada uma mensagem é enviada de um nó para outro sucessivamente, um certo tempo é necessário até que se obtenha uma resposta do nó seguinte ou até descobrir que ele não está disponível. Multiplicando-se isso pelos milhões de nós espalhados pela rede, o resultado pode ser desastroso, fazendo da tolerância a faltas um fator decisivo para o desempenho da mesma.

            E em terceiro lugar, como já citado, o balanço entre os que provêem arquivos e os que consomem deve ser levado em conta para evitar a Tragédia dos Comuns. Se muitos consumirem e poucos cederem, a rede se torna lenta devido a grandes filas de espera e número excessivo de conexões a poucos nós. Segundo Eytan Adar e Bernardo Huberman, da Xerox PARC, "70% dos atuais usuário do Gnutella não compartilham arquivo algum". (Oram, 2001, p.129). Como se vê, esse é um problema de grandes porporções.

            Para evitar os problemas citados, diferentes redes utilizam artifícios e focos diversos entre si. Por exemplo, enquanto o Freenet enfatiza alta escalabilidade e pesquisas eficientes em detrimento da perfomance de pior caso, o Gnutella sacrifica eficiência para ter buscas mais rápidas e garantias para o pior caso. Essas escolhas dependem das prioridades do sistema e que os usuários esperam.

            A questão da minimização do tráfego tem sido resolvida através da centralização de certas funcionalidades da rede, criando "super nós" que têm informações como os arquivos que os nós próximos a eles possuem e mostram ao restante da rede como se eles próprios possuíssem esses arquivos. Dessa forma, evita-se o excesso de tráfego tanto proveniente de buscas quanto de informações sobre conexões entre hosts e nós. Em alguns casos, a própria estrutura da rede já é feita para evitar que a escalabilidade se torne um problema, onde o número de mensagens cresce logaritmicamente em relação ao tamanho da rede, tornando-a mais eficiente quando a rede cresce.

            A tolerância a faltas é referente a duas formas de problemas: remoção de nós internos (aqueles que possuem muitas conexões) e de nós das bordas. A susceptibilidade de uma rede a um ou outro tipo de falha é maior ou menor de acordo com a organização da mesma, levando-se em conta a centralização de parte das atividades. Novamente, é uma escolha dos desenvolvedores estabelecer o que tem prioridade no sistema, se o suporte a falhas centrais ou distribuídas. No caso de um nó interno ser desconectado, se outros nós próximos tiverem informação suficiente para reestabelecer a conexão sem aquele nó, o impacto é mínimo (por isso a descentralização é importante). Caso o nó que caiu seja mais externo, o que se perde normalmente é uma fonte de dados, e isso obriga a rede a buscar novas fontes. Para resolver essas situações, estabelece-se um número mínimo de conexões que cada nó deve criar (prestigiando-se os nós mais importantes)  ou um número máximo delas (de forma que um nó pode cair sem derrubar consigo uma parte considerável da rede).

            Por fim, o tratamento dos chamados "free riders" (usuários que só consomem e não provêem arquivos) tem como foco estabelecer rotas que priorizem os nós mais efetivos (normalmente "empurrando" os free riders para as bordas das redes), de forma que eles não possam consumir banda apenas unidirecionalmente e, em alguns casos, excluindo nós não cooperativos.

Redes P2P > Desempenho >> O futuro das Redes P2P

 

VoltarAvançar