On Sat, May 14, 2016 at 12:31:28PM -0500, Richard Owlett wrote:
I date from era when when "memory banks" were switched via contents
of a I/O port ;/
Anyone remember era when 8085 was "state of the art" ;/
I envision
core A using memory range X
core B using memory range Z
What you are describing is called "non uniform memory access" aka
NUMA [1] these days and yes, the Linux kernel takes into account
that different parts of memory have different "distances" to each
processor (e.g. by assigning process "affinities" to each CPU.
To a lesser extent, CPU caches do this too.
This is'nt surprising, since CPU bandwidth has outrun memory
bandwith significantly across the last 20-30 years. If a CPU
had to wait for every byte to arrive from main memory, they'd
be slower by a huge amount [2].
So in some way the answer is; yes, your PC and your OS is probably
doing it already :-)
regards
[1] https://en.wikipedia.org/wiki/Non-Uniform_Memory_Access
[2] http://gameprogrammingpatterns.com/data-locality.html