计算机科学 ›› 2018, Vol. 45 ›› Issue (7): 78-83.doi: 10.11896/j.issn.1002-137X.2018.07.012

• 第三十三届全国信息存储技术学术会议 • 上一篇    下一篇

NMST:一种基于线段树的持久性内存管理优化方法

侯泽毅1,万虎1,徐远超1,2   

  1. 首都师范大学信息工程学院 北京1000481;
    中国科学院计算技术研究所计算机体系结构国家重点实验室 北京1001902
  • 收稿日期:2017-07-29 出版日期:2018-07-30 发布日期:2018-07-30
  • 作者简介:侯泽毅(1993-),男,硕士生,主要研究方向为非易失存储技术;万 虎(1991-),男,博士生,主要研究方向为非易失存储技术;徐远超(1975-),男,博士,副教授,主要研究方向为计算机系统,E-mail:xuyuanchao@cnu.edu.cn(通信作者)。
  • 基金资助:
    本文受计算机体系结构国家重点实验室开放课题(CARCH201503),国家留学基金委和北京市成像技术高精尖创新中心资助。

NMST:A Persistent Memory Management Optimization Approach Based on Segment Tree

HOU Ze-yi1,WAN Hu1,XU Yuan-chao1,2   

  1. College of Information Engineering,Capital Normal University,Beijing 100048,China1;
    State Key Laboratory of Computer Architecture,Institute of Computing Technology,Chinese Academy of Sciences,Beijing 100190,China2
  • Received:2017-07-29 Online:2018-07-30 Published:2018-07-30

摘要: 新型非易失存储介质(Non-Volatile Memory,NVM)的出现引发了编程模型的革新。现有的基于函数库的编程模型为存储系统提供的ACID特性解决了数据一致性问题,但是在分配持久性内存时,延迟较大,不能很好地满足应用程序对动态内存分配速度的要求。针对现有函数库编程模型中存在持久化内存管理和分配低效的问题,以目前最具代表性的函数库编程模型NVML为基础,提出了一种基于线段树的持久性内存管理分配优化方法NMST;另外,针对线段树在持久性内存分配过程中维护连续空间时开销较大的问题,提出构造多粒度叶子结点的线段树的方法。实验结果表明,相比于NVML原始方法,NMST方法在分配持久性内存时使延迟降低了36.9%,而优化后的NMST方法在分配持久性内存时使延迟降低了43.6%。实验结果也证明,性能提升的大小与调用NVML函数库的程序中实际持久性内存分配的次数及粒度紧密相关。

关键词: 编程模型, 持久性内存管理, 非易失存储介质, 线段树

Abstract: The emergence of non-volatile memory (NVM) has led to the innovation of the programming model.The exi-sting programming models based on function library provide ACID characteristics to solve the problem of data consistency for memory system.However,they introduce huge overhead when allocating persistent memory dynamically,thereby degrading the applications’ performance.In this paper,an optimization approach based on segment tree was proposed to speedup persistent memory allocation and management.NMST targets NVM Library (NVML),namely a representative library programming model.Furthermore,an optimized NMST was proposedto mitigate the huge overhead of segment tree in maintaining continuous space by constructing segment tree with multi-granularity leaf nodes.The experimental results show that NMST reduces the latency by 36.9% compared with traditional methods when allocating persistent memory,and the optimized NMST reduces the latency by 43.6%.The results also demonstrate that performance improvement is closely related to the quantity and granularity of persistent memory allocation in programs.

Key words: Non-volatile memory, Persistent memory management, Programming model, Segment tree

中图分类号: 

  • TP391
