A method, comprising: managing, by a memory controller (110, 410), access to a memory resource for one or more accessing agents by associating the one or more accessing agents with corresponding memory segments from a collection of memory segments on the memory resource; wherein the memory resource is a shared memory pool to which a plurality of accessing agents has access. tracking, by the memory controller (110, 410), access instances to the collection of memory segments by the one or more accessing agents; maintaining, by the memory controller (110, 410), one or more heatmaps (116, 306, 412) for the one or more accessing agents, the one or more heatmaps (116, 306, 412) including segment entries having access metrics associated with the one or more accessing agents, the access metrics comprising, for each segment entry from the one or more heatmaps (116, 306, 412): a frequency metric for an associated memory segment, the frequency metric indicating a count of access instances for the associated memory segment since a last time that the segment entry was accessed; and a recency metric for the associated memory segment, the recency metric indicating a recency of when the segment entry was last accessed; and providing, by the memory controller (110, 410), access to the one or more heatmaps (116, 306, 412) to the one or more accessing agents; and determining based on the access metrics which memory segments should be considered for migration from the memory resource to a local memory. managing, by a memory controller (110, 410), access to a memory resource for one or more accessing agents by associating the one or more accessing agents with corresponding memory segments from a collection of memory segments on the memory resource; wherein the memory resource is a shared memory pool to which a plurality of accessing agents has access. tracking, by the memory controller (110, 410), access instances to the collection of memory segments by the one or more accessing agents; maintaining, by the memory controller (110, 410), one or more heatmaps (116, 306, 412) for the one or more accessing agents, the one or more heatmaps (116, 306, 412) including segment entries having access metrics associated with the one or more accessing agents, the access metrics comprising, for each segment entry from the one or more heatmaps (116, 306, 412): a frequency metric for an associated memory segment, the frequency metric indicating a count of access instances for the associated memory segment since a last time that the segment entry was accessed; and a recency metric for the associated memory segment, the recency metric indicating a recency of when the segment entry was last accessed; and a frequency metric for an associated memory segment, the frequency metric indicating a count of access instances for the associated memory segment since a last time that the segment entry was accessed; and a recency metric for the associated memory segment, the recency metric indicating a recency of when the segment entry was last accessed; and providing, by the memory controller (110, 410), access to the one or more heatmaps (116, 306, 412) to the one or more accessing agents; and determining based on the access metrics which memory segments should be considered for migration from the memory resource to a local memory.