Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dnsdist/rec: Ponder re-hashing when a bounded-load bin is full #8906

Open
rgacogne opened this issue Mar 5, 2020 · 0 comments
Open

dnsdist/rec: Ponder re-hashing when a bounded-load bin is full #8906

rgacogne opened this issue Mar 5, 2020 · 0 comments

Comments

@rgacogne
Copy link
Member

rgacogne commented Mar 5, 2020

  • Program: Recursor, dnsdist
  • Issue type: Feature request

In both the recursor and dnsdist, we implement bounded-load load-balancing where we dispatch a query to the next bin if the selected one is full (and so on). This suffers from a "cascading overflow" effect that decreases the performance when some of the bins are getting full.
This paper 1 suggests that instead of going to the next bin, we could re-hash the already computed hash with a counter appended to it, and iterate as long as we select a full bin. This is a nice idea because that way we don't always overflow to the same bin, since different qnames will go to a second different bin when re-hashing with the counter. Using a counter also means we don't have to re-hash the whole qname, which is a bit slow.

It seems to make sense on paper, it would be nice to see if it also makes sense in our use case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant