UHNVM: A Universal Heterogeneous Cache Design with Non-Volatile Memory
Abstract
:1. Introduction
2. Background
3. Motivation
3.1. Memory Architecture with Optane Dimm
3.2. Related Work of NVM
3.3. Performance Analysis of Optane DIMM
3.4. Efficient Data Patterns Indicated by Program Contexts (PCs)
4. Design of UHNVM
4.1. Architecture Comparison
4.2. Data Classification Module
4.3. An Example of Data Distribution Module
4.3.1. Basic Data Structures Illustration
4.3.2. Cache Data Migration Process
4.3.3. Small Access (<4 KB) and File Feature Update in UHNVM
4.4. Function Blacklist of UHNVM
5. Evaluation
5.1. Experimental Setup
5.2. dd Utility Experiment
5.3. fio Experiment
6. Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- Badam, A.; Pai, V.S. SSDAlloc: Hybrid RAM/SSD Memory Allocation Made Easy. In Proceedings of the Symposium on Networked Systems Design and Implementation, Boston, MA, USA, 30 March–1 April 2011. [Google Scholar]
- Cheong, W.; Yoon, C.; Woo, S.; Han, K.; Jeong, J. A flash memory controller for 15 μs ultra-low-latency SSD using high-speed 3D NAND flash with 3 μs read time. In Proceedings of the IEEE International Solid—State Circuits Conference, San Francisco, CA, USA, 5–9 February 2018. [Google Scholar]
- Huang, J.; Badam, A.; Qureshi, M.K.; Schwan, K. Unified address translation for memory-mapped ssds with flashmap. In Proceedings of the Annual International Symposium on Computer Architecture, Portland, OR, USA, 13–17 June 2015; pp. 580–591. [Google Scholar]
- Yang, J.; Kim, J.; Hoseinzadeh, M.; Izraelevitz, J.; Swanson, S. An empirical guide to the behavior and use of scalable persistent memory. In Proceedings of the Conference on File and Storage Technologies, Santa Clara, CA, USA, 24–27 February 2020; pp. 169–182. [Google Scholar]
- Grupp, L.M.; Davis, J.D.; Swanson, S. The bleak future of NAND flash memory. In Proceedings of the Conference on File and Storage Technologies, San Jose, CA, USA, 15–17 February 2012; Volume 7, pp. 10–12. [Google Scholar]
- Marathe, V.J.; Seltzer, M.; Byan, S.; Harris, T. Persistent memcached: Bringing legacy code to byte-addressable persistent memory. In Proceedings of the Workshop on Hot Topics in Storage and File Systems, Santa Clara, CA, USA, 10–11 July 2017. [Google Scholar]
- Oukid, I.; Lehner, W.; Kissinger, T.; Willhalm, T.; Bumbulis, P. Instant Recovery for Main Memory Databases. In Proceedings of the Annual Conference on Innovative Data Systems Research, Asilomar, CA, USA, 13–16 January 2015. [Google Scholar]
- Pelley, S.; Wenisch, T.F.; Gold, B.T.; Bridge, B. Storage management in the NVRAM era. In Proceedings of the 40th International Conference on Very Large Data Bases, Hangzhou, China, 1–5 September 2014. [Google Scholar]
- Viglas, S.D. Write-limited sorts and joins for persistent memory. Proc. Very Large Data Bases Endow. 2014, 7, 413–424. [Google Scholar] [CrossRef] [Green Version]
- Intel. Persistent Memory Development Kit (PMDK). Available online: https://pmem.io/pmdk (accessed on 1 May 2021).
- Gniady, C.; Butt, A.R.; Hu, Y.C. Program-counter-based pattern classification in buffer caching. In Proceedings of the Symposium on Operating Systems Design and Implementation, San Francisco, CA, USA, 6–8 December 2004; Volume 4, p. 27. [Google Scholar]
- Zhou, F.; von Behren, R.; Brewer, E.A. Program Context Specific Buffer Caching with AMP. 2005. Available online: http://zhoufeng.net/eng/papers/amp-tr.pdf (accessed on 1 May 2021).
- Kwon, Y.; Fingler, H.; Hunt, T.; Peter, S.; Witchel, E.; Anderson, T. Strata: A cross media file system. In Proceedings of the Symposium on Operating Systems Principles, Shanghai, China, 28 October 2017; pp. 460–477. [Google Scholar]
- Moraru, I.; Andersen, D.G.; Kaminsky, M.; Tolia, N.; Ranganathan, P.; Binkert, N. Consistent, durable, and safe memory management for byte-addressable non volatile main memory. In Proceedings of the First ACM Special Interest Group on Operating Systems Conference on Timely Results in Operating Systems, Farmington, PA, USA, 3–6 November 2013; pp. 1–17. [Google Scholar]
- Seo, J.; Kim, W.H.; Baek, W.; Nam, B.; Noh, S.H. Failure-atomic slotted paging for persistent memory. ACM Spec. Interest Group Comput. Archit. News 2017, 45, 91–104. [Google Scholar] [CrossRef]
- Volos, H.; Magalhaes, G.; Cherkasova, L.; Li, J. Quartz: A lightweight performance emulator for persistent memory software. In Proceedings of the Annual Middleware Conference, Vancouver, BC, Canada, 7–11 December 2015; pp. 37–49. [Google Scholar]
- Dong, M.; Yu, Q.; Zhou, X.; Hong, Y.; Chen, H.; Zang, B. Rethinking benchmarking for nvm-based file systems. In Proceedings of the ACM Special Interest Group on Operating Systems Asia-Pacific Workshop on Systems, Hong Kong, 4–5 August 2016; pp. 1–7. [Google Scholar]
- Duan, Z.; Liu, H.; Liao, X.; Hai, J. HME: A lightweight emulator for hybrid memory. In Proceedings of the Design, Automation & Test in Europe Conference & Exhibition, Dresden, Germany, 19–23 March 2018. [Google Scholar]
- Boehm, H.J.; Chakrabarti, D.R.; Bhandari, K. Atlas: Leveraging Locks for Non-volatile Memory Consistency. ACM Sigplan Not. Mon. Publ. Spec. Interest Group Program. Lang. 2014, 19, 433–452. [Google Scholar]
- Lu, Y.; Shu, J.; Chen, Y.; Li, T. Octopus: An rdma-enabled distributed persistent memory file system. In Proceedings of the Annual Technical Conference, Santa Clara, CA, USA, 12–14 July 2017; pp. 773–785. [Google Scholar]
- Nawab, F.; Izraelevitz, J.; Kelly, T.; Morrey III, C.B.; Chakrabarti, D.R.; Scott, M.L. Dalí: A periodically persistent hash map. In Proceedings of the International Symposium on Distributed Computing, Washington, DC, USA, 26–30 June 2017; Volume 91. [Google Scholar]
- Yang, J.; Izraelevitz, J.; Swanson, S. Orion: A distributed file system for non-volatile main memory and RDMA-capable networks. In Proceedings of the Conference on File and Storage Technologies, Boston, MA, USA, 25–28 February 2019; pp. 221–234. [Google Scholar]
- Dong, M.; Chen, H. Soft updates made simple and fast on non-volatile memory. In Proceedings of the Annual Technical Conference, Santa Clara, CA, USA, 12–14 July 2017; pp. 719–731. [Google Scholar]
- Zhu, G.; Han, J.; Lee, S.; Son, Y. An Empirical Evaluation of NVM-aware File Systems on Intel Optane DC Persistent Memory Modules. In Proceedings of the International Conference on Information Networking, Jeju Island, Korea, 13–16 January 2021; pp. 559–564. [Google Scholar]
- Abulila, A.; Mailthody, V.S.; Qureshi, Z.; Huang, J.; Kim, N.S.; Xiong, J.; mei Hwu, W. FlatFlash: Exploiting the Byte-Accessibility of SSDs within a Unified Memory-Storage Hierarchy. In Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, Providence, RI, USA, 13–17 April 2019. [Google Scholar]
- Bae, D.H.; Jo, I.; Choi, Y.A.; Hwang, J.Y.; Cho, S.; Lee, D.G.; Jeong, J. 2B-SSD: The Case for Dual, Byte- and Block-Addressable Solid-State Drives. In Proceedings of the the ACM/IEEE International Symposium on Computer Architecture, Los Angeles, CA, USA, 1–6 June 2018. [Google Scholar]
- Wu, K.; Ober, F.; Hamlin, S.; Li, D. Early Evaluation of Intel Optane Non-Volatile Memory with HPC I/O Workloads. arXiv 2017, arXiv:1708.02199. [Google Scholar]
- Arulraj, J. BzTree: A High-Performance Latch-free Range Index for Non-Volatile Memory. Proc. Very Large Data Bases Endow. 2018, 11, 553–565. [Google Scholar] [CrossRef]
- Chatzistergiou, A.; Cintra, M.; Viglas, S.D. REWIND: Recovery Write-Ahead System for In-Memory Non-Volatile Data-Structures. Proc. VLDB Endow. 2015, 8, 497–508. [Google Scholar] [CrossRef] [Green Version]
- Chen, S.; Qin, J. Persistent B + -Trees in Non-Volatile Main Memory. In Proceedings of the VLDB Endowment, Kohala Coast, HI, USA, 31 August–4 September 2015; pp. 786–797. [Google Scholar]
- Ipek, E.; Condit, J.; Lee, B.; Nightingale, E.B.; Burger, D.; Frost, C.; Coetzee, D. Better I/O Through Byte-Addressable, Persistent Memory. In Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, Big Sky, MT, USA, 11–14 October 2009; pp. 133–146. [Google Scholar]
- Volos, H.; Nalli, S.; Panneerselvam, S.; Varadarajan, V.; Swift, M.M. Aerie: Flexible File-System Interfaces to Storage-Class Memory. In Proceedings of the Ninth European Conference on Computer Systems, Amsterdam, The Netherlands, 14–16 April 2014. [Google Scholar]
- Xu, J.; Kim, J.; Memaripour, A.; Swanson, S. Finding and fixing performance pathologies in persistent memory software stacks. In Proceedings of the international conference on Architectural Support for Programming Languages and Operating Systems, Atlanta, GA, USA, 2–6 April 2016; pp. 427–493. [Google Scholar]
- Kim, J.M.; Choi, J.; Kim, J.; Noh, S.H.; Min, S.L.; Cho, Y.; Kim, C.S. A low-overhead high-performance unified buffer management scheme that exploits sequential and looping references. In Proceedings of the conference on Symposium on Operating System Design & Implementation, San Diego, CA, USA, 22–25 October 2000. [Google Scholar]
- Kim, T.; Hong, D.; Hahn, S.S.; Chun, M.; Lee, S.; Hwang, J.; Lee, J.; Kim, J. Fully automatic stream management for multi-streamed SSDs using program contexts. In Proceedings of the Conference on File and Storage Technologies, Boston, MA, USA, 25–28 February 2019; pp. 295–308. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Li, X.; Zhai, Z. UHNVM: A Universal Heterogeneous Cache Design with Non-Volatile Memory. Electronics 2021, 10, 1760. https://doi.org/10.3390/electronics10151760
Li X, Zhai Z. UHNVM: A Universal Heterogeneous Cache Design with Non-Volatile Memory. Electronics. 2021; 10(15):1760. https://doi.org/10.3390/electronics10151760
Chicago/Turabian StyleLi, Xiaochang, and Zhengjun Zhai. 2021. "UHNVM: A Universal Heterogeneous Cache Design with Non-Volatile Memory" Electronics 10, no. 15: 1760. https://doi.org/10.3390/electronics10151760
APA StyleLi, X., & Zhai, Z. (2021). UHNVM: A Universal Heterogeneous Cache Design with Non-Volatile Memory. Electronics, 10(15), 1760. https://doi.org/10.3390/electronics10151760