计算机科学 ›› 2018, Vol. 45 ›› Issue (7): 78-83.doi: 10.11896/j.issn.1002-137X.2018.07.012
侯泽毅1,万虎1,徐远超1,2
HOU Ze-yi1,WAN Hu1,XU Yuan-chao1,2
摘要: 新型非易失存储介质(Non-Volatile Memory,NVM)的出现引发了编程模型的革新。现有的基于函数库的编程模型为存储系统提供的ACID特性解决了数据一致性问题,但是在分配持久性内存时,延迟较大,不能很好地满足应用程序对动态内存分配速度的要求。针对现有函数库编程模型中存在持久化内存管理和分配低效的问题,以目前最具代表性的函数库编程模型NVML为基础,提出了一种基于线段树的持久性内存管理分配优化方法NMST;另外,针对线段树在持久性内存分配过程中维护连续空间时开销较大的问题,提出构造多粒度叶子结点的线段树的方法。实验结果表明,相比于NVML原始方法,NMST方法在分配持久性内存时使延迟降低了36.9%,而优化后的NMST方法在分配持久性内存时使延迟降低了43.6%。实验结果也证明,性能提升的大小与调用NVML函数库的程序中实际持久性内存分配的次数及粒度紧密相关。
中图分类号:
[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. |
|