[bind10-dev] More ideas about high-performance data-source backend (warning: long text)
JINMEI Tatuya / 神明達哉
jinmei at isc.org
Mon Oct 11 04:53:41 UTC 2010
At Fri, 8 Oct 2010 12:57:32 +0200,
Michal 'vorner' Vaner <michal.vaner at nic.cz> wrote:
> > I don't think my experimental code is so useful for your purpose
> > because
> > - it has other features (such as offset-based pointers to support
> > mmap-based loading), which would be just noisy for you
> > - other than that, the tree structure itself is a simpler port of BIND
> > 9's rbt. so you might rather want to see the original
> > implementation.
>
> I didn't mean the tree itself, but the other parts ‒ the pointers between RR
> sets, name compression hints, bindings to the data source API and so on.
Ah, okay. I suspect it's not so useful for your purpose because the
implementation is so ad hoc. But feel free to look into it if you are
interested.
> > - but in terms of overall server performance, it also depends on how
> > many times we need to perform lookups for a single query. if we can
> > minimize that (NSD and BIND 9's "acache" take that approach) the
> > lookup bottleneck would become relatively minor.
>
> I think the tree structure is completely ortogonal to the optimisations you
> mentioned, like the hints for compression and pointers between RRsets you
> mentioned in the presentation.
May or may not be so. I cannot just be so sure about that until I see
the specific data structure.
> > As for your specific proposal, I think we need a figure:-)
>
> By figure, you mean a picture of it or some numbers? The first probably can be
> done easily, the second would mean a lot of guessing and computing, what I
> proposed is based partly on some experience, gut feeling and guesswork.
I meant a picture (drawing).
> > One quick thought that occurred to me is whether we can (efficiently)
> > update this DB without keeping the good property of locality.
>
> Like you ask how hard it would be to make an update?
My question is, after updates whether we can still keep the structure
where we can minimize TLB misses.
> Do you think it makes sense to put it somewhere on wiki, or it is enough I
> remember it?
Putting it on the wiki is always good, if you have time:-) but since
this is not an urgent task it's up to you.
---
JINMEI, Tatuya
Internet Systems Consortium, Inc.
More information about the bind10-dev
mailing list