Date: Fri, 3 Aug 2007 08:18:07 +0100 (BST) From: Robert Watson <rwatson@FreeBSD.org> To: Jeff Roberson <jroberson@chesapeake.net> Cc: arch@freebsd.org, Alfred Perlstein <alfred@freebsd.org>, Kris Kennaway <kris@obsecurity.org> Subject: Re: Fine grain select locking. Message-ID: <20070803081520.B18327@fledge.watson.org> In-Reply-To: <20070802174819.S561@10.0.0.1> References: <20070702230728.E552@10.0.0.1> <20070703181242.T552@10.0.0.1> <20070704105525.GU45894@elvis.mu.org> <20070704114005.X552@10.0.0.1> <20070729180722.GB85196@rot26.obsecurity.org> <20070802174819.S561@10.0.0.1>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 2 Aug 2007, Jeff Roberson wrote: > I hope we can hash out a good plan to resolve this for 8.0. filedesc and > lockmgr are the biggest hitters on mysql writes. I suspect this is also the > case for pgsql and likely other network server type programs. Actually, I'd scope this claim a bit -- it's certainly going to be an issue for MySQL and any *threaded* network server type programs. As process based parallelism doesn't share the file descriptor table, it shouldn't affect non-threaded workloads such as Apache and pgSQL. This is one of the interesting contradictions with threads -- developers are taught that they are lightweight, and they are in the sense that they cost less to have many of and support very easy IPC, but they are also more likely to contend kernel locks as they involve more shared data structures being referenced. In contrast, process-driven parallelism allows a much higher level of independence between executing threads of control, allowing IPC to be explicit rather than continuous. Anything that reduces the overhead of filedesc locking will improve the performance of all apps, but reducing the contention on filedesc will only help applications sharing the file descriptor array between many threads/processes. Robert N M Watson Computer Laboratory University of Cambridge
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070803081520.B18327>
