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