“…Dynamic data placement has been employed to enable high performance on heterogeneous memory [2,12,22,24,46,57,58,61,76,78,79,82,86,87]. Most of those solutions are application agnostic, which means that they track page (or data) access frequency [2,12,22,24,78,79,82,87] or manage DRAM as a hardware cache for PMM [46,57,76,86] without the knowledge of data semantics. However, the data semantics gives critical indications on memory access patterns, which is useful to direct data placement and avoid unnecessary data movement.…”