[Info-vax] RealWorldTech on Poulson
Johnny Billquist
bqt at softjar.se
Mon Jul 4 09:19:44 EDT 2011
On 2011-07-04 04.31, JF Mezei wrote:
> re: chache coherency and virtual machines.
>
> Say you have a 32 core system running 16 instances of some OS versus the
> same system running one instance of the OS.
>
> From a cache performance/coherency point of view, does this make a
> difference ?
>
>
> With a single instance, you'd have 32 cores accessing the same memory.
> So obviously, the scalability issue mentioned in this thread will matter.
>
> But in the case of 16 instances of 2 cores each, wouldn't the cache
> become effectively split 16 ways since no OS instance could touch
> another's memory ? If each portion of the cache that is being used by
> one OS instance is only accessed by 2 CPUs then scalability wouldn't be
> an issue ? or would it ?
>
> I realise that the cache manager would still see the big picture and not
> realise that memory has been split 16 ways.
Indeed, which is why it don't make a difference. You have to understand
how the cache coherency protocols work, then it is obvious what the
problems are. Basically, with cache snooping, every CPU is broadcasting
to all other CPUs what they do. As the number of CPUs grows, this starts
to become an issue. With a directory based cache coherency, all CPUs
just talk to the directory, which keeps track of things. Slower, as you
have an instance between yourself and memory, faster when you have many
CPUs, as you still only talk to that instance, no matter how many CPUs
there are.
Hmm, just look up "cache coherency" on Wikipedia. :-)
Johnny
More information about the Info-vax
mailing list