[$] NUMA rebalancing on tiered-memory systems
The classic NUMA architecture is built around nodes, each of which containsa set of CPUs and some local memory; all nodes are more-or-less equal.Recently, though, "tiered-memory" NUMA systems have begun to appear; theseinclude CPU-less nodes that contain persistent memory rather than (faster,but more expensive) DRAM. One possible use for thatmemory is to hold less-frequently-used pages rather than forcing them outto a backing-store device. There is an interesting problem that emergesfrom this use case, though: how does the kernel manage the movement ofpages between faster and slower memory? Several recent patch sets havetaken differing approaches to the problem of rebalancing memory on thesesystems.