Mario Goebbels wrote:> I was wondering if it''s planned to give some control over the
metaslab
> allocation into the hands of the user. What I have in mind is an
> attribute on a ZFS filesystem that acts as modifier to the allocator.
> Scenarios for this would be directly controlling performance
> characteristics, e.g. having system and application files being
> allocated on the inner side of the platter while pushing database
> files and such that need high bandwidth to the outer side.
IMHO, such optimizations often cause more problems then they solve.
I recall a USENIX paper on this for UFS circa 1990 or so. The problem
is not the allocation policy per se, the problem is managing the
policies, which requires a human to comprehend the complex performance
characteristics of modern systems. In ZFS, the philosophy is to try
and simplify the management of the file system. So, if there is a way
to automatically tune, then that should be the approach. For disks,
you can make some assumptions which will be broadly applicable. However,
virtualization and RAID arrays can negate those assumptions. Also,
disks are in danger of falling out of fashion over the next few years.
In other words, Fry''s is selling 16 GByte USB drives this week for $99,
after $30 mail-in rebate. I think that for those who can dictate
policy later, they can still do it just like they do today by selecting
the appropriate vdevs.
> The modifier could range from 0 to 1 where 0 is favoring the inside,
> 1 favoring the outside, default setting being 0.5 implying no favorism
> whatsoever.
We try to avoid floating point :-) but yes, the implementation idea
is reasonable.
-- richard