Pergunta

Atualmente, estou pesquisando as opções disponíveis (de código aberto e comercial) para o desenvolvimento de um aplicativo distribuído.

"Um sistema distribuído consiste em vários computadores autônomos que se comunicam através de uma rede de computadores". Wikipedia

O aplicativo está focado em distribuir muito CPU intensivo As operações (em oposição aos dados intensivos), por isso, tenho certeza de que as soluções do MapReduce não se encaixam na conta.

Qualquer estrutura que você possa recomendar ( + dê um breve resumo de qualquer experiência ou comparação com outras estruturas) seria muito apreciado.

Foi útil?

Solução

MPAPI Framework - http://www.codeplex.com/mpapi

Meus pensamentos

  • Parece ser uma das soluções mais simples.
  • Não vejo evidências de apoio ao failover.
  • É de código aberto =] e é mono compatível com yay!
  • Usa a estrutura "remotingLite" henses da compatibilidade mono.
  • A gravação de aplicativos de computadores únicos ou de computadores múltiplos (cluster) são igualmente simples.
  • A filosofia do desenvolvedor é "o desempenho é fundamental". Portanto, é seguro dizer que ele otimizou.
  • Estrutura continuamente atualizada.

Outras dicas

Eu era um dos principais desenvolvedores da Alchemi. Tivemos que mudar o curso são iniciados e o resultado é a plataforma Utilify. Conceitualmente semelhante ao Alchemi, a plataforma Utilify se baseia nas lições aprendidas da Alchemi e fornece um modelo de programação mais flexível para criar aplicativos .NET distribuídos em uma rede do Windows.

Visite www.utilify.com para obter mais informações. Atualmente, existe uma versão beta gratuita disponível para download.

Atenciosamente, Krishna.

Appistry Cloudiq Platform http://www.appistry.com

  • Fará centenas de máquinas aparecerem como um recurso de computação.
  • Atualmente usado na produção em FedEx Para executar algoritmos de roteamento
  • Permite que você escreva aplicativos em C, C ++, Java e .Net
  • Nenhum ponto único de falha
  • Recuperar/tentar novamente de tarefas com falha de tarefas

Alchemi ".NET Grid Computing Framework"

http://www.gridbus.org/~alchemi/publications.html

http://sourceforge.net/projects/alchemi/files/

O Alchemi é uma estrutura de computação da grade .NET que permite agregar sem dor o poder de computação das máquinas conectadas à intranet e da Internet em um supercomputador virtual (grade computacional) e para desenvolver aplicativos para executar na grade.

Notas rápidas:

  • Parou de ser atualizado em 2007 versão 1.0.6 (.NET 2.0).
  • Bem documentado formalmente feito isso.
  • Usa XML para definir trabalhos. (Foi toda a raiva em 2007 usar XML para tudo)
  • Relativamente complexo em comparação com o MPAPI, mas não considere isso um grande negativo.
  • Levaria um bom tempo para se atualizar.
  • É de código aberto =).
  • É extensível e pode ser usado em conjunto com outras tecnologias de cluster por meio de um corretor Gridbus (http://www.gridbus.org)
  • Parece amplamente utilizado (veja publicações http://www.gridbus.org/~alchemi/publications.html) =)

Dryadlinq é um projeto de pesquisa da Microsoft para permitir que as consultas do LINQ sejam distribuídas entre vários computadores, em vez de apenas vários núcleos como o paralelo LINQ.

Postagem do blog com um breve exemplo.

AWS SDK para .NET - http://aws.amazon.com/sdkfornet/

Eu acho que essa oferta de nuvem e a API .NET também podem se encaixar na conta. Amazon oferece máquinas de alto desempenho (Veja a lista de preços) que permitiriam a delegação uma execução de operações intensivas em CPU em larga escala.

NGrid - http://ngrid.sourceforge.net/

Visão geral

O NGRID é uma estrutura de computação de grade de código aberto (LGPL) escrito em C#.

  • Plataforma independente através do projeto mono.
  • Um modelo de programação multithread transparente para programação de grade.
  • Uma estrutura de grade física e algumas implementações de grade.
  • Utilitários comuns para programação de grade ou implementações de grade.
  • Última atualização de maio de 2008
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top