Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!tut.cis.ohio-state.edu!sei.cmu.edu!fs7.ece.cmu.edu!o.gp.cs.cmu.edu!dpj From: dpj@CS.CMU.EDU (Daniel Julin) Newsgroups: comp.os.mach Subject: Re: Mach RPC Throughput... Message-ID: Date: 19 Mar 91 18:32:54 GMT References: <9332@star.cs.vu.nl> <27E63E28.22880@ics.uci.edu> Sender: netnews@cs.cmu.edu (USENET News Group Software) Distribution: comp Organization: School of Computer Science, Carnegie Mellon University Lines: 39 In-Reply-To: schmidt@crimee.ics.uci.edu's message of 19 Mar 91 16:36:56 GMT As indicated in several earlier posts, the major cost of the current implementation of Mach IPC (RPC) appears to be the low-level transport protocol used. The "standard" Mach netmsgserver uses TCP/IP over UNIX sockets. TCP was selected because it provided the best combination of performance and robustness on large, complicated networks. Note that this issue of robustness is particularly important at CMU. There are over 1700 machines on the CMU network, with almost 800 in the School of Computer Science alone, of which more than 500 are running Mach. On an average day, few of these machines might be actively engaged in doing Mach network RPC's, but the chances that two communicating machines are on the same physical cable are quite low. In addition, we have to contend with a lot of background traffic, and non-negligible packet losses. We have been thinking about using different transport protocols in different situations for quite a while, but never got around to it. For the future, we are investigating the use of the x-kernel "virtual protocols" mechanism to fulfill this function. Our plans for the x-kernel are not finalized, but current prototypes assume a system running at user-level in a Mach task. However, we are also working on user-level device drivers, which should take care of the argument against paying a protection boundary crossing for network access. Finally, since someone asked, there is no "serious" netmsgserver distributed with Mach 3.0. I have put together an adaptation of the netmsgserver from the 2.5 system to use TCP sockets emulated in the UNIX server, but this is clearly not an interesting long-term solution. Again, in the longer term, we hope to use x-kernel technology instead. ====================================================================== Daniel Julin dpj@cs.cmu.edu School of Computer Science Carnegie Mellon University, Pittsburgh, PA 15213 ======================================================================