[Beowulf] Web interfaces for yer cluster.

Mark Hahn hahn at mcmaster.ca
Thu Oct 25 19:59:58 PDT 2007

> Been lurking round some user group meetings and have found academic
> cluster people needing a way to attract Unix illiterate people onto
> their systems.

really?  is it that the can't scrape up enough unix-able people
to keep their clusters busy?  (I would want to know why - for instance,
do they build clusters that are too small to be interesting, or somehow
hard to use?  note that it doesn't take much *nix literacy at all to 
get along great - mainly it's an issue of whether the user is offended
by anything non-mouse-driven.)

> There has been a suggestion that a web based user
> portal might be a way to go.

there is no doubt that web interfaces are the first really good UI 
since the shell.  and it's more than a bit ironic:
 	- it all started out mainly as hyperlinked but static.
 	- forms and http became the first really wide-used RPC,
 	and admirably decouples client and server.
 	- the magic bullet of the time (java) is clearly relegated
 	by history to being just a minor helper application.
 	- javascript (no relation) isn't much of a language either,
 	and doesn't need to be.
 	- over http, no one can tell what language you're written in.

> I have been told that there may have been
> similar projects with this kind of thing in mind.

there have been many systems which aim to reduce real apps to basic
<button>compute!</button> interface.  I've never quite understood why
they're so seductive, since that level of automation is mainly justified 
if you really do wind up pressing the button very frequently.

> I was thinking of a way to bolt in modules for the portal depending on
> what codes you wanted to run.

that's the usual approach; sometimes there's a web gui for building the
modules.  IMO, it's far more interesting to create an actual interface
for getting work done, rather than just "macro-izing" (a phrase which in
this context sounds very 1980's ;)

for instance, I think a good web interface to a cluster should offer 
leverage to all the usual functions of the cluster, but not try to 
dumb it down.  for instance, it should have some kind of interface 
for navigating directory trees.  it should probably have something 
like a collection of "favorites" buttons that map to apps selectable 
from a PATH list.  it should probably have an interface which presents
a vaguely shell-like typescript, even if there are buttons and widgets
and file icons in it (not because I long for serial terminals, but because
getting work done is a cronological thing, and it's valuable to see what
you've done.)  some kind of combination of wiki, CMS and gui shell.
I don't know whether anyone has done something like this (I haven't yet.)

I find in myself some reluctance to do this.  partly because making clusters
ssh+commandline is a minor hurdle that probably keeps a certain level of 
naive/random/bored people out of the cluster.  partly it's also a 
traditional distrust of web security (versus ssh-only clusters). 
both of these are mostly silly, of course.

I would say that if you have a cluster which is used for a fairly 
limited number and scope of uses, it's a good candidate for web interfacing.

note that this isn't quite the same issue as grid computing (which IMO
mainly fails because computing _isn't_ a simple and standardizable commodity.)

regards, mark hahn.

More information about the Beowulf mailing list