On 5/14/2016 3:50 PM, to...@tuxteam.de wrote:
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
[1] Tells me I almost asked the question I thought I intended to
ask ;/
I'm a consumer of programs but not a programmer.
A closer approximation to a correct _question_ might be "Can I as
user tell OS to run program *1* and _only_ program *1* on core A
which has exclusive use of memory range X? Everything else can
use core B and memory range Y."
[I'll probably have a better description after hitting send ;]
[2] gives valuable insight in how I should partition my disk when
moving from Windows to Debian. It gives me some insight anyway.
Thanks