Re: [LSF/MM ATTEND ] memory reclaim with NUMA rebalancing

From: Christopher Lameter
Date: Wed Feb 06 2019 - 14:03:52 EST


On Thu, 31 Jan 2019, Aneesh Kumar K.V wrote:

> I would be interested in this topic too. I would like to
> understand the API and how it can help exploit the different type of
> devices we have on OpenCAPI.

So am I. We may want to rethink the whole NUMA API and the way we handle
different types of memory with their divergent performance
characteristics.

We need some way to allow a better selection of memory from the kernel
without creating too much complexity. We have new characteristics to
cover:

1. Persistence (NVRAM) or generally a storage device that allows access to
the medium via a RAM like interface.

2. Coprocessor memory that can be shuffled back and forth to a device
(HMM).

3. On Device memory (important since PCIe limitations are currently a
problem and Intel is stuck on PCIe3 and devices start to bypass the
processor to gain performance)

4. High Density RAM (GDDR f.e.) with different caching behavior
and/or different cacheline sizes.

5. Modifying access characteristics by reserving slice of a cache (f.e.
L3) for a specific memory region.

6. SRAM support (high speed memory on the processor itself or by using
the processor cache to persist a cacheline)

And then the old NUMA stuff where only the latency to memory varies. But
that was a particular solution targeted at scaling SMP system through
interconnects. This was a mostly symmetric approach. The use of
accellerators etc etc and the above characteristics lead to more complex
assymmetric memory approaches that may be difficult to manage and use from
kernel space.