Alistair Collins
Alistair Collins

Reputation: 2220

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).

Upvotes: 8

Views: 8299

Answers (4)

Samuel Lampa
Samuel Lampa

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

jurka
jurka

Reputation: 13173

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

Upvotes: 1

Miki Tebeka
Miki Tebeka

Reputation: 13850

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

Upvotes: 2

Kelly Norton
Kelly Norton

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

Related Questions