[Beowulf] Moores Law is dying

Christian Bell 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  
argument.

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 mailing list