[1]WONG H S P,RAOUX S,KIM S B,et al.Phase Change Memory [J].Proceedings of the IEEE,2010,98(12):2201-2227.
[2]APALKOV D,KHVALKOVSKIY A,WATTS S,et al.Spin-transfer torque magnetic random access memory (STT-MRAM) [J].ACM Journal on Emerging Technologies in Computing Systems,2013,9(2):13.
[3]LEE C B,KIM C J,LEE D S.Resistive random access memory:US,US 20090302315 A1 [P].2009.
[4]Intel and Micron.Intel and micron produce breakthrough memory technology[EB/OL].(2015-07-28)[2017-02-01].https://newsroom.intel.com/news -releases/intel-and-micron-produce-breakthrough-memory-technology.
[5]JIANG T,ZHANG Q,HOU R,et al.Understanding the beha-vior of in-memory computing workloads[C]∥IEEE International Symposium on Workload Characterization.IEEE,2014:22-30.
[6]NALLI S,HARIA S,HILL M D,et al.An analysis of persistent memory use with WHISPER[C]∥Proceedings of the 22nd International Conference on Architectural Support for Programming Languages and Operating Systems.ACM,2017:135-148.
[7]Intel.NVML:Non-volatile memory library[EB/OL].[2017-02-01].https://github.com/pmem/nvml.
[8]VENKATARAMAN S,TOLIA N,RANGANATHAN P,et al.Consistent and durable data structures for non-volatile byte-addressable memory[C]∥Proceedings of the 9th USENIX Conference on File and Storage Technologies.2011:61-75.
[9]YANG J,WEI Q,CHEN C,et al.Nv-tree:reducing consistency cost for nvm-based single level systems[C]∥Proceedings of the 13th USENIX Conference on File and Storage Technologies.2015:167-181.
[10]CONDIT J,NIGHTINGALE E B,FROST C,et al.Better i/othrough byte-addressable,persistent memory[C]∥Proceedings of the 22nd ACM Symposium on Operating Systems Principles.ACM,2009:133-146.
[11]WU X,QIU S,NARASIMHA R A L.Scmfs:A file system for storage class memory and its extensions[J].ACM Transactions on Storage,2013,9(3):7.
[12]DULLOOR S R,KUMAR S,KESHAVAMURTHY A,et al.System software for persistent memory[C]∥Proceedings of the Ninth European Conference on Computer Systems.ACM,2014:15.
[13]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.2016:323-338.
[14]VOLOS H,TACK A J,SWIFT M M.Mnemosyne:Lightweight persistent memory[C]∥ACM SIGARCH Computer Architecture News.ACM,2011,39(1):91-104.
[15]COBURN J,CAULFIELD A M,AKEL A,et al.NV-Heaps:making persistent objects fast and safe with next-generation,non-volatile memories[J].ACM Sigplan Notices,2011,46(3):105-118.
[16]VOLOS H,NALLI S,PANNEERSELVAM S,et al.Aerie:fle-xible file-system interfaces to storage-class memory[C]∥Proceedings of the Ninth European Conference on Computer Systems.ACM,2014:14.
[17]GAO L S,IYER B.Analyzing Complementarities Using Software Stacks for Software Industry Acquisitions [J].Journal of Management Information Systems,2006,23(2):119-147.
[18]SCHWALB D,BERNING T,FAUST M,et al.nvm_malloc:Memory allocation for nvram[C]∥Accelerating Data Management Systems Using Modern Processor and Storage Architectures Workshop.In conjunction with VLDB,2015.
[19]BHANDARI,KUMUD,DHRUVA R,et al.Makalu:Fast reco-verable allocation of non-volatile memory[C]∥Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming,Systems,Languages,and Applications.ACM,2016.
[20]HANANDEH F,AISMADI I,KWATHA M M.Evaluating alternative structures for prefix trees∥Proceedings of the World Congress on Engineering and Computer Science.2014:109-114.
[1] 郭杰, 高希然, 陈莉, 傅游, 刘颖.
用数据驱动的编程模型并行多重网格应用
Parallelizing Multigrid Application Using Data-driven Programming Model
计算机科学, 2020, 47(8): 32-40. https://doi.org/10.11896/jsjkx.200500093
[2] 吴峻峰,许跃生,张永东,江颖,叶纬材.
CC$:一种面向分布式众核平台的并行编程语言
CC$:A Parallel Programming Language for Distributed Many-core Platforms
计算机科学, 2013, 40(3): 128-132.
[3] .
两种基于分离/匹配机制的普适计算编程模型比较与研究

计算机科学, 2008, 35(11): 248-250.
[4] 邓文卓 朱庆生 曹忠厚.
基于SOA构建随需应变的企业应用

计算机科学, 2006, 33(B12): 103-106.
[5] 潘秋菱 刘宗田.
极端编程模型——新颖的软件工程模型

计算机科学, 2000, 27(12): 97-100.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!