@inproceedings{c7cce11799e741b183faa4960eac29a5,
title = "PageSeer: Using page walks to trigger page swaps in hybrid memory systems",
abstract = "Hybrid main memories composed of DRAM and Non-Volatile Memory (NVM) combine the capacity benefits of NVM with the low-latency properties of DRAM. For highest performance, data segments should be exchanged between the two types of memories dynamically-a process known as segment swapping-based on the access patterns to the segments in the program. The key difficulty in hardwaremanaged swapping is to identify the appropriate segments to swap between the memories at the right time in the execution. To perform hardware-managed segment swapping both accurately and with substantial lead time, this paper proposes to use hints from the page walk in a TLB miss. We call the scheme PageSeer. During the generation of the physical address for a page in a TLB miss, the memory controller is informed. The controller uses historic data on the accesses to that page and to a subsequently-referenced page (i.e., its follower page), to potentially initiate swaps for the page and for its follower. We call these actions MMU-Triggered Prefetch Swaps. PageSeer also initiates other types of page swaps, building a complete solution for hybrid memory. Our evaluation of PageSeer with simulations of 26 workloads shows that PageSeer effectively hides the swap overhead and services many requests from the DRAM. Compared to a state-of-the-art hardware-only scheme for hybrid memory management, PageSeer on average improves performance by 19% and reduces the average main memory access time by 29%.",
keywords = "Hybrid Memory Systems, Non-Volatile Memory, Page Swapping, Page Walks, Virtual Memory",
author = "Apostolos Kokolis and Dimitrios Skarlatos and Josep Torrellas",
note = "Publisher Copyright: {\textcopyright} 2019 IEEE.; 25th IEEE International Symposium on High Performance Computer Architecture, HPCA 2019 ; Conference date: 16-02-2019 Through 20-02-2019",
year = "2019",
month = mar,
day = "26",
doi = "10.1109/HPCA.2019.00012",
language = "English (US)",
series = "Proceedings - 25th IEEE International Symposium on High Performance Computer Architecture, HPCA 2019",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
pages = "596--608",
booktitle = "Proceedings - 25th IEEE International Symposium on High Performance Computer Architecture, HPCA 2019",
address = "United States",
}