[racket] remote tasks
A few minutes ago, Kevin Tew wrote:
> On 05/15/2012 09:37 AM, Eli Barzilay wrote:
> > More issues:
> >
> > * [...]
> >
> > The "/var/tmp" path means that this was started from the nightly
> > build -- is there some test that uses that port? If so, then
> > it's a bad idea to risk leaving a running process and worse to
> > have it open a port -- can you add code that checks that the
> > process is dead and kill it if it isn't?
> There were some tests that used to run nightly, but they have been
> disabled for a while. This shouldn't be a problem anymore for
> nightly builds.
Given the open tcp port, I think that you should add some comment next
to the disabled tests about it.
> > * Openning a tcp port for each node seems pretty bad in general --
> > if it's ssh-ing to the other machine, why not use the standard
> > IO ports and avoid the potential problems? (Eg, for the build
> > script I would never use a system that just opens a random port
> > -- even if all of the machines are protected by a firewall, a
> > stuck build process would be very problematic.)
> The distributed system, by default, builds a complete graph between
> the nodes. The star network of ssh connections is not what I wanted
> to implement.
Well, you get some advantage with a complete graph, but IMO the
disadvantage of openning ports is a major one, since it makes this
something that is only useful on trusted LANs.
> > * The documentation says: "The same user account is used across
> > all nodes in the distributed network" -- is that really needed?
> > If it uses ssh to connect, then "ssh foo" could use a different
> > username if my .ssh/config sets that up, and in addition is
> > there any problem with "ssh foo at bar"?
> It will use a different username if your .ssh/config sets that up.
> It doesn't support a "user at host" hostname string, so that won't work.
Is there a reason for not allowing it?
> > * Later it says: "All machines run the same version of Racket" --
> > if this is required because it uses zo to pass around data, then
> > it's better to say that explicitly. (Otherwise it's not clear:
> > should it be exactly the same racket build for the same platform
> > on both machines? Maybe it should only have the same
> > functionality wrt the places libraries?)
> I'm being conservative for now. Currently, serialization just uses
> read and write.
So I think that a note about the possibility of using zo binary data
would be a good addition.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!