home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.protocols.tcp-ip
- Path: sparky!uunet!haven.umd.edu!darwin.sura.net!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!csn!stortek!blackcat!pae
- From: pae@blackcat.stortek.com (Phil Earnhardt)
- Subject: Re: Implementation of Distributed Database in SUN RPC
- Message-ID: <1992Aug31.185338.29597@stortek.com>
- Sender: usenet@stortek.com
- Nntp-Posting-Host: blackcat.stortek.com
- Organization: StorageTek, Louisville, CO
- References: <1992Aug25.021602.22737@usl.edu> <1992Aug31.010015.1275@decuac.dec.com>
- Date: Mon, 31 Aug 1992 18:53:38 GMT
- Lines: 48
-
- In article <1992Aug31.010015.1275@decuac.dec.com> mjr@hussar.dco.dec.com (Marcus J. Ranum) writes:
- >axk7110@usl.edu (Khanna Alok) writes:
- >>I am working on implementation of a small model of distributed database. I
- >>am planning to use SUN RPC for communication between different clients and
- >>servers.
- >
- >Unless it's just going to be a toy, good luck. There are two main problems
- >with Sun RPC for doing this: a) Unless you're using a multi-threaded RPC
- >server, the server will fairly quickly become the bottleneck.
-
- Do you really mean multi-threaded here? Most UNIX platforms still lack kernel
- support for multi-threading. It sounds like this is a moot issue in this
- context.
-
- Sun does supply something that looks a lot like multi-threading for its NFS
- server. At initialization time, n NFS servers are forked. When idle, all of
- the clients are blocked in a read() on the same UDP socket. Aesthetically,
- it's ugly, but it does work. Is there some reason that Khanna couldn't use the
- same trick in his code? Is this something that real users can't do without
- excessive modification?
-
- >b) Since RPC does retransmit if it doesn't get an answer "fast enough" in
- >case 'a' above, you may get multiple retransmits. The server then blindly
- >redoes operations, unless you wind up writing a reliable delivery system, or
- >using TCP RPC or something else.
-
- Using TCP isn't the worst thing in the world, provided you're not establishing
- and tearing down connections on each transaction.
-
- >Generally, there are enough problems with using RPC (all fixable) that for
- >anything other than a toy, by the time you've fixed them all, you might as
- >well have not used RPC.
-
- Are you talking about ONC RPC, or all RPCs in general?
-
- Netwise's RPC TOOL has certainly addressed the issue of different styles of
- dispatching...there are single-threaded dispatchers, multi-processing
- dispatchers (forking off a process for new requests) on systems providing
- multi-processing, and multi-threaded dispatchers (spawning a new thread for
- new requests) on systems providing multi-threading capabilities.
-
- RPCs do seem to take about a 2x hit in throughput vs. hard-coding your network
- application. If that's important in your application, then don't use RPCs.
-
- >mjr.
-
- --phil
- pae@blackcat.stortek.com
-