What you've described is a non NUMA aware memory manager.... You'd have to look into how NUMA works, and what compromises need to be made in a memory manager to make it work as it should....
It's complex, but in a properly written memory manager, it will almost always be a boon. The OS alocates memory.... It's been this way for years now... The application tells the kernel it needs memory, and the kernel provides it. It is the memory managers duty to allocate memory to an application. And it is the memory manager that determines where that memory will be.
If the application had direct access to memory, can you imagine the nightmare that would be?
It's complex, but in a properly written memory manager, it will almost always be a boon. The OS alocates memory.... It's been this way for years now... The application tells the kernel it needs memory, and the kernel provides it. It is the memory managers duty to allocate memory to an application. And it is the memory manager that determines where that memory will be.
If the application had direct access to memory, can you imagine the nightmare that would be?