  Emerging hybrid memory systems that comprise technologies such as Intel's
Optane DC Persistent Memory, exhibit disparities in the access speeds and
capacity ratios of their heterogeneous memory components. This breaks many
assumptions and heuristics designed for traditional DRAM-only platforms. High
application performance is feasible via dynamic data movement across memory
units, which maximizes the capacity use of DRAM while ensuring efficient use of
the aggregate system resources. Newly proposed solutions use performance models
and machine intelligence to optimize which and how much data to move
dynamically; however, the decision of when to move this data is based on
empirical selection of time intervals, or left to the applications. Our
experimental evaluation shows that failure to properly configure the data
movement frequency can lead to 10%-100% slowdown for a given data movement
policy; yet, there is no established methodology on how to properly configure
this value for a given workload, platform and policy. We propose Cori, a
system-level tuning solution that identifies and extracts the necessary
application-level data reuse information, and guides the selection of data
movement frequency to deliver gains in application performance and system
resource efficiency. Experimental evaluation shows that Cori configures data
movement frequencies that provide application performance within 3% of the
optimal one, and that it can achieve this up to 5x more quickly than random or
brute-force approaches. System-level validation of Cori on a platform with DRAM
and Intel's Optane DC PMEM confirms its practicality and tuning efficiency.
