is hierarchical memory SMP a contradicition in terms?

55 Views Asked by At

Symmetric Multiprocessing systems are homogeneous processors which share memory. I just saw this talk by Tim Mattson and he says at some point that hierarchical memory (cache levels) invalidate the precepts of SMP. Is this true? Why is it that I cannot say, for example, hierarchical memory SMP systems? Thanks.

1

There are 1 best solutions below

0
On

That sounds more like a statement of ideological purity, since it would imply that a very large percentage of the actually deployed systems people think of as SMP (and run SMP kernels on, and so forth) are not actually SMP.

It would be nice for both hardware designers and programmers if SMP systems didn't have hierarchical memories, becuase of the significant trouble it is for hardware to present some kind of consistency between the different processor's views of the shared address space in the presence of caches, and for programmers to deal with the amount of inconsistency that the hardware does let them observe.

Unfortunately a total rejection of cache hierarchies would also bomb performance most of the way back to the uniprocessor stage, unless one spends a significant part of one's time computing Mandelbrot images where everything in the inner loops fit in registers.