"Kevin Grittner" <Kevin.Grittner@wicourts.gov> writes:
> >>> On Tue, Jan 29, 2008 at 9:52 AM, in message
> <877ihsvdcb.fsf@oxford.xeocode.com>, Gregory Stark <stark@enterprisedb.com>
> 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