- 无标题文档
查看论文信息

中文题名:

 

基于持久性内存的故障一致性保证机制研究

    

姓名:

 蔡长兴    

学号:

 1049731721705    

保密级别:

 公开    

论文语种:

 chi    

学科代码:

 085211    

学科名称:

 工学 - 工程 - 计算机技术    

学生类型:

 硕士    

学位:

 工程硕士    

学校:

 武汉理工大学    

院系:

 计算机科学与技术学院    

专业:

 计算机技术    

第一导师姓名:

 杜亚娟    

第一导师院系:

 武汉理工大学    

完成日期:

 2021-03-31    

答辩日期:

 2021-05-21    

中文关键词:

 

持久性内存 ; 故障一致性 ; 异地更新 ; 持久化

    

中文摘要:

大数据时代的到来和人工智能技术的快速发展,对数据存储性能、处理速度和能耗都提出了更高的要求。为了满足这一需求,研究者们提出了持久性内存系统等新型存储架构,如Intel公司最新推出的Optane等,对传统DRAM内存构建的计算机体系产生了巨大的变革。由于引入了非易失性、字节寻址、直接存取等新的特性,持久性内存具有较高的研究价值和广阔的应用前景。然而,持久性内存系统故障发生后,部分数据持久保存在内存中,使数据恢复时产生不一致问题,从而导致严重错误。因此,故障一致性问题是持久性内存系统需要解决的重要问题之一。

现有工作对持久性内存系统故障一致性保证机制开展了深入的研究,提出了日志、异地更新等技术。通过记录日志或多版本写的方式,使数据崩溃后仍可以恢复到一致性状态。然而,从时间和空间维度详细分析异地更新等现有技术,发现由于这些技术均引入了额外的写操作,导致总线延迟高、写放大等问题,对持久性内存系统的性能和寿命产生了一定的影响,因此亟需得到改进。

针对上述问题,本文的主要研究工作和创新点如下:

(1)为缓解上述问题,提出了耐久性感知的持久性内存异地更新(Endurance Aware Out-of-Place Update for Persistent Memory, EAOOP)。基于对持久性内存系统硬件的改动,引入缓冲区提供耐久性感知的内存管理,为异地更新提供地址映射,并充分利用带宽写回数据,运用异地更新技术,将划分为原始数据区域和更新数据区域的持久性内存交替使用,既保证了系统的故障一致性,又避免了冗余的数据合并操作。同时,设计了轻量级垃圾回收,并与总线执行解耦,极大减少额外写放大和带宽占用,从而降低了故障一致性保证对持久性内存寿命和性能的影响。此外,本文还为该机制设计了系统恢复的方法,并详细描述了读写访问请求的工作流程。

(2)通过模拟实验验证了EAOOP机制的有效性。基于微基准程序测试集和真实应用程序测试集,在模拟器McSimA+上实现并测试EAOOP机制。实验结果表明,EAOOP能够将事务处理吞吐量提升1.6倍,总线延迟和写数量均减少了1.3倍,显著提升持久性内存系统的性能和寿命。

参考文献:

[1] Ruocco S , Le D K . Efficient Persistence of Financial Transactions in NVM-based Cloud Data Centers[C]// International Conference on Cloud Computing Research & Innovation. IEEE, 2016.

[2] 马建光, 姜巍. 大数据的概念, 特征及其应用[J]. 国防科技, 2013 (2): 10-17.

[3] 李鑫, 陈璇, 黄志球. 面向大数据应用的混合内存架构特征分析[J]. 大数据, 2018, 4(3): 61-80

[4] 舒继武,陆游游,张佳程,等.基于非易失性存储器的存储系统技术研究进展[J].科技导报,2016(14):86-94.

[5] Boukhobza J, Rubini S, Chen R, et al. Emerging NVM: A survey on architectural integration and research challenges[J]. ACM Transactions on Design Automation of Electronic Systems (TODAES), 2017, 23(2): 1-32.

[6] Kültürsay E, Kandemir M, Sivasubramaniam A, et al. Evaluating STT-RAM as an energy-efficient main memory alternative[C]//2013 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS). IEEE, 2013: 256-267.

[7] Mao M, Cao Y, Yu S, et al. Optimizing latency, energy, and reliability of 1T1R ReRAM through cross-layer techniques[J]. IEEE Journal on Emerging and Selected Topics in Circuits and Systems, 2016, 6(3): 352-363.

