Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 665
Alistair Collins Avatar asked Jul 27 '12 07:07

Alistair Collins


People also ask

What is cluster computing explain?

In computers, clustering is the use of multiple computers, typically PCs or UNIX workstations, multiple storage devices, and redundant interconnections, to form what appears to users as a single highly available system. Cluster computing can be used for load balancing as well as for high availability.

Is Parallel Computing same as cluster computing?

Some would say the minute difference between these two methods is parallel computing involves multiple processors sharing the same resources within one computer, while distributed computing (including cluster computing) is more about using multiple computers in tandem.


2 Answers

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/

like image 81
Kelly Norton Avatar answered Oct 13 '22 17:10

Kelly Norton


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

like image 2
lazy1 Avatar answered Oct 13 '22 17:10

lazy1