[comp.sys.apollo] NCS Maybe RPC call usage??

TAYBENGH@NUSDISCS.BITNET (12/28/90)

Hi,
   Does anybody uses NCS Maybe RPC before? I has a question regarding the
maybe call implementation:
   Is Maybe RPC call messages buffered by the system in order to improve
throughput, OR it is sent out immediately to achieve low-latency (just as
normal SAR RPC call)?
   Moreover, does NCS RPC try to optimize intra-machine calls by bypassing
expensive& unnecessary data conversion and network communcation operations?
   I hope some people, especially NCS designers if you are there to shed light
on me. Thanks a lot in advance.

   Merry Chrismas and Happy New Year to all of you.

- Beng Hang Tay (email: taybengh@nusdiscs)
  Dept of Info. Syst. and Comp. Sc.
  National University of Singapore
  Singapore

mishkin@jrst.apollo.hp.com (Nathaniel Mishkin) (12/31/90)

In article <9012270444.AA06210@umix.cc.umich.edu> TAYBENGH@NUSDISCS.BITNET writes:

   Is Maybe RPC call messages buffered by the system in order to
   improve throughput, OR it is sent out immediately to achieve
   low-latency (just as normal SAR RPC call)?

The latter.  Sounds like what you're interested in is something we've
(and others, no doubt) have called "batch mode RPC".  The trick in
supporting that sort of thing is making it not really ugly to the
programmer.  You'd really like to just write you interface as usual
except that you'd be able to annotate some procedures (in particular
ones that have no output parameters) as being "batchable" and other
procedures as being synchronization points (i.e., calls to which would
causes the system to force out all other batched requests).  In any
case, we've not implemented this feature.

   Moreover, does NCS RPC try to optimize intra-machine calls by
   bypassing expensive& unnecessary data conversion and network
   communcation operations?

Data conversion costs are not paid when machines of like data
representation are communicating (assuming they use one of the
possible representations as their native representations).  Thus,
there is no data conversion overhead in intra-machine calls.

As to communications costs, we don't do anything special, although
we've considered doing so.  In NCS 2.0 (part of the forthcoming OSF
DCE), which has a somewhat more extensible mechanism with regard to
RPC protocol choice, a special path for intra-machine RPC should be
easy to add.  Of course, it's never so simple to build an
intra-machine message passing mechanism (which would be the foundation
for RPC) as it seems.  By the time you're done, the implementation of
the mechanism is moderately hairy and you might have to work hard to
make it really faster than the alternatives (e.g., intra-machine IP).
--
                    -- Nat Mishkin
                       Cooperative Object Computing Operation
                       Hewlett-Packard Company
                       mishkin@apollo.hp.com