[8] 张鸿斌,范捷,舒继武,等.基于相变存储器的存储系统与技术综述[J].计算机研究与发展,2014,51(8):1647-1662.

[9] Hady F T, Foong A, Veal B, et al. Platform storage performance with 3D XPoint technology[J]. Proceedings of the IEEE, 2017, 105(9): 1822-1833.

[10] Chen F, Mesnier M P, Hahn S. A protected block device for Persistent Memory. in: 30th Symposium on MASS Storage Systems and Technologies. Santa Clara, USA: IEEE Computer Society Press, June 2-6, 2014. 10-12

[11] Agarwal N, Wenisch T F. Thermostat: Application-transparent page management for two-tiered main memory[C]//Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems. 2017: 631-644.

[12] Lee B C, Ipek E, Mutlu O, et al. Architecting phase change memory as a scalable dram alternative[C]//Proceedings of the 36th annual international symposium on Computer architecture. 2009: 2-13.

[13] Condit J, Nightingale E B, Frost C, et al. Better I/O through byte-addressable, persistent memory[C]//Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles. 2009: 133-146.

[14] Intel.Intel Optane Persistent Memory [DB/OL].https://www.intel.sg/content/www/xa/en/architecture-and-technology/optane-dc-persistent-memory.html, 2020-06-27

[15] Zhou P, Zhao B, Yang J, et al. A Durable and Energy Efficient Main Memory Using Phase Change Memory Technology. ACM SIGARCH Computer Architecture News, 2009, 37(3): 24-33

[16] Qureshi M K, Srinivasan V, Rivers J A. Scalable High Performance Main Memory System Using Phase-Change Memory Technology. in: Proceedings of the 36th annual international symposium on Computer architecture. Austin, USA: ACM Association Press, June 20-24, 2009. 24-33

[17] Chen S , Gibbons P B , Nath S . Rethinking Database Algorithms for Phase Change Memory[C]// Conference on Cidr. DBLP, 2011.

[18] Mutlu O, Subramanian L. Research problems and opportunities in memory systems[J]. Supercomputing frontiers and innovations, 2015, 1(3): 19-55.

[19] Volos H, Tack A J, Swift M M. Mnemosyne: Lightweight persistent memory[J]. ACM SIGARCH Computer Architecture News, 2011, 39(1): 91-104.

[20] Zhao J, Li S, Yoon D H, et al. Kiln: Closing the performance gap between systems with and without persistence support[C]//Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). 2013: 421-432.

[21] Ren J, Zhao J, Khan S, et al. ThyNVM: Enabling software-transparent crash consistency in persistent memory systems[C]//2015 48th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). IEEE, 2015: 672-685.

[22] Cai M, Coats C C, Huang J. Hoop: efficient hardware-assisted out-of-place update for non-volatile memory[C]//2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA). IEEE, 2020: 584-596.

[23] 肖仁智, 冯丹, 胡燏翀, 等. 面向非易失内存的数据一致性研究综述[J]. 计算机研究与发展, 2020, 57(1): 85.

[24] Sheard T, Stemple D. Automatic verification of database transaction safety[J]. ACM Transactions on Database Systems (TODS), 1989, 14(3): 322-368.

[25] Silberschatz A, Kedem Z. Consistency in hierarchical database systems[J]. Journal of the ACM (JACM), 1980, 27(1): 72-80.

[26] Date C J. An introduction to database systems[M]. Pearson Education India, 2004.

[27] Moore K E, Bobba J, Moravan M J, et al. LogTM: Log-based transactional memory[C]//The Twelfth International Symposium on High-Performance Computer Architecture, 2006. IEEE, 2006: 254-265.

[28] Liu M, Zhang M, Chen K, et al. DudeTM: Building durable transactions with decoupling for persistent memory[J]. ACM SIGPLAN Notices, 2017, 52(4): 329-343.

[29] Nalli S, Haria S, Hill M D, et al. An analysis of persistent memory use with WHISPER[J]. ACM SIGPLAN Notices, 2017, 52(4): 135-148.

[30] Gu J, Yu Q, Wang X, et al. Pisces: a scalable and efficient persistent transactional memory[C]//2019 {USENIX} Annual Technical Conference ({USENIX}{ATC} 19). 2019: 913-928.

[31] Krishnan R M, Kim J, Mathew A, et al. Durable Transactional Memory Can Scale with TimeStone[C]//Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems. 2020: 335-349.

