Re: Improving geom_mirror(4)'s read balancing

From: Maxim Sobolev <sobomax_at_FreeBSD.org>
Date: Tue, 28 Apr 2009 03:27:15 -0700
Ivan Voras wrote:
> Maxim Sobolev wrote:
> 
>> The patch is available here:
>> http://sobomax.sippysoft.com/~sobomax/geom_mirror.diff. I would like to
>> get input on the functionality/code itself, as well on what is the best
>> way to add this functionality. Right now, it's part of the round-robin
>> balancing code. Technically, it could be added as a separate new
>> balancing method, but for the reasons outlined above I really doubt
>> having "pure" round-robin has any practical value now. The only case
>> where previous behavior might be beneficial is with solid-state/RAM
>> disks where there is virtually no seek time, so that by reading close
>> sectors from two separate disks one could actually get a better speed.
>> At the very least, the new method should become default, while "old
>> round-robin" be another option with clearly documented shortcomings. I
>> would really like to hear what people think about that.
> 
> Have you perhaps seen this:
> 
> http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/113885
> 
> I'm using the patch in the PR and it helps a bit, similar to what you
> have seen. Pawel is silent about the issue so I guess it can also be
> taken as silent approval :)

Oh, great! I am curious as to if there is any background behind 
"distance to use delay" metric? To me it seems the current number of 
outstanding requests is much more important when selecting between disk 
X and disk Y. I am not a storage expert, so that I could be wrong 
though. One way or another the load-balancing has be improved and the 
new more intelligent scheduling IMHO should be the default one.

-Maxim
Received on Tue Apr 28 2009 - 08:27:25 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:46 UTC