|
›› 2016,Vol. 31 ›› Issue (4): 836-848.doi: 10.1007/s11390-016-1666-y
所属专题: Computer Architecture and Systems
• Special Section on Selected Paper from NPC 2011 • 上一篇
Yuan-Chao Xu1,2, Member, CCF, ACM, Hu Wan1, Ke-Ni Qiu1, Member, CCF, ACM, Tao Li3, Member, ACM, IEEE, and Wei-Gong Zhang1, Senior Member, CCF
Yuan-Chao Xu1,2, Member, CCF, ACM, Hu Wan1, Ke-Ni Qiu1, Member, CCF, ACM, Tao Li3, Member, ACM, IEEE, and Wei-Gong Zhang1, Senior Member, CCF
新型的字节寻址、非易失存储技术,如相变存储器(PCM)、自旋转移力矩随机存取内存(STT-RAM),同时提供了传统易失性内存的性能,也提供了非易失存储的持久性,使得构建单级存储系统成为可能。为了确保电源失效或系统崩溃时持久化更新的数据一致性,系统要求频繁地将缓存中的数据写回到非易失性内存中,从而引入了不小的同步开销。为了缓解同步开销,本文提出两种技术。一是使用非易失的STT-RAM作为CPU内部的便签式存储器,专门用于存放日志恢复信息,由于避免了片外的日志操作,从而消除了写日志阶段的同步开销。二是提出自适应同步策略,根据数据访问模式选择缓存模式,从而消除了检查点阶段的不必要的同步开销。评估结果表明,与传统的事务持久化内存相比,本文提出的两种技术将系统的整体性能提高了2.15倍到2.39倍。
[1] Jeong S, Lee K, Lee S, Son S, Won Y. I/O stack optimization for smartphones. In Proc. the 2013 USENIX Annual Technical Conference, Jun. 2013, pp.309-320.[2] Fryer D, Sun K, Mahmood R, Cheng T, Benjamin S, Goel A, Brown A D. Recon:Verifying file system consistency at runtime. In Proc. the 10th USENIX Conference on File and Storage Technologies, Feb. 2012, Article No. 7.[3] Pillai T S, Chidambaram V, Alagappan R, Al-Kiswany S, Arpaci-Dusseau A C, Arpaci-Dusseau R H. All file systems are not created equal:On the complexity of crafting crash-consistent applications. In Proc. the 11th USENIX Conference on Operating Systems Design and Implementation, Oct. 2014, pp.433-448.[4] Lu L, Arpaci-Dusseau A C, Arpaci-Dusseau R H, Lu S. A study of linux file system evolution. In Proc. the 11th USENIX Conference on File and Storage Technologies, Feb. 2013, pp.31-44.[5] Zheng M, Tucek J, Qin F, Lillibridge M. Understanding the robustness of SSDS under power fault. In Proc. the 11th USENIX Conference on File and Storage Technologies, Feb. 2013, pp.271-284.[6] Narayanan D, Hodson O. Whole-system persistence. In Proc. the 17th International Conference on Architectural Support for Programming Languages and Operating Systems, Mar. 2012, pp.401-410.[7] Pillai T S, Chidambaram V, Alagappan R, Al-Kiswany S, Arpaci-Dusseau A C, Arpaci-Dusseau R H. Crash consistency. Communications of the ACM, 2015, 58(10):46-51.[8] Raoux S, Burr G, Breitwisch M, Rettner C, Chen Y, Shelby R, Salinga M, Krebs D, Chen S H, Lung H, Lam C. Phase-change random access memory:A scalable technology. IBM Journal of Research and Development, 2008, 52(4.5):465-479.[9] Hosomi M, Yamagishi H, Yamamoto T, Bessho K, Higo Y, Yamane K, Yamada H, Shoji M, Hachino H, Fukumoto C, Nagao H, Kano H. A novel nonvolatile memory with spin torque transfer magnetization switching:Spin-RAM. In Proc. the International Electron Devices Meeting, Dec. 2005, pp.459-462.[10] Strukov D B, Snider G S, Stewart D R, Williams R S. The missing memristor found. Nature, 2008, 453(7191):80-83.[11] Liu R S, Shen D Y, Yang C L, Yu S C, Wang C Y M. NVM duet:Unified working memory and persistent store architecture. In Proc. the 19th International Conference on Architectural Support for Programming Languages and Operating Systems, Mar. 2014, pp.455-470.[12] Meza J, Luo Y, Khan S, Zhao J, Xie Y, Mutlu O. A case for effcient hardware-software cooperative management of storage and memory. In Proc. the 5th Workshop on Energy-Efficient Design, Jun. 2013.[13] Swanson S, Caulfield A. Refactor, reduce, recycle:Restructuring the I/O stack for the future of storage. Computer, 2013, 46(8):52-59.[14] Xia F, Jiang D J, Xiong J, Sun N H. A survey of phase change memory systems. Journal of Computer Science and Technology, 2015, 30(1):121-144.[15] Herlihy M, Moss J E B. Transactional memory:Architectural support for lock-free data structures. In Proc. the 20th Int. Symp. Computer Architecture, May 1993, pp.289-300.[16] Felber P, Fetzer C, Riegel T. Dynamic performance tuning of word-based software transactional memory. In Proc. the 13th ACM SIGPLAN Symp. Principles and Practice of Parallel Programming, Feb. 2008, pp.237-246.[17] Wang Z, Yi H, Liu R et al. Persistent transactional memory. IEEE Computer Architecture Letters, 2015, 14(1):58-61.[18] Lu Y, Shu J, Sun L. Blurred persistence in transactional persistent memory. In Proc. the 31st Symposium on Mass Storage Systems and Technologies, May 30-June 5, 2015.[19] Hagmann R. Reimplementing the cedar file system using logging and group commit. In Proc. the 11th ACM Symp. Operating Systems Principles, Nov. 1987, pp.155-162.[20] Yang J, Wei Q, Chen C, Wang C, Yong K L, He B. NV-Tree:Reducing consistency cost for NVM-based single level systems. In Proc. the 13th USENIX Conference on File and Storage Technologies, Feb. 2015, pp.167-181.[21] Zhao J, Li S, Yoon D H et al. Kiln:Closing the performance gap between systems with and without persistence support. In Proc. the 46th Annual IEEE/ACM Int. Symp. Microarchitecture, Dec. 2013, pp.421-432.[22] Banakar R, Steinke S, Lee B S, Balakrishnan M, Marwedel P. Scratchpad memory:Design alternative for cache on-chip memory in embedded systems. In Proc. the 10th Int. Symp. Hardware/Software Codesign, May 2002, pp.73-78.[23] Volos H, Tack A J, Swift M M. Mnemosyne:Lightweight persistent memory. In Proc. the 16th International Conference on Architectural Support for Programming Languages and Operating Systems, Mar. 2011, pp.91-104.[24] Coburn J, Caulfield A M, Akel A et al. NV-Heaps:Making persistent objects fast and safe with next-generation, nonvolatile memories. In Proc. the 16th Int. Conf. Architectural Support for Programming Languages and Operating Systems, Mar. 2011, pp.105-118.[25] Wheeler R. fs_mark:A file-system stress test, Mar. 2013. http://sourceforge.net/projects/fsmark. Jun. 2015.[26] Kim W, Nam B, Park D, Won Y. Resolving journaling of journal anomaly in android I/O:Multi-version B-tree with lazy split. In Proc. the 12th USENIX Conference on File and Storage Technologies, Feb. 2014, pp.273-285.[27] Zhang Y, Swanson S. A study of application performance with non-volatile main memory. In Proc. the 31st Symposium on Mass Storage Systems and Technologies, May 30-June 5, 2015.[28] Condit J, Nightingale E B, Frost C et al. Better I/O through byte-addressable, persistent memory. In Proc. the 22nd ACM Symp. Operating Systems Principles, Oct. 2009, pp.133-146.[29] Pelley S, Chen P M, Wenisch T F. Memory persistency. In Proc. the 41st Annual International Symposium on Computer Architecuture, Jun. 2014, pp.265-276.[30] Lu Y, Shu J, Sun L, Mutlu O. Loose-ordering consistency for persistent memory. In Proc. the 32nd IEEE Int. Conf. Computer Design, Oct. 2014, pp.216-223.[31] Intel. Intel® architecture instruction set extensions programming reference, Oct. 2014. https://software.intel.com/enus/isa-extensions. Jun. 2015.[32] Bhandari K, Chakrabarti D R. Implications of CPU caching on byte-addressable non-volatile memory programming. Technical Report HPL-2012-236, HP Laboratories, 2012.[33] Rao D S, Kumar S, Keshavamurthy A et al. System software for persistent memory. In Proc. the 9th European Conf. Computer Systems, Apr. 2014, Article No. 15.[34] Smullen C, Mohan V, Nigam A, Gurumurthi S, Stan M. Relaxing non-volatility for fast and energy-efficient STT-RAM caches. In Proc. the 17th International Conference on High Performance Computer Architecture, Feb. 2011, pp.50-61.[35] Intel. Intel® 64 and IA-32 architectures software developer manuals, Sept. 2014. https://software.intel.com/enus/isa-extensions. Jun. 2015.[36] Jeong S, Lee K, Hwang J et al. AndroStep:Android storage performance analysis tool. In Proc. the 1st European Workshop on Mobile Engineering, Feb. 2013, pp.327-340.[37] Wang T, Johnson R. Scalable logging through emerging non-volatile memory. Proc. the VLDB Endowment, 2014, 7(10):865-876.[38] Sun L, Lu Y, Shu J. DP2:Reducing transaction overhead with differential and dual persistency in persistent memory. In Proc. the 12th ACM International Conference on Computing Frontiers, May 2015, Article No. 24. |
No related articles found! |
|
版权所有 © 《计算机科学技术学报》编辑部 本系统由北京玛格泰克科技发展有限公司设计开发 技术支持:support@magtech.com.cn 总访问量: |