[Gluster-devel] Improving real world performance by moving files closer to their target workloads
Martin Fick
mogulguy at yahoo.com
Mon Jun 2 18:59:06 UTC 2008
--- Derek Price <derek at ximbiot.com> wrote:
> Martin Fick wrote:
> > Except that as I pointed out in my other email, I
> > do not think that this would actually make reading
> > any better than today's caching translator, and if
> > so, then simply improving the caching translator
> > should suffice. And, it would make writes much
> > more complicated and in fact probably slower than
> > what unify does today. So where is the gain?
>
> Hrm. Rereading your comments above, only #2 below
> is directly relevant to cache efficiency, if that is
> all you are interested in, but this design would
have > some other advantages, listed below. Why do
you
> think this model would slow down writes?
How would it not slow down writes? Coordinating
a write to many servers is slower than one single
server, thus the whole discussions here and on
the AFR threads about how to coordinate things
with the least impact. However this impact is
reduced, it surely will be more than writing to a
single server, thus there is no performance
improvement for writes, only a potential
slowdown.
I do not disagree that AFR like functionality for
redundancy is a good thing, but as I keep trying
to clarify, this really is not what Luke was
asking about or suggesting. His objective did
not seem to be to add redundancy, but rather to
improve performance. I was suggesting to be
clear about the objectives and not to mix the two
(or, if you do mix them, be clear that there is
some gain to be had over working on the problems
separately).
Naturally if one is focusing on redundancy (AFR),
performance would also be an objective, but the
reverse is not so natural. So if you want to
improve the feature set/performance of the AFR
translator, great! Personally, I am currently
more concerned with eliminating split brain from
AFR than increasing its flexibility. I think
that ensuring a working simple design is more
important than trying to come up with more
advanced features.
But, I can't tell you what to focus on, my
rantings have primarily been to try and make
this whole discussion a little more focused
and to ensure that the objectives and
advantages / disadvantages of any suggested
solutions be clear since it seems like many
concepts are being mixed that have potentially
conflicting impacts.
> 2. All known copies could be kept up-to-date via
> some sort of differential algorithm (at least for
> appends, this would be easy). Using the current read
> cache, I think that if a large file gets written
> then the entire file must be recopied over the
> network to any caching readers?
I don't know how it currently works, but if
the read cache could use improving it seems
like that would be a valuable well focused
clear objective and I would encourage it. :)
I also think that this would be easier to do
than trying to improve read performance by
adding AFR like features to the unify
translator. Not only might it be easier,
it would benefit many more scenarios, a nice
design effect of the current modularity of
glusterfs!
Cheers,
-Martin
More information about the Gluster-devel
mailing list