O que é programação distribuída?

A programação distribuída é uma forma de programação paralela ou computação paralela. A programação paralela envolve computadores e unidades de computação em computadores que trabalham simultaneamente em um problema específico, como prever o clima de amanhã. As unidades de computação podem ser localizadas e coordenadas de perto ou podem ser localizadas separadas. Quando as unidades de computação são separadas, é chamada de programação distribuída. Nesse cenário, muitas vezes as unidades de computação diferem uma da outra, e o sistema operacional e a configuração de rede também diferem, tornando particularmente a programação da atividade de computação. Essas peças são frequentemente chamadas de "processos". Os processos são executados simultaneamente, mas precisam comunicar insumos e resultados um para o outro. Se os processos estiverem em execução em hardware diferente, como uma parte em execução no Intel e AnotSua corrida no sol, então os programas devem ser compilados e otimizados de maneira diferente.

Uma maneira de resolver um problema suficientemente difícil é interromper as peças de entrada e fazer com que as diferentes unidades de computação funcionem nas diferentes partes usando o mesmo algoritmo, o conjunto de regras ou etapas para a solução de problemas. Por exemplo, para quebrar um genoma de 10.000 pares, os primeiros 1.000 pares podem ser atribuídos à primeira unidade de computação, os segundos 1.000 pares atribuídos à segunda unidade de computação e assim por diante, todos usando o mesmo algoritmo. Com a programação distribuída, uma vantagem é que as diferentes unidades de computação podem executar algoritmos diferentes para resolver o mesmo problema, levando a uma solução significativamente melhor. Isso é semelhante a resolver um quebra -cabeça de quebra

Coordenação da computação distribuídaOs processos podem ser uma tarefa particularmente difícil. Algumas unidades de computação podem falhar ou podem ser interrompidas para lidar com outro trabalho. As mensagens que contêm as entradas ou os resultados do cálculo podem deixar de atingir seus destinos. Se os programas forem escritos de maneira ingênua, a perda de uma unidade de computação ou algumas mensagens pode fazer com que todo o conjunto de computadores pendure.

Na programação distribuída, um processo pode ser o processo de controle, essencialmente realizando o trabalho pelos outros processos, ou todos os processos podem funcionar de maneira ponto a ponto, sem nenhum processo ser o "mestre". Alguns exemplos de problemas tentados com a programação distribuída incluem a análise de dados geológicos para recursos como petróleo, modelagem de proteínas e moléculas biológicas, rachaduras de mensagens codificadas e simulações militares. O projeto SETI para procurar a vida extra-terrestre inteligente das mensagens de rádio recebidas pela Terra é talvez um dos exemplos mais conhecidos.

OUTRAS LÍNGUAS

Este artigo foi útil? Obrigado pelo feedback Obrigado pelo feedback

Como podemos ajudar? Como podemos ajudar?