Remote Procedure Calling and Concurrent Euclid

Stephen Perelgut perelgut at utcsrgv.UUCP
Tue Jun 12 12:02:17 AEST 1984


<Response submitted for Prof. R.C. Holt (a non-net.user)>

		Remote Procedures and Concurrent Euclid

    I have seen Wichman's note on using remote procedure calls
in Concurrent Euclid.  It is true that CE is ideal for
using remote procedure calls, notably in terms of remote
modules and remote monitors.  The reason this works out
so well is that CE guarantees that VAR parameters can
be safely implemented as EITHER call-by-reference OR
by value-result.  This is only possible because CE
prevents aliasing of names, and hence call-by-reference
is equivalent to call by value-result.
    To actually support these remote calls, one would
    (1) tell the compiler to use value-result instead
       of reference for remote calls (only).
    (2) build a little support package to bundle up
       these parameters to send them to/from the remote
       site.
    (3) eventually: add to the language the OUTPUT parameter
       vs INPUT parameter modifiers to avoid extra copying
       of parameters that only go one way.
The result would be transparent semantics, ie, a program
that runs partly remotely would be guaranteed to have the
same meaning when it is run completely locally... and when
run locally, it would suffer exactly zero runtime overhead.

			R.C. Holt

<Prof. Holt can be reached by "s/perelgut/rch/" on the signature line below>
-- 
Stephen Perelgut   
	    Computer Systems Research Group    University of Toronto
	    Usenet:	{linus, ihnp4, allegra, decvax, floyd}!utcsrgv!perelgut
	    CSNET:	perelgut at Toronto



More information about the Comp.unix.wizards mailing list