›› 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   

  1. 1 College of Information Engineering, Capital Normal University, Beijing 100048, China;
    2 State Key Laboratory of Computer Architecture, Institute of Computing Technology, Chinese Academy of Sciences Beijing 100190, China;
    3 Department of Electrical and Computer Engineering, University of Florida, Gainesville, FL 32611, U.S.A
  • 收稿日期:2015-06-01 修回日期:2016-04-07 出版日期:2016-07-05 发布日期:2016-07-05
  • 作者简介:Yuan-Chao Xu received his B.S. degree in computer science from Beijing Institute of Technology, Beijing, in 1998, M.S. degree in computer science from Beihang University, Beijing, in 2002, and Ph.D. degree in computer architecture from Institute of Computing Technology, Chinese Academy of Sciences, Beijing, in 2012, respectively. He is now an assistant professor in the College of Information Engineering at Capital Normal University, Beijing. His current research interests include operating system support for non-volatile memory technologies and computer architecture for emerging technologies. He is a member of CCF and ACM.
  • 基金资助:

    This work was supported by the National Natural Science Foundation of China under Grant Nos. 61502321, 61472260, and 61402302, the Beijing Natural Science Foundation under Grant No. 4143060, the Overseas Visiting Scholar Program of Beijing under Grant No. 067135300100, the State Key Laboratory of Computer Architecture of China under Grant No. CARCH201503, and the Beijing Innovative Teams and Teacher Career Development Program under Grant No. IDHT20150507.

Reducing Synchronization Cost for Single-Level Store in Mobile Systems

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   

  1. 1 College of Information Engineering, Capital Normal University, Beijing 100048, China;
    2 State Key Laboratory of Computer Architecture, Institute of Computing Technology, Chinese Academy of Sciences Beijing 100190, China;
    3 Department of Electrical and Computer Engineering, University of Florida, Gainesville, FL 32611, U.S.A
  • Received:2015-06-01 Revised:2016-04-07 Online:2016-07-05 Published:2016-07-05
  • About author:Yuan-Chao Xu received his B.S. degree in computer science from Beijing Institute of Technology, Beijing, in 1998, M.S. degree in computer science from Beihang University, Beijing, in 2002, and Ph.D. degree in computer architecture from Institute of Computing Technology, Chinese Academy of Sciences, Beijing, in 2012, respectively. He is now an assistant professor in the College of Information Engineering at Capital Normal University, Beijing. His current research interests include operating system support for non-volatile memory technologies and computer architecture for emerging technologies. He is a member of CCF and ACM.
  • Supported by:

    This work was supported by the National Natural Science Foundation of China under Grant Nos. 61502321, 61472260, and 61402302, the Beijing Natural Science Foundation under Grant No. 4143060, the Overseas Visiting Scholar Program of Beijing under Grant No. 067135300100, the State Key Laboratory of Computer Architecture of China under Grant No. CARCH201503, and the Beijing Innovative Teams and Teacher Career Development Program under Grant No. IDHT20150507.

新型的字节寻址、非易失存储技术,如相变存储器(PCM)、自旋转移力矩随机存取内存(STT-RAM),同时提供了传统易失性内存的性能,也提供了非易失存储的持久性,使得构建单级存储系统成为可能。为了确保电源失效或系统崩溃时持久化更新的数据一致性,系统要求频繁地将缓存中的数据写回到非易失性内存中,从而引入了不小的同步开销。为了缓解同步开销,本文提出两种技术。一是使用非易失的STT-RAM作为CPU内部的便签式存储器,专门用于存放日志恢复信息,由于避免了片外的日志操作,从而消除了写日志阶段的同步开销。二是提出自适应同步策略,根据数据访问模式选择缓存模式,从而消除了检查点阶段的不必要的同步开销。评估结果表明,与传统的事务持久化内存相比,本文提出的两种技术将系统的整体性能提高了2.15倍到2.39倍。

Abstract: Emerging byte-addressable non-volatile memory technologies, such as phase change memory (PCM) and spintransfer torque RAM (STT-RAM), offer both the byte-addressability of memory and the durability of storage, thus making it feasible to build single-level store systems. To ensure the consistency of persistent data structures in the presence of power failures or system crashes, it requires flushing cache lines to persistent memory frequently, thus incurring non-trivial synchronization overhead. To mitigate this issue, we propose two techniques. First, we use non-volatile STT-RAM as scratchpad memory on chip to store recovery information, thereby eliminating synchronization cost in the logging phase due to the avoidance of off-chip logging operations. Second, we present an adaptive synchronization policy based on caching modes in terms of data access patterns, thereby eliminating unnecessary synchronization cost in the checkpoint phase. Evaluation results indicate that the two techniques improve the overall performance from 2.15x to 2.39x compared with conventional transactional persistent memory.

[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!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!
版权所有 © 《计算机科学技术学报》编辑部
本系统由北京玛格泰克科技发展有限公司设计开发 技术支持:support@magtech.com.cn
总访问量: