skip to main content
10.1145/2925426.2926284acmconferencesArticle/Chapter ViewAbstractPublication PagesicsConference Proceedingsconference-collections
research-article

Write-Aware Management of NVM-based Memory Extensions

Published: 01 June 2016 Publication History

Abstract

Emerging Non-Volatile Memory (NVM) technologies, such as 3D XPoint, are expected to be in production as early as 2016. Emerging NVMs are very attractive for several reasons. First, they are non-volatile and hence incur no refresh power. Second, they are dense and promising for scaling down further. Finally, they are fast and have latencies comparable to DRAM. On the other side, using emerging NVMs as direct replacement for DRAM as the main memory is challenging. Compared to DRAM, emerging NVMs can endure a very limited number of writes per cell. Furthermore, their write latency is typically much slower and more energy consuming than DRAM, e.g., Phase Change Memory (PCM) writes are multiple of times slower than that of DRAM. An important use case for emerging NVMs is using them as fast memory extensions. Memory extensions are hidden from programmers and managed by the Operating System (OS). Any access to pages held in the memory extension will cause a page fault. Later, the memory manager moves the faulting page to DRAM and maps the page. While similar in concept to the swap file, memory extensions bypass the file system. Furthermore, memory extensions are dedicated for being used as memory and hence avoid contention with the file system.
In this paper, we emulate an NVM-based memory extension and study its impact on performance on a real system. We also study how to improve its performance using OS-level prefetching. We show the importance of having the system software and the NVM controller work in concert for reducing the number of writes. Our best scheme where the system software and the NVM controller work in concert could reduce the number of writes to only 5% of the original baseline (increasing its lifetime by 20x).

References

