JD wrote:
On 09/30/2010 10:12 AM, Tom Horsley wrote:
On Thu, 30 Sep 2010 09:59:38 -0700 JD wrote:
What I would like to know is the degree of granularity of the SMP implementation in Linux.
Don't know what granularity means :-), but we have run kernel.org kernels on up to 64 core machines here at work.
Granularity applies to the locking scheme in the kernel. It is how the kernel must prevent different cors/cpus from clobberig the same kernel global data at the same time.
Some locking schemes are coarser than others. There is an optimal point where further granularity will decrease performance.
I was looking for papers/studies that may have been done to see at what degree of granularity the payoff was highest.
In case you don't see a mention in the papers, one of the areas where the kernel can't currently be tuned, or can only be tuned using affinity, if having the schedular decide to use two threads in the same core (hyperthreading), and two cores. And depending on the application it does matter, two threads working on shared memory will go a lot faster if the memory is in L1 cache than if it's off on another core.
Happy reading.