[plt-scheme] conditional module inclusion and compilation
On Sep 2, Matthias Felleisen wrote:
> Just run the program in mred on linux. You will be fine -- Matthias
There are several problems with that, and my guess is that Lee is
trying to avoid such problems:
1. `mred-text' still requires a connection to a DISPLAY, and if you're
running lots of processes on a cluster that can add up to some
overhead. (But not a big one.)
2. Loading mred takes more time, which adds some more overhead, and
that can be a problem if there are many programs that run for a
short while (eg, if every randomly generated program runs in a new
process). (But this is also not too big.)
3. If, for example, you ssh from an OSX machine to a linux machine,
then you don't have an X display to connect to -- you need to run
the OSX X server, and you need to make sure that ssh will do X
forwarding (IIRC, it's off by default on OSX). Alternatively, you
can run it all on VNC servers on each machine in the cluster. No
runtime overhead here, but a mental one in the form of a hassle.
4. The biggest problem with this is that mred-text requires a working
X connection -- if you have 40 machines running off of ssh jobs
that forward the X connections to your machine, then they all
depend on your machine to go on running. If you're machine dies,
all of the remote runs will die immediately.
I just had some eqperience with running jobs on a 40-machine cluster;
if you're very careful then it's great to see all those cycles fly
around, but if you're not, you end up with a whole bunch of problems
to deal with -- even seemingly small ones like the fact that 40
terminal windows are not really manageable. (`screen' works better,
but Emacs is really irreplaceable for these things -- you can start
40 shells, and do everything with keyboard macros.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!