É Erlang concebido apenas para correr em uma única máquina multicore, ou você pode distribuir os processos?

StackOverflow https://stackoverflow.com/questions/766155

Pergunta

Meu aplicativo funciona bem em minha máquina quad-core. É 'embarrasingly paralelo', com cerca de 100K processos, e, portanto, bem adequado para ser executado em um conjunto de máquinas. No entanto, tenho a documentação constatação de problemas sobre como espalhar todos esses processos para fora em todos os nós disponíveis no cluster.

A documentação para distribuição Erlang parece se concentrar em aplicativos cliente-servidor, onde cada nó é um cliente executando um único aplicativo, e você especificar manualmente quais nó executa qual processo.

Foi útil?

Solução

Você pode certamente distribuir um programa Erlang através de múltiplos núcleos e computadores em um cluster . Ele foi projetado para esse tipo de coisa.

Outras dicas

Eu gosto de usar a palavra "transparente" ao descrever processos Erlang. Não há nenhum código que você precisa mudar se você decidir executar o processo em outro host.

Existe em todo o suporte em Erlang para fazer uma única corrida aplicativo paralelo em núcleos de processadores distribuídos?

Com certeza! Mas isso depende de como você projetou sua aplicação. Um pedido Erlang distribuível "ideal" é realmente construído a partir de um número de processos independentes (Erlang) que se comunicam uns com os outros através do sistema de mensagens, a fim de realizar cálculos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top