From owner-freebsd-chat Sun Apr 13 16:58:52 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id QAA01930 for chat-outgoing; Sun, 13 Apr 1997 16:58:52 -0700 (PDT) Received: from papillon.lemis.de ([203.239.92.5]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id QAA01904; Sun, 13 Apr 1997 16:58:35 -0700 (PDT) Received: (grog@localhost) by papillon.lemis.de (8.8.4/8.6.12) id SAA01139; Sun, 13 Apr 1997 18:28:24 +0900 (KST) From: grog@lemis.de Message-Id: <199704130928.SAA01139@papillon.lemis.de> Subject: Re: Informix efficiency--any ideas? In-Reply-To: <199704110211.LAA08433@genesis.atrad.adelaide.edu.au> from Michael Smith at "Apr 11, 97 11:41:45 am" To: msmith@atrad.adelaide.edu.au (Michael Smith) Date: Sun, 13 Apr 1997 18:28:23 +0900 (KST) Cc: chat@FreeBSD.ORG (FreeBSD Chat) Organisation: LEMIS, Schellnhausen 2, 36325 Feldatal, Germany Phone: +49-6637-919123 Fax: +49-6637-919122 Reply-to: grog@lemis.de (Greg Lehey) WWW-Home-Page: http://www.FreeBSD.org/~grog X-Mailer: ELM [version 2.4ME+ PL28 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-chat@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Michael Smith writes: > grog@lemis.de stands accused of saying: >> >>> TBH, I don't know how the various SMP implementations would come into >>> play here; specifically on the send/recv model I would expect >>> (assuming an idle system) that one half would be running on each CPU, >>> ie. the long-term throughput would be that of the slowest component >>> rather than of the system as a whole. In contrast, the lock-step >>> model using semaphores basically ensures that a single client/server >>> pair runs as a single logical thread. >> >> Now that's an interesting thought. Basically, the socket >> implementation doesn't even need to be as fast as the semaphore >> implementation (*if* you're restricting your semaphore counter to 1. >> IIRC, you can have more than one on System V), since it can queue. >> That might explain why we were getting up to 30% idle on System A. > > I would expect that the server would only use multiple semaphores if > it could guarantee the order in which it woke on them, as otherwise > there could be problems with transaction ordering. My understanding is that the semaphores are required to ensure that the requestor and the server don't tread all over each other in shared memory. >> In the meantime, we have found some more documentation. It seems that >> there are "protocols" for talking to the server. One is called >> tlitcp, and the other is called ipcshm. System A was using ipcshm, >> and system B was using tlitcp, so now we're repeting a (longer, more >> accurate) benchmark the other way round. > > I would expect that the TLI/TCP interface will be much more efficient > in the SMP context than the IPC/SHM interface, simply because by nature > it will offer better decoupling between the client and server. > Could be wrong, of course 8) Looks like you are. Sure, if you want to run up a queue, TLI or sockets (on machine B) sound better than a lock-step semaphore business. But in this case, it's just the primitive of letting the server or the requestor know when the data is available. On the down side, going through the TCP and IP stack just to pass a local message is relatively inefficient. > It would be _very_ informative to be able to run this benchmark on a > well-configured SMP FreeBSD system, as I understand that Informix runs > well under the SCO emulation. I would imagine that the SMP Mips > systems you are looking at would be a lot more expensive 8) Indeed it would. I have an Oracle CD-ROM which has been floating around for a while waiting for me to take a look. Want to borrow it? > (ps. what do you think of Viewsonic's 21" monitors? They're reasonably > available around here...) Well, I've heard the name... what are the specs like, and what do they cost? Greg