Received: from localhost (unknown [200.46.204.183]) by postgresql.org (Postfix) with ESMTP id 5D2552E008F for ; Tue, 29 Jan 2008 12:45:40 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 39334-03 for ; Tue, 29 Jan 2008 12:45:36 -0400 (AST) Received: from stark.xeocode.com (modemcable238.55-70-69.static.videotron.ca [69.70.55.238]) by postgresql.org (Postfix) with ESMTP id 66ED42E0294 for ; Tue, 29 Jan 2008 12:45:36 -0400 (AST) Received: from localhost ([127.0.0.1] helo=stark.xeocode.com) by stark.xeocode.com with smtp (Exim 3.36 #1 (Debian)) id 1JJtaK-0008Mb-00; Tue, 29 Jan 2008 11:45:20 -0500 To: "Kevin Grittner" Cc: "Matthew" , "Mark Mielke" , Subject: Re: RAID arrays and performance References: <87lk8aiqf3.fsf@oxford.xeocode.com> <475559F4.7060104@mark.mielke.cc> <4755648C.90905@mark.mielke.cc> <87bq96ii3b.fsf@oxford.xeocode.com> <4755810E.4000707@mark.mielke.cc> <87zlwq6yz9.fsf@oxford.xeocode.com> <87bq74vfys.fsf@oxford.xeocode.com> <877ihsvdcb.fsf@oxford.xeocode.com> <479EFE9A.EE98.0025.0@wicourts.gov> In-Reply-To: <479EFE9A.EE98.0025.0@wicourts.gov> From: Gregory Stark Organization: EnterpriseDB Date: 29 Jan 2008 11:45:20 -0500 Message-ID: <873asginrz.fsf@stark.xeocode.com> Lines: 30 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200801/293 X-Sequence-Number: 28532 "Kevin Grittner" writes: > >>> On Tue, Jan 29, 2008 at 9:52 AM, in message > <877ihsvdcb.fsf@oxford.xeocode.com>, Gregory Stark > wrote: > > > I got this from a back-of-the-envelope calculation which now that I'm trying > > to reproduce it seems to be wrong. Previously I thought it was n(n+1)/2 or > > about n^2/2. So at 16 I would have expected about 128 pending i/o requests > > before all the drives could be expected to be busy. > > That seems right to me, based on the probabilities of any new > request hitting an already-busy drive. > > > Now that I'm working it out more carefully I'm getting that the expected > > number of pending i/o requests before all drives are busy is > > n + n/2 + n/3 + ... + n/n > > What's the basis for that? Well consider when you've reached n-1 drives; the expected number of requests before you hit the 1 idle drive remaining out of n would be n requests. When you're at n-2 the expected number of requests before you hit either of the two idle drives would be n/2. And so on. The last term of n/n would be the first i/o when all the drives are idle and you obviously only need one i/o to hit an idle drive. -- Gregory Stark EnterpriseDB http://www.enterprisedb.com