Maintained by: NLnet Labs

[Unbound-users] libunbound parallelism

Robert Fleischman
Wed Nov 3 20:55:31 CET 2010


Question regarding parallelism in libunbound:

Using "async" requests, multiple threads can request async resolutions
to libunbound.
It appears these threads do a "tube_write()" to a SINGLE background
thread insides libunbound.a

This is concerning!  What if 10 threads are all asking for something
that is in the cache?

How can a user of libunbound get more parallelism during resolution?

---

If the non-async methods are used, the requesting threads block,
reverting to thread-per-request parallelism!  That can be even worse.
You'd have to have a thread-per-outstanding request.   Even more
concerning!

The "unbound" server doesn't seem to have this problem.  (num-threads
parameter is ignored by libunbound.a users).

---

All libunbound tips appreciated!!

-Rob