Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!cbatt!ucbvax!sdcsvax!darrell From: darrell@sdcsvax.UUCP Newsgroups: mod.os Subject: Re: Experiences with RPC Message-ID: <2629@sdcsvax.UCSD.EDU> Date: Wed, 28-Jan-87 07:27:32 EST Article-I.D.: sdcsvax.2629 Posted: Wed Jan 28 07:27:32 1987 Date-Received: Fri, 30-Jan-87 06:19:19 EST Sender: darrell@sdcsvax.UCSD.EDU Organization: Multimate International, E. Hartford, CT. Lines: 33 Approved: mod-os@sdcsvax.uucp -- > For those of you using RPC as the "heart" of a distributed system I thought >I would tell you how I changed it to make it more efficient. [...] >Every known implementation of RPC (to my knowledge) involves translating the >"passed arguments" to a universal format and transmitting the message to the >other side. The otherside of the connection will take the message and >the arguments into a form suitable for its use. [...] > > The change I made to the implementation is that I prepend the message with >a special identity code (it actually describes the data types present on the >sending machine). I'm not saying this approach is wrong, but one should be aware of the draw- backs. If a new machine type is added to the system, which uses data formats not covered by the protocol you have defined, it is necessary to change the code being executed by every machine in the system. This is no great problem for small (~10 machines) systems, and probably managable for systems with ~100 machines. For a really large system, with thousands or tens of thousands of machines, this kind of change could be a major undertaking. One approach to mitigate this problem is to have the data descriptions in a sufficiently general form that most new machines are covered by them. (I can't tell from the posted description whether this done in the system under discussion.) Given the inventiveness of hardware engineers, I have little confidence that one can come up with a truly universal description. Frank Adams ihnp4!philabs!pwa-b!mmintl!franka Ashton-Tate 52 Oakland Ave North E. Hartford, CT 06108 --