Abstract
Persistent memory has the potential to become universal storage for memory and storage uses. Unfortunately, our system architecture is good fit for two-level storage model with DRAM and storage. It incurs two of important performance overheads. First is higher latency and degrading concurrent performance due to the requirements of persistence and consistency of persistent memory. Another is to abstract in-memory objects into file although these in-memory objects are already persistent, or to load data objects from files even they are in memory. We propose a hybrid storage model with a persistent objects management system to manage in-persistent memory data sets. Persistent memory plays dual roles of memory and storage, CPU directly access in-persistent memory data sets, and these data sets are not required serializing or de-serializing into files, managed by persistent object management system. To lower overheads introduced by high latency and consistence of persistent memory, DRAM is used as buffer, shifting persistency and consistence from each application to our management process, named persistent memory server engine. The experiment results show that our prototype can benefit file-intensive, data-intensive applications and relational databases, providing 15–63% better performance than persistent heap and persistent memory file systems using direct access method.
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11277-018-5418-x/MediaObjects/11277_2018_5418_Fig1_HTML.gif)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11277-018-5418-x/MediaObjects/11277_2018_5418_Fig2_HTML.gif)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11277-018-5418-x/MediaObjects/11277_2018_5418_Fig3_HTML.gif)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11277-018-5418-x/MediaObjects/11277_2018_5418_Fig4_HTML.gif)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11277-018-5418-x/MediaObjects/11277_2018_5418_Fig5_HTML.gif)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11277-018-5418-x/MediaObjects/11277_2018_5418_Fig6_HTML.gif)
Similar content being viewed by others
References
Freitas, R. F., & Wilcke, W. W. (2008). Storage-class memory: the next storage system technology. IBM Journal of Research and Development, 52(4), 439–447.
Burr, G. W., Kurdi, B. N., Scott, J. C., Lam, C. H., Gopalakrishnan, K., & Shenoy, R. S. (2008). Overview of candidate device technologies for storage-class memory. Journal IBM Journal of Research and Development, 52, 449–464.
Coburn, J., Caulfield, A. M., Akel, A., Grupp, L. M., Gupta, R. K., Jhala, R., et al. (2011). NV-Heaps: Making persistent objects fast and safe with next-generation, non-volatile memories. New York, NY: ACM.
Volos, H., Tack, A. J., & Swift, M. M. (2011). Mnemosyne: lightweight persistent memory. Newport Beach, CA: ACM.
Condit, J., Nightingale, E. B., Frost, C., Ipek, E., Lee, B., Burger, D., et al. (2009). Better I/O through byte-addressable, persistent memory. New York, NY: ACM.
Xiaojian, W., Reddy, A. L. N. (2011). SCMFS: A file system for storage class memory. Seattle, Washington, USA.
Dulloor, S. R., Kumar, S., Keshavamurthy, A., Lantz, P., Reddy, D., Sankaran, R., et al. (2014). System software for persistent memory. Amsterdam: ACM.
Volos, H., Nalli, S., Panneerselvam, S., Varadarajan, V., Saxena, P., & Swift, M. M. (2014). Aerie: Flexible file-system interfaces to storage-class memory. Amsterdam: ACM.
Kang, Y., Yang, J., & Miller, E. L. (2011). Object-based SCM: An efficient interface for storage class memories.
Narayanan, D., & Hodson, O. (2012). Whole-system persistence. New York, NY: ACM.
Wenisch, S. P. P. M., & Michigan, U. O. (2014). Memory Persistency. In Proceedings of the ISCA (2014).
Zhao, J., Li, S., Yoon, D., Xie, Y., & Jouppi, N. (2013). Kiln: closing the performance gap between systems with and without persistence support. ACM.
Tian, Y., & Wang, F. (2016). A unified access manner for storage-class memory. In Proceedings of the ICPADS. Wuhan, Hubei.
Qureshi, M. K., Srinivasan, V., & Rivers, J. A. (2009). Scalable high performance main memory system using phase-change memory technology. Austin, TX: ACM.
Hung-Wei Tseng, Q. Z. Y. Z. (2016). Morpheus: Creating application objects efficiently for heterogeneous computing. In Proceedings of the ISCA.
Raoux, S., Burr, G. W., Breitwisch, M. J., Rettner, C. T., Chen, Y., Shelby, R. M., et al. (2008). Phase-change random access memory: A scalable technology. IBM Journal of Research and Development, 52(4–5), 465–480.
Zhou, P., Zhao, B., Yang, J., & Zhang, Y. (2009). A durable and energy efficient main memory using phase change memory technology. Austin, TX: ACM.
Lee, B. C., Ipek, E., Mutlu, O., & Burger, D. (2009). Architecting phase change memory as a scalable dram alternative. Austin, TX: ACM.
Shin, W., Yang, J., Choi, J., & Kim, L. (2014). NUAT: A non-uniform access time memory controller.
Ramos, L. E., Gorbatov, E., & Bianchini, R. (2011). Page placement in hybrid memory systems. New York, NY: ACM.
Wang, C., Vazhkudai, S. S., Ma, X., Meng, F., Kim, Y., & Engelmann, C. (2012). NVMalloc: Exposing an aggregate SSD store as a memory partition in extreme-scale machines. In Proceedings of the IPDPS.
Liu, R., Shen, D., Yang, C., Yu, S., & Wang, C. M. (2014). NVM duet: Unified working memory and persistent store architecture. New York, NY: ACM.
Acknowledgements
The work was partly supported by National Basic Research 973 Program of China under Grant No. 2011CB302301; NSFC No. 61025008, 61173043, and 61232004; 863 Project 2013AA013203; Electronic Development fund of Information Industry Ministry. The work was also supported by Key Laboratory of Information Storage System, Ministry of Education, China. The authors are also grateful to anonymous reviews for their feedback.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Tian, Y., Wang, F. Using DRAM Buffer to Reduce Persistence and Consistence Overheads of Persistent Memory. Wireless Pers Commun 102, 3879–3896 (2018). https://doi.org/10.1007/s11277-018-5418-x
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11277-018-5418-x