Go 中的集群計算 (Cluster Computing in Go)


問題描述

Go 中的集群計算 (Cluster Computing in Go)

Is there a framework for cluster computing in Go?  (I wish to bring together multiple PC's to for custom parallel computation, and wonder whether Go might be a suitable language to use).


參考解法

方法 1:

I don't know the level of connectedness you plan to have in your cluster, but go's RPC package makes communication among nodes trivial. It will likely serve as the backbone of your work and you can build abstractions on top of it (for instance if you need to multicast requests to different nodes). The examples given in the doc assume your nodes will communicate over HTTP, but that bit is abstracted out in net/rpc to allow different transports.

http://golang.org/pkg/net/rpc/

方法 2:

You can use Hadoop Streaming with Go. See (a bit dated) example here.

方法 3:

You should have a look at Go Circuit.

Quoting from the introduction:

  

The circuit reduces the human development and sustenance costs of complex massively-scaled   systems nearly to the level of their single-process counterparts. ...

... and:

  

For isntance, we have been able to write large real-world cloud applications — e.g.   streaming multi-stage MapReduce pipelines — in as many as 200 lines of code from    the ground up.

Also, for some simpler use cases, you might want to check out Golem.

方法 4:

You can try to use https://github.com/bketelsen/skynet . This is service oriented framework based on doozer.

(by Alistair CollinsKelly Nortonlazy1Samuel Lampajurka)

參考文件

  1. Cluster Computing in Go (CC BY-SA 3.0/4.0)

#cluster-computing #GO






相關問題

數據庫集群如何工作? (How does DB clustering work?)

Tomcat session-cluster:是生產級別的嗎?它可以擴展嗎? (Tomcat session-cluster: Is it production level? Does it scale?)

在集群中運行和監控作業的工具 (Tools for running and monitoring jobs in cluster)

Jetty 集群問題(jettySessions expiryTime 在某個時間後被設置為 0) (Jetty clustering issue (jettySessions expiryTime getting set to 0 after sometime))

在集群環境中讀取數據庫表的最快方法 (Fastest way to read from database table in cluster environment)

Go 中的集群計算 (Cluster Computing in Go)

來自一個文件的多個 mpirun 與多個文件運行 (Multiple mpiruns from one file vs multiple file runs)

無法在 python 2.7.10 中導入集群 (Cannot import cluster in python 2.7.10)

獲得許可被拒絕(公鑰)。在 AWS 上啟動 hadoop 集群時 (Getting Permission denied (publickey). when starting hadoop cluster on AWS)

wso2-esb 集群後,每個 carbon 控制台(管理和工作人員)都不工作 (wso2-esb After clustering, every carbon console(management and worker) doesn't work)

使用 Apache HTTP 實例支持 Tomcat 的最簡單方法 (Simplest way to back Tomcat with an Apache HTTP instance)

集群環境中的重複數據問題 (Duplicate data issue over clustered environment)







留言討論