[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

remote process communication



    Date: Thu, 08 Sep 88 14:18:52 EDT
    From: bds@mitre-bedford.ARPA

    We need to make 2 or more Symbolics 36xx pass messages back
    and forth between processes.  More explicitly, we want to run
    a database on one machine and 1 or more interfaces on other machines.
    Getting processes to talk to each other on the same machine is no
    problem.  Can anyone please tell me how to get them to talk to
    each other when they're on different machines?  Thanks.

This isn't hard; you just have to write some network services.  This is
somewhat documented, but there are LOTS of examples of existing services
to look at.

However, if you've never written any sort of network program there are a
few caveats:
 o - eq-ness:  With just one mahchine, you can pass objects through a
	   cell or a queue.  Printing and reading will destroy that
	   eq-ness unless you do some sort of interning.
 o - Printability: Some things (like processes) can't be printed, and
           hence can't be transferred without more work.
 o - Overhead: The easiest way to write such a system is to open a
	   stream to the remote machine and just PRIN1 and READ from it.
	   However if you're only transferring small amounts of data (I
	   presume from your description that you're doing some sort of
	   transaction processing), you probably want to use a datagram
	   service, which has much lower overhead.
  o - Deadlock: Define an out-of-band protocol, or use an extra process
	   at one end, or otherwise use some method of
	   resynchronisation.  Otherwise you will allow the possibility
	   of both machines, say, waiting for the other to speak.  The
           layer upon which NFILE was written, BYTE-STREAM-WITH-MARK,
           implements such a protocol.

The lisp machine's network facilities are simple enough that I doubt
that it would be worth going out and reading up on network protocols.
However if you are doing transactions than you might just want to buy
the RPC code that ILA sells as part of NFS.

good luck.