Como posso dividir processos entre vários computadores?

5

Eu tenho um computador de reposição que tem Ubuntu edição do servidor (10.04.1) instalado e me pergunto se havia uma maneira de usar o meu servidor para ajudar os dados de processos no meu desktop Ubuntu (mesma versão). Gostaria de compartilhar qualquer função de processador pesado com meu servidor para facilitar a carga na minha área de trabalho. Alguém sabe de uma maneira boa / fácil de fazer isso? Eles estão conectados na mesma rede através de um roteador. Vou listar o que acho que podem ser componentes relativos para cada um abaixo.

Desktop - núcleo Intel 2 quad @ 2.83Ghz

Controlador Ethernet: Atheros Communications Controlador Ethernet PCI-E Atheros AR8121 / AR8113 / AR8114 (rev b0)

Servidor - Pentium 4 @ 2.8Ghz com hyper-threading

Controlador Ethernet: Controladora Gigabit Ethernet Intel Corporation 82540EM (rev 02)

    
por Bryan 26.09.2010 / 01:04

3 respostas

7

Se você está procurando uma maneira de fazer isso para o uso geral do computador, ou seja, se você não tiver algum problema matemático específico e computacionalmente intenso em mente, a resposta é que isso não é possível. Programas individuais devem ser projetados especificamente para realizar computação distribuída.

A explicação conceitual é que, para que outro computador auxilie em uma tarefa de processamento, as instruções e recursos de entrada de pré-requisitos devem ser completamente previstos e transmitidos ao computador com antecedência. Mesmo que o difícil problema de prever tarefas de processamento possa ser resolvido, a sobrecarga envolvida no envio de instruções e recursos para outro sistema é muito dispendiosa para o tipo de processamento normalmente feito em um computador de mesa.

Para que a computação distribuída resulte em um aumento de rede na eficiência, a quantidade de entrada de processamento que pode ser prevista deve ser grande em comparação com a sobrecarga na comunicação. Na prática, isso limita as possíveis aplicações para problemas matemáticos com uso intensivo de computação como Folding de proteína e renderização 3D .

    
por ændrük 26.09.2010 / 04:23
2

No caso de alguém mais vir aqui, pensei em compartilhar o que encontrei.

Existe um projeto conhecido como LinuxPMI que é projetado para compartilhar processos entre uma rede de computadores configurados para usá-lo.

Para fins de pesquisa, pois os projetos podem ser mesclados e descontinuados, esse histórico pode ajudar a localizá-lo no futuro:

Um projeto chamado clusterix foi criado usando o projeto openMosix como base para computação em cluster / grade.

    
por ArmerJC 16.12.2012 / 21:43
1

Como afirmado por outra pessoa, isso não está disponível atualmente para computação geral. Está disponível em aplicativos especializados no Linux, como o DVDRip. Se você está interessado em fazer um pouco de trabalho e ter tarefas generalizadas específicas que você deseja resolver, dê uma olhada em Bash Reduce , uma implementação de Map Reduce feita completamente no bash.

    
por Nerdfest 26.09.2010 / 04:37