Can a single process run in multiple cores?

user3597931 picture user3597931 · Aug 3, 2016 · Viewed 10.1k times · Source

can a single process run different threads on different cores?

(I think they can)

In that case, different cores share the same address space but with different caches? Does that mean caches will be redundant?

Thanks!

Answer

merlin2011 picture merlin2011 · Aug 3, 2016

Yes, a single process can run multiple threads on different cores.

Caching is specific to the hardware. Many modern Intel processors have three layers of caching, where the last level cache is shared across cores.

It does not mean the non-shared caches are redundant, but it does have implications for multicore performance. In particular, if one core updates a value in the address space that currently lives in another core's private cache, then a cache coherence protocol must be run to ensure that another core can no longer read a stale value.