Thread View: comp.client-server
5 messages
5 total messages
Started by Donald L Ray
Tue, 13 Oct 1992 17:24
Client/Server - rpc
Author: Donald L Ray
Date: Tue, 13 Oct 1992 17:24
Date: Tue, 13 Oct 1992 17:24
8 lines
867 bytes
867 bytes
Keywords: Its my understanding that RPC -remote procedure calls- provides the mechanisms through a local procedure that may be executed remotely on a remote processor and results returned to the local procedure. How new is this? Will this become a standard network communication protocol for DCE? I welcome any and all comments ?
Re: Client/Server - rpc
Author: Carl Ellison
Date: Tue, 13 Oct 1992 20:24
Date: Tue, 13 Oct 1992 20:24
27 lines
1802 bytes
1802 bytes
In article <1992Oct13.172450.29593@magnus.acs.ohio-state.edu> dlray@magnus.acs.ohio-state.edu (Donald L Ray) writes: >Its my understanding that RPC -remote procedure calls- provides the >mechanisms through a local procedure that may be executed remotely on a >remote processor and results returned to the local procedure. How new >is this? This is an old idea. I've seen it in use in for over a decade. I'm sure it showed up even earlier than that. It has a good point and a bad point. The good point is that it's easy to program -- nothing new -- just the same old procedure calls. The bad point is that while the callee is doing its thing *and* while that call is being transmitted *and* while the reply is coming back, the caller is twiddling its thumbs -- either literally spinning or doing a task switch. As processors get faster, the time for the callee to do its thing goes down -- but the communication time doesn't (since the speed of light doesn't change). So the number of instructions wasted in the caller goes up, if the caller spins. This forces the caller to task-switch or waste time. So -- you get a *big*, distributed system with lots of shared resources but it runs like a PC Jr. (OK, so I exaggerate :-).
Re: Client/Server - rpc
Author: Jon Alperin
Date: Wed, 14 Oct 1992 12:23
Date: Wed, 14 Oct 1992 12:23
31 lines
1977 bytes
1977 bytes
In article <7201@transfer.stratus.com>, cme@ellisun.sw.stratus.com (Carl Ellison) writes: |> The bad point is that while the callee is doing its thing *and* while that |> call is being transmitted *and* while the reply is coming back, the caller |> is twiddling its thumbs -- either literally spinning or doing a task |> switch. As processors get faster, the time for the callee to do its thing |> goes down -- but the communication time doesn't (since the speed of light |> doesn't change). So the number of instructions wasted in the caller goes |> up, if the caller spins. This forces the caller to task-switch or waste |> time. RPC's can be both synchronous and asynchronous, If you can use asynchronous RPC's, then the initiating process can go on processing. And in todays world, a machine that is waiting on an RPC for one process will probably go out an work on another process, which tends to keep the overal user response time faster, since some of the work is being done somewhere else. And in response to the original poster...rpc's _have_ been around for a while. If you have ever used NFS, you have used RPC's, since this is how NFS obtains files from the NFS server. -- Jon Alperin - Bellcore ---> Internet: jona@iscp.bellcore.com ---> Voicenet: (908) 699-8674 * All opinions and stupid questions are my own * "I don't have any experience running up a 4 trillion dollar debt" - Ross Perot "If there's a fair way, I'm all ears" - Ross Perot
Re: Client/Server - rpc
Author: Kevin P. Tyson
Date: Thu, 15 Oct 1992 14:39
Date: Thu, 15 Oct 1992 14:39
29 lines
1745 bytes
1745 bytes
In article <7201@transfer.stratus.com> cme@ellisun.sw.stratus.com (Carl Ellison) writes: >... >The good point is that it's easy to program -- nothing new -- just the same >old procedure calls. This is mostly true. The network interface can add complications in the form of exceptions which would not be their in the straightup procedure call environment. >The bad point is that while the callee is doing its thing *and* while that >call is being transmitted *and* while the reply is coming back, the caller >is twiddling its thumbs -- either literally spinning or doing a task >switch. I'm not sure how ONC handles this but in DCE threads are used so that the entire process need not block. When you use threads with rpcs you effectively blur the line between client and server at the process level. For example, in our first DCE based application each user interface process was both a client of the database server and a server itself which exported an interface used for asynchronous message passing between users. It's possible for one of these processes to be issuing calls to the database server while servcing it's own interface simultaneously. Best regards, -- Kevin P. Tyson Phone: 212-657-5928 Fax: 212-657-4599 E-Mail: Kevin_Tyson@fig.citib.com or kpt@iisa.com
Re: Client/Server - rpc
Author: Alexander Berlin
Date: Fri, 16 Oct 1992 20:07
Date: Fri, 16 Oct 1992 20:07
33 lines
2214 bytes
2214 bytes
In article <7201@transfer.stratus.com>, cme@ellisun.sw.stratus.com (Carl Ellison) writes: |> The bad point is that while the callee is doing its thing *and* while that |> call is being transmitted *and* while the reply is coming back, the caller |> is twiddling its thumbs -- either literally spinning or doing a task |> switch. As processors get faster, the time for the callee to do its thing |> goes down -- but the communication time doesn't (since the speed of light |> doesn't change). So the number of instructions wasted in the caller goes |> up, if the caller spins. This forces the caller to task-switch or waste |> time. Let me disagree. Don't forget that the speed of light is not the only source of network communications bottleneck. In my understanding, a very little portion of latency is due to the light speed limit. On a local network with a physical range of say 10 miles, the light would make a roundtrip in about 0.1 msec (10 * 2 / 186000 ) wich is quite acceptable. The real delays which are in the range of 5-100 msec come in my understanding from routers, gateways, packet switcher, network overload, ... If I remember correctly, the theoretical speed limit of a network packet is something around 0.8 * c (eighty percent speed of light). So, as processors become faster, so do the routers and gateways. We are also going to have networks with much higher capasity which will increase the size of packets and reduce the number of packets required. It is my understanding that in the nearest future (10-15 years) the processors (and not the networks) will be the bottleneck in the RPC or any client-server scenario. -- Alex Berlin berlin@is.morgan.com
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads