[Gluster-users] dm-glusterfs (was Re: IO performance cut down when VM on Gluster)
Jeff Darcy
jdarcy at redhat.com
Mon Jan 14 14:22:38 UTC 2013
On 01/14/2013 07:27 AM, Stephan von Krawczynski wrote:
> You _may_ be right if the
> situation was static, meaning all your special implementations would work for
> all coming versions of the projects they were built for. But exactly the
> continous ongoing development of these projects lets your manpower to maintain
> every single implementation explode, sooner or later.
Absolutely incorrect, because there's this little thing called
modularity to consider. Since translators are modular, very few changes
to their higher-level functionality would require porting to a specific
environment where all of the necessary libraries etc. are still
available. By contrast, even a single port to the kernel where that's
not the case would require a great deal of effort.
> And this is why my suggestion doing only the "special implementation" for the
> kernel is really the best choice.
Untrue again. Even with a kernel implementation, the transitions
through the VFS layer impact performance compared to having the code
directly in the app (as Joe has pointed out) or emulator (as Bharata has
done).
> Yes, you may be right that the kernel implementation may take time.
You have no idea. No, really, no clue at all. I've actually
implemented distributed filesystems in the kernel, and ported other
complex bits of code (e.g. a distributed lock manager) there as well. I
know precisely how much work is involved, and how much the extra
challenges of developing kernel code slow that work down. In our case
there's also an issue of finding or implementing alternatives for things
we get "for free" in user space, so we'd be porting more than our own
code. The retraining plus the work involved plus the extra testing plus
the licensing issues all make the whole thing a non-starter. It's easy
for people who never produce anything to say otherwise, but being easy
to say doesn't make it true.
> to do it now than in two years when you finally notice that other
> projects/competitors are simply not reachable in terms of performance.
Incorrect yet again. I recently tested vs. one of our highly touted
competitors, on the same hardware. Despite having a kernel client, they
only achieved *one third* of our performance on a synchronous write test
(which is pretty close to the type of I/O a virtual machine would do).
Why? Because they'd replaced one kind of overhead with several others.
Putting code in the kernel is an optimization, optimizations aren't as
valuable as algorithmic improvements, and algorithmic improvements are
easier to make without following your stupid advice. Please stop
wasting everyone's time repeating claims that have already been refuted
over and over again. This list is not a substitute for therapy.
More information about the Gluster-users
mailing list