[bind10-dev] Thinking aloud: Multi-CPU auth

Jerry Scharf scharf at isc.org
Mon Dec 20 17:56:51 UTC 2010


I hope these comments are of use.

There have been discussions whether functionality x is available on an 
o/s for doing things one way vs. another. I would suggest that the 
modular nature of BIND 10 was designed to deal with exactly this situation.

We have two very different audiences for auth/recursive servers. One is 
the high performance, high feature audience. The other is the run it on 
anything and fit it into a wireless router audience.

I think we want to view these as separate audiences with potentially 
separate decisions about code design. It also allows you to concentrate 
on one of the two for now, just knowing that the other is waiting down 
the road. This allows the multicore design to use the best features 
available and design for the constraints of that environment.

My personal experience is that shared memory becomes almost mandatory 
when trying to have many accessors against the same data. It would seem 
that you might  want to go to a multiple reader, single updater model as 
well. (Auth asking the datastore fronting cache or recursive asking the 
primary cache.)

I also do not consider a 2, 4 or even 8 core system to be that large. To 
satisfy the needs of an ISP for recursive or a registry for auth 
services, we are talking more like 16-24 cores today, more in the 
future. If the system has good scaling, this could extend even farther 
over time (48 cores is the top right now in a simple server.) I would 
personally recommend that there be a 24 core system (2x12 core opteron 
or 3x8core xeon) be acquired for testing. Cache control and memory 
bandwidth becomes a critical issues at these levels.

jerry s




More information about the bind10-dev mailing list