Distributing golang goroutines across machines

618 views
Skip to first unread message

Sankar

unread,
Jun 8, 2012, 2:39:01 AM6/8/12
to golan...@googlegroups.com
Hi,

I would like to do some heavy tokenizing of a few thousand files (think like creating desktop index search) in my server.

I have a few machines at my disposal.

I have written a go program which has a go routine that takes a filename as a parameter and tokenizes it and updates the results into a database.

I was thinking if is there a way to execute my go program in one of the machines (with some kind of listener running in the other machines) and use the other machines too to complete this operation. IOW, is there a way to make go routines execute in different machines , i.e., creation of goroutines should consider not just the processors in the current machine, but the machines in a machine pool. On googling I found that Limbo project was started with this aim but was not completed and uses the CSP paradigm of golang (probably Limbo inspired the design of golang as both had Rob Pike), and about distributed erlang.

So, my question is, Is there a way to distribute go routines across machines ? We can even assume that the machines are all identical, running the same version of golang, operating system and the platform. Is there anyone working on such an idea ? Or is there a paper/writeup about what constraints one could face while implementing such a feature ?

Thanks.

Sankar

John Crockett

unread,
Jun 8, 2012, 9:57:49 AM6/8/12
to golan...@googlegroups.com
A related idea that would probably get you what you want was implemented in netchan (see https://groups.google.com/d/topic/golang-nuts/Er3TetntSmg/discussion), and there was some talk by Rob Pike about an improved implementation in the future, but I'm not aware of any updates on Rob's plans since before the major Go 1 release.

John C.
Reply all
Reply to author
Forward
0 new messages