阅读背景:

开源分布式计算/云计算框架

来源:互联网 

I was wondering if anyone knows of any good Open Source distributed computing projects? I have a computationally intensive program that could benefit from distributed computing (a la SETI@Home, etc.) and want to know if anyone has seen such a thing or will I be developing it from scratch?

我想知道是否有人知道任何好的开源分布式计算项目?我有一个计算密集型程序,可以从分布式计算(一个SETI @ Home等)中受益,并想知道是否有人见过这样的事情,或者我是否会从头开始开发它?

6 个解决方案

#1


Here's one for java and one for c# and here's an open source grid toolkit.

这里有一个用于java,一个用于c#,这里是一个开源网格工具包。

#2


I see that this is over a year old but this is a new and relevant answer

我看到这已经超过一年了,但这是一个新的相关答案

https://openstack.org/

#3


SETI@Home uses BOINC

SETI @ Home使用BOINC

#4


MPAPI - Parallel and Distributed Applications Framework.

MPAPI - 并行和分布式应用程序框架。

  • Sector 0 Article: https://sector0.dk/?page_id=15.

    第0部分文章:https://sector0.dk/?page_id = 15。

  • Gives a good overview of the
    framework, architecture and the
    theory behind it.

    概括了框架,架构及其背后的理论。

  • Works on a single machine to 'n'
    machines.

    适用于'n'台机器的单台机器。

  • Design distributed logic into the
    system.

    将分布式逻辑设计到系统中。

  • Focuses on message passing to isolate the state that each thread has access to i.e. no shared state only
    messages.

    重点关注消息传递以隔离每个线程可以访问的状态,即没有共享状态消息。

  • Is Open Source =] and is MONO Compatible YAY!

    是开源=]并且是MONO兼容的!

Architecture in a Nutshell

坚果壳的建筑

Cluster

  • Single Main Node
  • 单主节点

  • Controls the cluster
  • 控制群集

  • Numerous Sub-Nodes (one per machine) which are the work horses of the cluster
  • 许多子节点(每台机器一个),它们是集群的工作马

  • Single Registration Server - Binds the cluster together by allowing nodes to register / unregister with cluster notifying existing nodes
  • 单注册服务器 - 通过允许节点注册/取消注册通知现有节点的群集,将群集绑定在一起

Communication

  • Node to Node directly. Each worker communicates with others through the node.
  • 节点直接节点。每个工作人员通过节点与其他人通信。

  • The messages are not propagated down through the remoting layer unless two workers are on different nodes.
  • 除非两个工作程序位于不同的节点上,否则消息不会通过远程处理层向下传播。

#5


Hadoop if you want to run the machines yourself. Amazon Elastic MapReduce if you want to let others run your workers. Amazon Elastic MapReduce is based on Hadoop.

Hadoop如果你想自己运行机器。 Amazon Elastic MapReduce如果您想让其他人运行您的员工。 Amazon Elastic MapReduce基于Hadoop。

#6


I have personally used BOINC which is a robust solution, widely used and offer you a great range of possibilities in term of customization.
This is the most complete solution I know. The only problems I had were that it was difficult to use for remote job submission (if you don't have access to the server) and it can be a bit long to setup. But overall it is a very good solution.

我个人使用BOINC这是一个强大的解决方案,广泛使用,并为您提供定制方面的各种可能性。这是我所知道的最完整的解决方案。我遇到的唯一问题是难以用于远程作业提交(如果您无法访问服务器)并且设置可能有点长。但总的来说这是一个非常好的解决方案。

If you rather want to implement distributed computing just over a local grid, you can use GridCompute that should be quick to set up and will let you use your application through python scripts.

如果您只想在本地网格上实现分布式计算,可以使用应该快速设置的GridCompute,并允许您通过python脚本使用您的应用程序。

PS: I am the developer of GridCompute.

PS:我是GridCompute的开发人员。


分享到: