欢迎访问中国科学院大学学报,今天是
计算机科学

一种计算机系统内存扩展方案

  • 郝晓冉 ,
  • 陈岚 ,
  • 倪茂 ,
  • 潘磊
展开
  • 中国科学院微电子研究所 EDA中心, 北京 100029

收稿日期: 2019-09-26

  修回日期: 2019-11-19

  网络出版日期: 2021-05-17

基金资助

Supported by National Internet of Things and Smart City Key Project Docking (Z181100003518002), Beijing Science and Technology Project(Z171100001117147), and Beijing Natural Science Foundation(4184106)

A method to extend available main memory for computer systems

  • HAO Xiaoran ,
  • CHEN Lan ,
  • NI Mao ,
  • PAN Lei
Expand
  • EDA Center of Chinese Academy of Sciences, Institute of Microelectronics, Chinese Academy of Sciences, Beijing 100029, China

Received date: 2019-09-26

  Revised date: 2019-11-19

  Online published: 2021-05-17

Supported by

Supported by National Internet of Things and Smart City Key Project Docking (Z181100003518002), Beijing Science and Technology Project(Z171100001117147), and Beijing Natural Science Foundation(4184106)

摘要

在计算机系统中,当DRAM内存空间即将用尽时,操作系统将启动内存交换机制将内存中不常用的数据换出至底层存储设备(如硬盘)中,当此数据再次被访问时需将其重新换入至内存中。内存数据的换入换出通常以页(4 KB)为单位进行,当被换出的内存页中包含其他热点数据时,会造成频繁的内存数据换入换出,带来冗余的系统I/O操作,影响系统性能。针对这一问题,利用SSD扩展DRAM内存空间,提出一种以对象为粒度的内存管理方案,在选择被换出内存数据时可以对象为单位,降低热点数据被换出内存的可能性,从而减少不必要的系统I/O操作。与Linux内存交换机制相比,本文提出的内存管理方案可以提升最高73.3%的系统性能。

本文引用格式

郝晓冉 , 陈岚 , 倪茂 , 潘磊 . 一种计算机系统内存扩展方案[J]. 中国科学院大学学报, 2021 , 38(3) : 423 -432 . DOI: 10.7523/j.issn.2095-6134.2021.03.017

Abstract

In operating systems, swapping mechanism provides extended main memory space for memory-intensive applications. However, page-granularity swapping causes extra system I/O when objects are smaller than a page. This paper uses NAND flash-based SSD to extend DRAM main memory, and proposes an object-granularity hybrid main memory management scheme to reduce extra system I/O by caching as many hot objects as possible in DRAM. Compared to Linux-swap system, the proposed memory management scheme improves system performance by up to 47.5% for microbenchmarks and 73.3% for real-world memory-intensive workloads.

参考文献

[1] Wang Q. Research on novel memory system based on non-volatile memory technology[D]. Beijing:Institute of Microelectronics of the Chinese Academy of Sciences, 2013(in Chinese).
[2] Li G, Chen L, Hao X R. Linux memory management algorithm based on hybrid memory architecture PDRAM[J]. Microelectronics & Computer, 2014, 31(5):14-20(in Chinese).
[3] Ved S N, Awasthi M. Exploring non-volatile main memory architectures for handheld devices[C]//Proceedings of Design, Automation & Test in Europe Conference & Exhibition. Dresden:IEEE, 2018:1528-1531.
[4] Saxena M, Swift M M. Flashvm:virtual memory management on flash[C]//Proceedings of USENIX Annual Technical Conference. Boston:USENIX Association, 2010:14.
[5] Guo W C, Chen K, Feng H, et al. MARS:Mobile application relaunching speed-up through flash-aware page swapping[J]. IEEE Transactions on Computers, 2016, 65(3):916-928.
[6] Yoon S K, Yoon Y S, Burgstaller B, et al. Self-learnable cluster-based prefetching method for DRAM-flash hybrid main memory architecture[J]. ACM Journal on Emerging Technologies in Computing Systems, 2019, 15(1):10.
[7] Wang C, Vazhkudai S S, Max S, et al. NVMalloc:exposing an aggregate SSD store as a memory partition in extreme-scale machines[C]//Proceedings of Parallel & Distributed Processing Symposium. Shanghai:IEEE, 2012:957-968.
[8] Van E B, Hsieh H, Ames S, et al. DI-MMAP-a scalable memory-map runtime for out-of-core data-intensive applications[J]. Cluster Computing, 2015, 18(1):15-28.
[9] Mogul J C, Argollo E, Shah M, et al. Operating system support for NVM+DRAM hybrid main memory[C]//Proceedings of Workshop on Hot Topics in Operating Systems. Monte Verità:USENIX Association, 2009:1-8.
[10] Xu J, Swanson S. NOVA:a log-structured file system for hybrid volatile/non-volatile main memories[C]//Proceedings of the 14th USENIX Conference on File and Storage Technologies. Santa Clara:USENIX Association, 2016:323-338.
[11] Yoshida E, Kazama S, Kuwamura S, et al. Memory expansion technology for large-scale data processing using software-controlled SSD[C]//2018 IEEE Symposium on VLSI Circuits, Honolulu:IEEE, 2018:59-60.
[12] Meza J, Luo Y X, Khan S, et al. A case for efficient hardware/software cooperative management of storage and memory[C]//Proceedings of the Workshop on Energy-Efficient Design. 2013:1-7.
[13] Kawata H, Oikawa S. A feasibility study of hybrid DRAM and flash memory management Unit[C]//Proceedings of the 3rd International Conference on Advanced Applied Informatics. Kitakyushu:IEEE, 2014:694-698.
[14] Badam A, Pai V S. SSDAlloc:Hybrid SSD/RAM memory management made easy[C]//Proceedings of the 8th USENIX Conference on Networked Systems Design and Implementation. Boston:USENIX Association, 2011:211-224.
[15] Badam A, Pai V S, Nellans D W. Better flash access via shape-shifting virtual memory pages[C]//Proceedings of the 1st Timely Results on Operating Systems Principles Conference. New York:ACM, 2013:1-14.
[16] Liu T, Nie X F, Xing J W, et al. Memory management in worm simulation based on small object memory allocation technique on the GTNetS[J]. Journal of University of Chinese Academy of Sciences, 2012, 29(1):131-135(in Chinese).
[17] Wang L Y, Chen L, Hao X R. LAB-LRU:a life-aware buffer management algorithm for NAND flash memory[J]. IEICE Transactions on Information and Systems, 2016, 99(12):3172-3176(in Chinese).
文章导航

/