Programação Paralela em Arquiteturas Multi-Core/Aplicações Internet: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Nandopi (discussão | contribs)
Protocolos paralelos
Linha 36:
 
=== Gerenciamento de tráfego ===
 
=== Protocolos paralelos ===
 
O aumento da demanda por conteúdo multimídia, atualizações dentre outros, tornaram os servidores distribuídos cada vez mais utilizados para suprir esta demanda, sem o congestionamento na transmissão e falha do servidor por falha em um ponto único, que são problemas comuns de servidores centralizados. Além disso, servidores centralizados só podem responder a um número limitado de clientes, devido ao limite de conexões.
 
Servidores distribuídos permitiram que recursos sejam disponibilizados em pontos de grande demanda, aliviando o problema de congestionamento em servidores centralizados. Apesar disso, as taxas de transferências continuam as mesmas dos servidores centralizados, pois apenas um nó no sistema distribuído realiza a transferência. Paralelismo podem melhorar a transmissão.
 
O objetivo dos protocolos paralelos é provê suporte a transferências de arquivos paralelas em servidores distribuídos.
 
[[Imagem:Protocolodist.png]]
 
Os protocolos têm que resolver problemas como:
 
* descobrir aonde o arquivo existe no servidor distribuído
* distribuir a tarefa entre os servidores selecionados
* transmitir o arquivo em seguimentos paralelos
* unir o arquivo automaticamente
* recuperar seguimentos perdidos
 
Além disso, existem dois problemas básicos ao utilizar download distribuído: balanceamento de carga dinâmico e transparência ao usuário.
 
Enquanto o “download” está ocorrendo, a carga dos servidores deve ser checada para garantir que a carga continue baixa, senão o desempenho é reduzido. Quando um servidor ultrapassa sua capacidade, replicas são migradas para outros servidores até o servidor carregado atinga o nível adequado de carga. Se a demanda for muito alta, uma replica é criada ao invés de migrada e é destruída se a demanda for baixa.
 
Balanceamento dinâmico de carga é essencial para manter transmissões efetivas de arquivos. Apesar de manter a demanda no máximo parecer lógico, as vezes, isto atrapalha a transmissão. Focar somente na demanda gera outros problemas na rede como congestionamento, o que degenera o proposito dos sistemas distribuídos.
 
A transparência ao usuário, permite sistemas de software mudem sem alterar os sistemas ao redor, usando interfaces. A transparência é obtida ao construir uma interface para o sistema e depois construir os sistemas ao redor baseados na interface. Ao realizar isto, o sistema atrás da interface pode ser mudado sem afetar os sistemas em volta.
 
Os protocolos paralelos devem ser transparentes ao usuário e a outras aplicações, para que possam ser compatíveis com as aplicações atuais e outros protocolos.
 
== Aplicações distribuídas ==