11 comments

[ 3.5 ms ] story [ 39.2 ms ] thread
This is great; I'm still reading through, but, I had no idea that the performance drop was that steep!
Do you mean the drop they later used to analyze cache line coherency when adding cores? They improved this if I understood the latter results correctly.
This is the key: each locker spins on local memory rather than the lock word at page 63.
It would be interesting to see the same benchmarks for more normal amounts of cores. Most system does not have 240 cores, after all..
Most of these optimizations imply scaling by number of cores. Thus the more cores (and thus sockets/NUMA nodes), the more the benefit. Desktop-ish systems with ~4 cores don't see much gain, but nor did we introduce performance degradations.
Can anyone explain the use of 'round-robin' to describe mulit-node scenarios and 'fill-first' for single node scenarios. I initially assumed they were describing thread schedulers, but that doesn't make clear sense in these tests. Thanks in advance.