[distributed-process] Simple example of runRemote

29 views
Skip to first unread message

Konstantine Rybnikov

unread,
Apr 27, 2013, 5:16:51 PM4/27/13
to parallel...@googlegroups.com
Hi!

I couldn't find something similar to runRemote from "Towards Haskell in the Cloud" paper which, given some configuration, would run a process on a remote machine. So please point me if there is one, or how should I best create it if it doesn't exist.

Thanks!

p.s.: IMHO it would be nice to add issue tracking for https://github.com/haskell-distributed/haskell-distributed.github.com , so that we could create issues about documentation improvements

Konstantine Rybnikov

unread,
Apr 27, 2013, 6:18:06 PM4/27/13
to parallel...@googlegroups.com
Sorry, maybe what I'm looking for is not analog of runRemote (and it doesnt' run anything on remote machine), but rather something like findPeerByRole and getPeers.

What I want to say is that if you want to do ping-pong between two machines you'd need to somehow run workers on them, and then for at least one of them get NodeId of another one. That's what I'm trying to figure out how to do best.

Thanks.

воскресенье, 28 апреля 2013 г., 0:16:51 UTC+3 пользователь Konstantine Rybnikov написал:

Aycan iRiCAN

unread,
Apr 27, 2013, 6:27:20 PM4/27/13
to k-...@k-bx.com, parallel...@googlegroups.com
Hi,

Given a list of ip addresses, I am copying slave executable with scp and then create NodeIds manually:

ip2node = NodeId . EndPointAddress . BC.pack . (++ ":4000:0")

Then I spawn a process on master whose job is to send whereis requests to slave nodes and collect the results as [ProcessId].

Actually in order to get rid of deployment with scp, I'm planning to implement a registry which I can execute slave processes on nodes and have them registered on a central process which I can query from master.


--
You received this message because you are subscribed to the Google Groups "parallel-haskell" group.
To unsubscribe from this group and stop receiving emails from it, send an email to parallel-haske...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
http://www.google.com/profiles/iricanaycan

Jeff Epstein

unread,
Apr 28, 2013, 1:27:00 AM4/28/13
to irica...@gmail.com, k-...@k-bx.com, parallel...@googlegroups.com
Hi. I believe what you're looking for is
distributed-process-simplelocalnet, which provides a simple framework
for setting up a cluster, exchanges addresses, and establishing roles.
This package provides most of the functionality described in the paper
with getPeers, and is definitely more flexible than hardcoding network
addresses.

You will still need to start the remote instances manually (using ssh,
pdsh, puppet, or similar), but distributed-process-simplelocalnet
takes care of connecting to already-running CH instances. Like
getPeers in the old implementation, distributed-process-simplelocalnet
is based on UDP discovery, so will only work if all nodes are running
on the same network.

I hope this helps.
>>> https://github.com/haskell-**distributed/haskell-**distributed.github.com<https://github.com/haskell-distributed/haskell-distributed.github.com>,

Konstantine Rybnikov

unread,
Apr 28, 2013, 3:49:42 AM4/28/13
to parallel...@googlegroups.com, irica...@gmail.com, k-...@k-bx.com
Yes, it sounds as just what I want. More of that, I think Ping-Pong example using 2 machines (and distributed-process-simplelocalnet) is something that should be in default "Cloud Haskell" tutorial.

Thanks.

воскресенье, 28 апреля 2013 г., 8:27:00 UTC+3 пользователь Jeff Epstein написал:

Tim Watson

unread,
Apr 28, 2013, 7:33:32 AM4/28/13
to k-...@k-bx.com, parallel...@googlegroups.com, irica...@gmail.com, k-...@k-bx.com
Noted. I'll add an example to the website. Also I'm working on two alternative backends that use a configuration file (in one case) and dnssd in the other to register and locate nodes. They won't get released until after I've finished the 0.5.0 distributed-process and 0.1.1 distributed-process-platform releases though.

Cheers
Tim

Tim Watson

unread,
Apr 28, 2013, 7:37:25 AM4/28/13
to Tim Watson, k-...@k-bx.com, parallel...@googlegroups.com, irica...@gmail.com
Oh and I should mention that someone is working on a p2p backend similar to d-p-simplelocalnet. It's on bitbucket, though I forget who/where and I'm not by a computer right now.

Cheers
Tim

Konstantine Rybnikov

unread,
Apr 28, 2013, 7:44:22 AM4/28/13
to parallel...@googlegroups.com, Tim Watson, k-...@k-bx.com, irica...@gmail.com
One thing that feels a bit strange is that from one point of view, you always have this transport-independent message-dispatcher for launching remote tasks "out of the box", but you need to have something additional to be able to connect to node that is already running. This feels a bit strange as for me. Hope I'll be able to look at implementation and express more clear what I mean later.

воскресенье, 28 апреля 2013 г., 14:37:25 UTC+3 пользователь Tim Watson написал:
Reply all
Reply to author
Forward
0 new messages