[1]
A. Huan. NVM Express, Revision 1.0c. Intel Corporation, 2012.
[2]
Huai, Yiming, et al. Observation of spin-transfer switching in deep submicron-sized and low-resistance magnetic tunnel junctions. Applied Physics Letters 84.16: 3118--3120, 2004.
[3]
Hydrodynamics Challenge Problem, Lawrence Livermore National Laboratory. Technical Report LLNL-TR-490254.
[4]
Intel 3D XPoint.
[5]
Persistent Memory Programming. http://pmem.io, 2014.
[6]
A. Awad, B. Kettering, and Y. Solihin. Non-Volatile Memory Host Controller Interface Performance Analysis in High-performance I/O Systems. In Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), 2015, pages 145--154, March 2015.
[7]
S. Chhabra and Y. Solihin. i-NVMM: A Secure Non-volatile Main Memory System with Incremental Encryption. In Proceedings of the 38th Annual International Symposium on Computer Architecture, ISCA '11, pages 177--188, 2011.
[8]
R. Crooke and A. Fazio. Intel Non-Volatile Memory Inside. The Speed of Possibility Outside. In Intel Developer Forum (IDF), 2015.
[9]
G. Gunow, J. R. Tramm, B. Forget, and K. Smith. Simplemoc - a performance abstraction for 3d moc. In ANS MC2015. American Nuclear Society, 2015.
[10]
M. Heroux, D. Doerfler, P. Crozier, J. Willenbring, C. Edwards, A. Williams, M. Rajan, E. Keiter, H. K. Thornquist, and R. W. Numrich. Improving performance via mini-applications. In Sandia Report 2009.
[11]
B. Lee, E. Ipek, O. Mutlu, and D. Burger. Architecting phase change memory as a scalable dram alternative. In International Symposium on Computer Architecture (ISCA), 2009.
[12]
Z. Li, R. Zhou, and T. Li. Exploring high-performance and energy proportional interface for phase change memory systems. IEEE 20th International Symposium on High Performance Computer Architecture (HPCA), pages 210--221, 2013.
[13]
P. J. Nair, D.-H. Kim, and M. K. Qureshi. ArchShield: Architectural Framework for Assisting DRAM Scaling by Tolerating High Error Rates. In Proceedings of the 40th Annual International Symposium on Computer Architecture (ISCA), pages 72--83, 2013.
[14]
M. Oskin and G. H. Loh. A Software-managed Approach to Die-stacked DRAM. In Proceedings of the 24th International Conference on Parallel Architectures and Compilation Techniques (PACT), 2015.
[15]
M. Qureshi, J. Karidis, M. Franceschini, V. Srinivasan, L. Lastras, and B. Abali. Enhancing lifetime and security of PCM-based Main Memory with Start-Gap Wear Leveling. In Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), pages 14--23, 2009.
[16]
M. K. Qureshi, V. Srinivasan, and J. A. Rivers. Scalable high performance main memory system using phase-change memory technology. ACM SIGARCH Computer Architecture News, 37(3):24--33, 2009.
[17]
L. E. Ramos, E. Gorbatov, and R. Bianchini. Page Placement in Hybrid Memory Systems. In Proceedings of the International Conference on Supercomputing (ICS), pages 85--95. ACM, 2011.
[18]
M. Saxena and M. M. Swift. FlashVM: Virtual Memory Management on Flash. In Proceedings of the 2010 USENIX conference on USENIX Annual Technical Conference (USENIX-ATC), pages 14--14. USENIX Association, 2010.
[19]
A. S. Tanenbaum. Modern Operating Systems. 2009.
[20]
J. R. Tramm, A. R. Siegel, B. Forget, and C. Josey. Performance analysis of a reduced data movement algorithm for neutron cross section data in monte carlo simulations. In Solving Software Challenges for Exascale, pages 39--56. Springer, 2014.
[21]
J. R. Tramm, A. R. Siegel, T. Islam, and M. Schulz. XSBench - The Development and Verification of a Performance Abstraction for Monte Carlo Reactor Analysis. In PHYSOR 2014 - The Role of Reactor Physics toward a Sustainable Future, Kyoto.
[22]
A. J. Uppal and M. R. Meswani. Towards Workload-Aware Page Cache Replacement Policies for Hybrid Memories. In Proceedings of the 2015 International Symposium on Memory Systems (MEMSYS), pages 206--219, 2015.
[23]
B. Van Essen, H. Hsieh, S. Ames, R. Pearce, and M. Gokhale. DI-MMAP: a scalable memory-map runtime for out-of-core data-intensive applications. Cluster Computing, 18(1):15--28, 2013.
[24]
B. Van Essen, R. Pearce, S. Ames, and M. Gokhale. On the role of NVRAM in data-intensive architectures: an evaluation. In Proceedings of IEEE 26th International Parallel & Distributed Processing Symposium (IPDPS), pages 703--714, 2012.
[25]
D. Vučinić, Q. Wang, C. Guyot, R. Mateescu, F. Blagojević, L. Franca-Neto, D. L. Moal, T. Bunker, J. Xu, S. Swanson, and Z. Bandić. DC Express: Shortest Latency Protocol for Reading Phase Change Memory over PCI Express. In Proceedings of the 12th USENIX Conference on File and Storage Technologies (USENIX-FAST), pages 309--315, 2014.
[26]
B.-D. Yang, J.-E. Lee, J.-S. Kim, J. Cho, S.-Y. Lee, and B. gon Yu. A low power phase-change random access memory using a data-comparison write scheme. In Proceedings of the IEEE International Symposium on Circuits and Systems (ISCAS), pages 3014--3017, 2007.
[27]
J. Yang, Y. Zhang, and R. Gupta. Frequent Value Compression in Data Caches. In Proceedings of the 33rd annual ACM/IEEE international symposium on Microarchitecture (MICRO), pages 258--265, 2000.
[28]
J. J. Yang, D. B. Strukov, and D. R. Stewart. Memristive Devices for Computing. Nature Nanotechnology, 8(1):13--24, 2013.
[29]
V. Young, P. J. Nair, and M. K. Qureshi. DEUCE: Write-Efficient Encryption for Non-Volatile Memories. In Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 33--44, 2015.
[30]
J. Zhang, G. Park, M. M. Shihab, D. Donofrio, J. Shalf, and M. Jung. OpenNVM: An open-sourced FPGA-based NVM controller for low level memory characterization. In Proceedings of the 33rd IEEE International Conference on Computer Design (ICCD), pages 666--673, 2015.
[31]
Y. Zhang and S. Swanson. A study of application performance with non-volatile main memory. In Proceedings of the 31st Symposium on Mass Storage Systems and Technologies (MSST), pages 1--10, 2015.
[32]
P. Zhou, B. Zhao, J. Yang, and Y. Zhang. A Durable and Energy Efficient Main Memory Using Phase Change Memory Technology. In Proceedings of the 36th Annual International Symposium on Computer Architecture (ISCA), pages 14--23, 2009.