[32] Kannan S, Gavrilovska A, Schwan K, et al. Optimizing checkpoints using nvm as virtual memory[C]//2013 IEEE 27th International Symposium on Parallel and Distributed Processing. IEEE, 2013: 29-40.

[33] Wei X, Feng D, Tong W, et al. NICO: Reducing Software-Transparent Crash Consistency Cost for Persistent Memory[J]. IEEE Transactions on Computers, 2018, 68(9): 1313-1324.

[34] Nguyen T, Wentzlaff D. PiCL: A software-transparent, persistent cache log for nonvolatile main memory[C]//2018 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). IEEE, 2018: 507-519.

[35] Zhao J, Mutlu O, Xie Y. FIRM: Fair and high-performance memory control for persistent memory systems[C]//2014 47th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). IEEE, 2014: 153-165.

[36] Kim W H, Kim J, Baek W, et al. NVWAL: Exploiting NVRAM in write-ahead logging[J]. ACM SIGPLAN Notices, 2016, 51(4): 385-398.

[37] Hwang D, Kim W H, Won Y, et al. Endurable transient inconsistency in byte-addressable persistent B+-tree[C]//16th {USENIX} Conference on File and Storage Technologies ({FAST} 18). 2018: 187-200.

[38] Cohen N, Aksun D T, Avni H, et al. Fine-Grain Checkpointing with In-Cache-Line Logging[C]//Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems. 2019: 441-454.

[39] Hu Q, Ren J, Badam A, et al. Log-structured non-volatile main memory[C]//2017 {USENIX} Annual Technical Conference ({USENIX}{ATC} 17). 2017: 703-717.

[40] Mohan C, Haderle D, Lindsay B, et al. ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging[J]. ACM Transactions on Database Systems (TODS), 1992, 17(1): 94-162.

[41] Condit J, Nightingale E B, Frost C, et al. Better I/O through byte-addressable, persistent memory[C]//Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles. 2009: 133-146.

[42] Wang Y M, Huang Y, Vo K P, et al. Checkpointing and its applications[C]//Twenty-Fifth International Symposium on Fault-Tolerant Computing. Digest of Papers. IEEE, 1995: 22-31.

[43] Moody A, Bronevetsky G, Mohror K, et al. Design, modeling, and evaluation of a scalable multi-level checkpointing system[C]//SC'10: Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis. IEEE, 2010: 1-11.

[44] Poremba M, Zhang T, Xie Y. Nvmain 2.0: A user-friendly memory simulator to model (non-) volatile memory systems[J]. IEEE Computer Architecture Letters, 2015, 14(2): 140-143.

[45] Sanchez D, Kozyrakis C. ZSim: Fast and accurate microarchitectural simulation of thousand-core systems[J]. ACM SIGARCH Computer architecture news, 2013, 41(3): 475-486.

[46] Volos H, Magalhaes G, Cherkasova L, et al. Quartz: A lightweight performance emulator for persistent memory software[C]//Proceedings of the 16th Annual Middleware Conference. 2015: 37-49.

[47] Rosenfeld P, Cooper-Balis E, Jacob B. DRAMSim2: A cycle accurate memory system simulator[J]. IEEE computer architecture letters, 2011, 10(1): 16-19.

[48] Binkert N, Beckmann B, Black G, et al. The gem5 simulator[J]. ACM SIGARCH computer architecture news, 2011, 39(2): 1-7.

[49] Ahn J H, Li S, Seongil O, et al. McSimA+: A manycore simulator with application-level+ simulation and detailed microarchitecture modeling[C]//2013 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS). IEEE, 2013: 74-85.

[50] McCalpin J D. Memory bandwidth and machine balance in current high performance computers[J]. IEEE computer society technical committee on computer architecture (TCCA) newsletter, 1995, 2(19–25).

[51] Bienia C, Kumar S, Singh J P, et al. The PARSEC benchmark suite: Characterization and architectural implications[C]//Proceedings of the 17th international conference on Parallel architectures and compilation techniques. 2008: 72-81.

中图分类号:

 TP333    

条码号:

 002000062819    

馆藏号:

 TD10049472    

馆藏位置:

 403    

备注:

 403-西院分馆博硕论文库;203-余家头分馆博硕论文库    

无标题文档

   建议浏览器: 谷歌 火狐 360请用极速模式,双核浏览器请用极速模式