Reputation: 2220
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).
Upvotes: 8
Views: 8299
Reputation: 4392
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.
Upvotes: 2
Reputation: 13173
You can try to use https://github.com/bketelsen/skynet . This is service oriented framework based on doozer.
Upvotes: 1
Reputation: 13850
You can use Hadoop Streaming with Go. See (a bit dated) example here.
Upvotes: 2
Reputation: 3011
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/
Upvotes: 7