Article View: comp.sources.d
Article #1989Distributed Processing Package
From: Linas Vepstas
Date: Thu, 07 Jan 1993 02:56
Date: Thu, 07 Jan 1993 02:56
93 lines
4622 bytes
4622 bytes
Can someone out there help me find a permanent home for some
distributed multi-processing code? I have some source I wish to
put into the public domain -- somewhere where people can find it
& get it. An anon-ftp site would be great!
Description
-----------
The package is called "MAY" and implements a basic
message-passing distributed-processing API. It allows you do
develop programs that execute concurrently on a number of
machines on a network.
The API supports basic distributed services & a processor farm.
The basic services provide a very simple, very easy-to-use
interface to TCP/IP together with a remote server daemon that
allows processes to be started remotely. The processor farm
provides an equally simple API to allow repetitive work to be
"farmed out" to a number of network nodes. It has a bunch of
high tech built into it -- high & low watermark FIFO's,
queue-empty alarms, load-balancing, etc. to make sure that
each network node is busy crunching on something, and
gaurenteeing the shortest possible real-time execution.
The basic services include a "create" routine -- sort of like
a network fork, or rexec -- it starts up program /u/joe/xyz
on machine abc.whatever.domain. In addition, it establishes
a network connection, i.e. a socket, between the parent and
the child, so that the two can pass messages between one another.
In addition, there is a "send" routine, a "recevie" routine, a
"terminate" routine, and a routine that the child process can
invoke to get it's parents address. The basic services are
implemented in both TCP/IP and in UDP/IP.
The package comes with documentation & examples. The processor
farm examples include a fractal drawer, and a ray-tracer
(a modified version of rayshade), displaying into an X11 window
in more-or-less real time (depending on your network bandwidth &
processor speeds). The package compiles & runs on IBM RT's,
RS/6000's and on SGI boxes. The code is free and unencombered by
funky copyrights.
Pro's, Con's & Caveat's
-----------------------
The package was developed to overcome what seemed to be a basic
limitation with RPC's -- the inability to perform asynchornous,
distributed processing. Prior to development, the Apollo NCS
system was examined, but seemed to be excessively complex.
MAY does not support NIDL -- although it probably should. If
the messages you are passing around contain char's, short's
long's & double's, plan ahead to do some word-alignment/byte
swapping accross different CPU architectures.
MAY allows you to launch processes remotely, but does not put
them there. You have to get them there first, by hand -- I used
ftp, and later, NFS.
To perform a MayCreate() (i.e. a remote fork/exec) on a remote
machine, you must have the MAY daemon running on the remote
machine. I did this by hacking the rc, and later, the inetd
files on the remote machines, so that a reboot didn't force you
to go off & restart the daemons by hand.
MAY does not stop to ask you for a password -- it doesn't do ANY
security verification stuff. And anyone using it can run most
anything executable -- so its a real security hole if you want
to use it in an unfreindly environment. Adding security
features could make MAY broadly acceptable to the general
computing public.
----------
If anyone is interested, please let me know. I'm tired of
watching my slick technology gather dust & grow old on my
machine.
--- linas
^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^
Linas Vepstas
Phone: 1-(512)-838-1116
internet: linas@innerdoor.austin.ibm.com
Home addr: 1518 Enfield Road, Austin TX, 78703-3424
^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^
--
^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^
You are in a twisty little maze of standards, all conflicting.
^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^
Technical Details
Message-ID:
<C0Gqtn.16D0@austin.ibm.com>Path:
arc1-ca.pugleaf.net!sparky!uunet!paladin.american.edu!howland.reston.ans.net!wupost!cs.utexas.edu!geraldo.cc.utexas.edu!portal.austin.ibm.com!awdprime.austin.ibm.com!linasShow Full Headers
Complete Article Headers
Newsgroups: comp.sources.d Path: arc1-ca.pugleaf.net!sparky!uunet!paladin.american.edu!howland.reston.ans.net!wupost!cs.utexas.edu!geraldo.cc.utexas.edu!portal.austin.ibm.com!awdprime.austin.ibm.com!linas From: linas@austin.ibm.com (Linas Vepstas) Subject: Distributed Processing Package Originator: linas@boardhead.austin.ibm.com Sender: news@austin.ibm.com (News id) Message-ID: <C0Gqtn.16D0@austin.ibm.com> Date: Thu, 7 Jan 1993 02:56:11 GMT Reply-To: linas@boardhead.austin.ibm.com Organization: IBM Graphics Systems Keywords: MP distributed multi-tasking multi-processing Lines: 93