Thread View: comp.sources.d
1 messages
1 total messages
Started by Linas Vepstas
Thu, 07 Jan 1993 02:56
Distributed Processing Package
Author: 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^
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads