
The “Uncanny Valley” of L3 Cache Contention - r4um
http://bad-concurrency.blogspot.com/2014/12/the-uncanny-valley-of-l3-cache.html
======
jeffreyrogers
This is great. I've come across a few articles lately about caches and their
effects on performance. It's really interesting stuff. If this interested you,
then you might find this article[1] by Dan Luu on improving performance by
_misaligning_ data interesting as well.

[1]: [http://danluu.com/3c-conflict/](http://danluu.com/3c-conflict/)

------
pron
The code for the benchmark:
[https://github.com/mikeb01/qconsf2014/blob/master/src/main/j...](https://github.com/mikeb01/qconsf2014/blob/master/src/main/java/com/lmax/qconsf2014/l3/L3CacheBenchmark.java)

------
rwmj
Can anyone explain why the relative performance of different # threads spreads
out again for working sets > 8 MB?

~~~
Tuna-Fish
At that point, the performance of his benchmark depends of DRAM access. In
modern system, DRAM is very parallel -- a single access is glacially slow but
you can have a lot of accesses in flight. It would appear that a single thread
of his benchmark cannot provide enough access parallelism to saturate his DRAM
interfaces.