Cited By

View all
  • (2024)Enhancing QoS in Multicore Systems with Heterogeneous Memory ConfigurationsElectronics10.3390/electronics1317349213:17(3492)Online publication date: 3-Sep-2024
  • (2023)PreFlush: Lightweight Hardware Prediction Mechanism for Cache Line Flush and WritebackProceedings of the 32nd International Conference on Parallel Architectures and Compilation Techniques10.1109/PACT58117.2023.00015(74-85)Online publication date: 21-Oct-2023
  • (2023)HoPP: Hardware-Software Co-Designed Page Prefetching for Disaggregated Memory2023 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA56546.2023.10070986(1168-1181)Online publication date: Feb-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICS '16: Proceedings of the 2016 International Conference on Supercomputing
June 2016
547 pages
ISBN:9781450343619
DOI:10.1145/2925426
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 June 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. NVM Memory Extensions
  2. PCM
  3. System Software

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ICS '16
Sponsor:

Acceptance Rates

Overall Acceptance Rate 629 of 2,180 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)28
  • Downloads (Last 6 weeks)3
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Enhancing QoS in Multicore Systems with Heterogeneous Memory ConfigurationsElectronics10.3390/electronics1317349213:17(3492)Online publication date: 3-Sep-2024
  • (2023)PreFlush: Lightweight Hardware Prediction Mechanism for Cache Line Flush and WritebackProceedings of the 32nd International Conference on Parallel Architectures and Compilation Techniques10.1109/PACT58117.2023.00015(74-85)Online publication date: 21-Oct-2023
  • (2023)HoPP: Hardware-Software Co-Designed Page Prefetching for Disaggregated Memory2023 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA56546.2023.10070986(1168-1181)Online publication date: Feb-2023
  • (2021)NVSwap: Latency-Aware Paging using Non-Volatile Main Memory2021 IEEE International Conference on Networking, Architecture and Storage (NAS)10.1109/NAS51552.2021.9605418(1-9)Online publication date: Oct-2021
  • (2021)DeACT: Architecture-Aware Virtual Memory Support for Fabric Attached Memory Systems2021 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA51647.2021.00046(453-466)Online publication date: Feb-2021
  • (2021)Stealth-Persist: Architectural Support for Persistent Applications in Hybrid Memory Systems2021 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA51647.2021.00022(139-152)Online publication date: Feb-2021
  • (2021)BBB: Simplifying Persistent Programming using Battery-Backed Buffers2021 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA51647.2021.00019(111-124)Online publication date: Feb-2021
  • (2021)A Survey of Non-Volatile Main Memory Technologies: State-of-the-Arts, Practices, and Future DirectionsJournal of Computer Science and Technology10.1007/s11390-020-0780-z36:1(4-32)Online publication date: 30-Jan-2021
  • (2020)PMThreads: persistent memory threads harnessing versioned shadow copiesProceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3385412.3386000(623-637)Online publication date: 11-Jun-2020
  • (2019)Page migration support for disaggregated non-volatile memoriesProceedings of the International Symposium on Memory Systems10.1145/3357526.3357543(417-427)Online publication date: 30-Sep-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media