[Beowulf] Moores Law is dying
christian at myri.com
Tue Apr 14 15:44:17 PDT 2009
On Apr 14, 2009, at 3:22 PM, Joe Landman wrote:
> Jon Forrest wrote:
>> But this wouldn't happen in the scenarios you describe
>> because text is read-only. There would be no updaters or writers
>> or any kind of contention. The text pages would have to get filled
> Ok, lets assume you have a table in the text, that every thread is
> using to dereference. Sure it can go in the data section, but some
> compilers (old SGI) could leave it in the text area for faster access.
> Same thing with contention. Read contention is harder to diagnose
> than write contention, as you don't get the cache line update from
> the writes triggering the associated counters, so this is a bit more
> subtle. But the effect is there.
A simple (correct) statement is being churned into a rather complex
Read-only cache lines from text shouldn't involve coherency traffic
nor false sharing of cache lines (and no sane system should put text
and data on the same page). Sure, capacity and conflict misses will
apply like they do in any cache but Jon's statement remains correct --
in SPMD applications, you really want all processes to benefit from
cache hits in your "single program".
I agree with Joe that as the shared memory system scales, the once
subtle potential cache coherency problems can become quite an
impediment to performance. However, I'd think (or at least hope) that
we could agree on the simpler things, like read-only text.
. . christian
More information about the Beowulf