logo

SCIENTIA SINICA Informationis, Volume 51 , Issue 6 : 869(2021) https://doi.org/10.1360/SSI-2019-0128

Development of system software on non-volatile main memory

More info
  • ReceivedJun 21, 2019
  • AcceptedSep 18, 2019
  • PublishedMay 13, 2021

Abstract


Funded by

国家重点研发计划(2018YFB1003301)

国家自然科学基金重点项目(61832011)

广东省科技创新战略专项项目(2018B010109002)


Author information






















References

[1] Turner V, Gantz J F, Reinsel D, et al. The digital universe of opportunities: Rich data and the increasing value of the internet of things. IDC Anal Future, 2014, 2: 3. Google Scholar

[2] Gerber D, Hellmann S, Bühmann L, et al. Real-time RDF extraction from unstructured data streams. In: Proceedings of the 12th International Semantic Web Conference, 2013. 135--150. Google Scholar

[3] Bryant R E, O'Hallaron D R. Computer Systems: A Programmer's Perspective. Pearson Schweiz AG, 2015. Google Scholar

[4] Bedeschi F, Resta C, Khouri O, et al. An 8 Mb demonstrator for high-density 1.8 V phase-change memories. In: Proceedings of Symposium on Vlsi Circuits, 2004. 442--445. Google Scholar

[5] Chen E, Apalkov D, Diao Z. Advances and Future Prospects of Spin-Transfer Torque Random Access Memory. IEEE Trans Magn, 2010, 46: 1873-1878 CrossRef ADS Google Scholar

[6] Lee H Y, Chen Y S, Chen P S, et al. Evidence and solution of over-RESET problem for HfOX based resistive memory with sub-ns switching speed and high endurance. In: Proceedings of International Electron Devices Meeting, 2011. Google Scholar

[7] Parkin S S P, Hayashi M, Thomas L. Magnetic Domain-Wall Racetrack Memory. Science, 2008, 320: 190-194 CrossRef PubMed ADS Google Scholar

[8] Newsroom I. Intel optane memory series 32 GB M.2 80MM. 2018. https://www.intel.com/content/www/us/en/products/memory-storage/optane-memory/optane-32gb-m-2-80mm.html. Google Scholar

[9] Swanson S, Caulfield A M. Refactor, Reduce, Recycle: Restructuring the I/O Stack for the Future of Storage. Computer, 2013, 46: 52-59 CrossRef Google Scholar

[10] Lu Y Y, Shu J W, Sun L. Blurred persistence in transactional persistent memory. In: Proceedings of the 31st International Conference on Massive Storage Systems and Technology, 2015. Google Scholar

[11] Volos H, Tack A J, Swift M M. Mnemosyne: lightweight persistent memory. In: Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems, 2011. 91--104. Google Scholar

[12] Bianca G, Pawel P. PMDK: persistent memory development kit. 2003. https://github.com/pmem/pmdk. Google Scholar

[13] Hu Q D, Ren J L, Badam A, et al. Log-structured non-volatile main memory. In: Proceedings of USENIX Annual Technical Conference, 2017. 2--44. Google Scholar

[14] Grossman G, Star Z. Intel-64 and IA-32 architectures software developers manuals combined. 2019. http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html. Google Scholar

[15] Janek M, Pmem B. Intel architecture instruction set extensions programming reference. 2016. https://software.intel.com/sites/default/files/managed/b4/3a/319433-024.pdf. Google Scholar

[16] Zhou Y Q, Alagappan R, Memaripour A, et al. HNVM: Hybrid NVM Enabled Datacenter Design and Optimization. Microsoft Research Technical Report. 2017. Google Scholar

[17] Nishtala R, Fugal H, Grimm S, et al. Scaling memcache at Facebook. In: Proceedings of USENIX Conference on Networked Systems Design and Implementation, 2013. 385--398. Google Scholar

[18] Rumble S M, Kejriwal A, Ousterhout J. Log-structured memory for DRAM-based storage. In: Proceedings of USENIX Conference on File and Storage Technologies, 2014. Google Scholar

[19] Hertz M, Berger E D. Quantifying the performance of garbage collection vs. explicit memory management. In: Proceedings of the 20th Conference on Object-Oriented Programming, Systems, Languages and Applications, 2005. 313--326. Google Scholar

[20] Coburn J, Caulfield A M, Akel A, et al. NV-Heaps: making persistent objects fast and safe with next-generation, non-volatile memories. In: Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems, 2011. 105--118. Google Scholar

[21] Dulloor S R, Kumar S, Keshavamurthy A, et al. System software for persistent memory. In: Proceedings of the 9th ACM SIGOPS/EuroSys European Conference on Computer Systems, 2014. Google Scholar

[22] Bhandari K, Chakrabarti D R, Boehm H J. Makalu: fast recoverable allocation of non-volatile memory. In: Proceedings of the ACM Sigplan International Conference on Object-Oriented Programming, Systems, Languages, and Applications, 2016. 677--694. Google Scholar

[23] Oukid I, Booss D, Lespinasse A, et al. Memory management techniques for large-scale persistent-main-memory systems. In: Proceedings of the 43rd International Conference on Very Large Data Bases, 2017. 1166--1177. Google Scholar

[24] Schwalb D, Berning T, Faust M, et al. nvm_malloc: memory allocation for NVRAM. In: Proceedings of the 6th International Workshop on Accelerating Data Management Systems Using Modern Processor and Storage Architectures, 2015. 285--287. Google Scholar

[25] Hwang T, Jung J, Won Y. HEAPO. Trans Storage, 2015, 11: 1-21 CrossRef Google Scholar

[26] Bridge B. NVM direct. 2015. https://github.com/oracle/nvm-direct. Google Scholar

[27] Mathur A, Cao M M, Bhattacharya S, et al. The new ext4 filesystem: current status and future plans. In: Proceedings of Linux Symposium, 2007. Google Scholar

[28] Kannan S, Gavrilovska A, Schwan K. pVM: persistent virtual memory for efficient capacity scaling and object storage. In: Proceedings of the 11th ACM SIGOPS/EuroSys European Conference on Computer Systems, 2016. Google Scholar

[29] Oukid I, Lasperas J, Nica A, et al. FPTree: a hybrid SCM-DRAM persistent and concurrent B-Tree for storage class memory. In: Proceedings of ACM International Conference on Management of Data, 2016. Google Scholar

[30] Bob B, Hans B. NVM programming model. 2017. https://www.snia.org/sites/default/files/technical_work/final/NVMProgrammingModel_v1.2.pdf. Google Scholar

[31] Condit J, Nightingale E B, Frost C, et al. Better I/O through byte-addressable, persistent memory. In: Proceedings of ACM Symposium on Operating Systems Principles, 2009. 133--146. Google Scholar

[32] Moraru I, Andersen D G, Kaminsky M, et al. Persistent, Protected and Cached: Building Blocks for Main Memory Data Stores. CMU Parallel Data Lab Trechnical Report, 2012. Google Scholar

[33] Lu Y Y, Shu J W, Sun L, et al. Loose-ordering consistency for persistent memory. In: Proceedings of IEEE International Conference on Computer Design, 2014. 216--223. Google Scholar

[34] Wang Z, Yi H, Liu R. Persistent Transactional Memory. IEEE Comput Arch Lett, 2015, 14: 58-61 CrossRef Google Scholar

[35] Pelley S, Chen P M, Wenisch T F. Memory persistency. In: Proceeding of International Symposium on Computer Architecuture, 2014. 265--276. Google Scholar

[36] Kolli A, Pelley S, Saidi A, et al. High-performance transactions for persistent memories. In: Proceedings of International Conference on Architectural Support for Programming Languages and Operating Systems, 2016. 399--411. Google Scholar

[37] Kolli A, Rosen J, Diestelhorst S, et al. Delegated persist ordering. In: Proceedings of IEEE/ACM International Symposium on Microarchitecture, 2016. Google Scholar

[38] Narayanan D, Hodson O. Whole-system persistence. In: Proceedings of the 17th International Conference on Architectural Support for Programming Languages and Operating Systems, 2012. 401--410. Google Scholar

[39] Zhao J S, Li S, Yoon D H, et al. Kiln: closing the performance gap between systems with and without persistence support. In: Proceedings of IEEE/ACM International Symposium on Microarchitecture, 2017. 421--432. Google Scholar

[40] Sun L, Lu Y Y, Shu J W. DP2: reducing transaction overhead with differential and dual persistency in persistent memory. In: Proceedings of the 12th ACM International Conference on Computing Frontiers, 2015. Google Scholar

[41] Memaripour A, Badam A, Phanishayee A, et al. Atomic in-place updates for non-volatile main memories with Kamino-Tx. In: Proceedings of the 12th ACM SIGOPS/EuroSys European Conference on Computer Systems, 2017. 499--512. Google Scholar

[42] Denny J E, Lee S, Vetter J S. NVL-C: static analysis techniques for efficient, correct programming of non-volatile main memory systems. In: Proceedings of ACM International Symposium on High-Performance Parallel and Distributed Computing, 2016. 125--136. Google Scholar

[43] Bayer R, McCreight E M. Organization and maintenance of large ordered indexes. Acta Informatica, 1972, 1: 173-189 CrossRef Google Scholar

[44] Chen S M, Gibbons P B, Nath S. Rethinking database algorithms for phase change memory. In: Proceedings of the 5th Biennial Conference on Innovative Data Systems Research, 2011. 21--31. Google Scholar

[45] Chi P, Lee W C, Xie Y. Making B$^{+}$-tree efficient in PCM-based main memory. In: Proceedings of International Symposium on Low Power Electronics and Design, 2014. 69--74. Google Scholar

[46] Zuo P, Hua Y. A Write-Friendly and Cache-Optimized Hashing Scheme for Non-Volatile Memory Systems. IEEE Trans Parallel Distrib Syst, 2018, 29: 985-998 CrossRef Google Scholar

[47] Tolia N, Tolia N, Ranganathan P, et al. Consistent and durable data structures for non-volatile byte-addressable memory. In: Proceedings of USENIX Conference on File and Storage Technologies, 2010. Google Scholar

[48] Chen S M, Jin Q. Persistent B$^{+}$-trees in non-volatile main memory. In: Proceedings of the 41st International Conference on Very Large Data Bases, 2015. Google Scholar

[49] Yang J, Wei Q S, Chen C, et al. NV-tree: reducing consistency cost for NVM-based single level systems. In: Proceedings of USENIX Conference on File and Storage Technologies, 2015. Google Scholar

[50] Hwang D, Kim W H, Won Y, et al. Endurable transient inconsistency in byte-addressable persistent B$^{+}$-tree. In: Proceedings of the 16th USENIX Conference on File and Storage Technologies, 2018. Google Scholar

[51] Lee S K, Lim K H, Song H, et al. WORT: write optimal radix tree for persistent memory storage systems. In: Proceedings of USENIX Research in Linux File and Storage Technologies, 2017. 257--270. Google Scholar

[52] Zuo P F, Hua Y, Wu J. Write-optimized and high-performance hashing index scheme for persistent memory. In: Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation, 2018. 461--476. Google Scholar

[53] Xia F, Jiang D J, Xiong J, et al. HiKV: a hybrid index key-value store for DRAM-NVM memory systems. In: Proceedings of USENIX Annual Technical Conference, 2017. 349--362. Google Scholar

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

[55] Dulloor S R, Kumar S, Keshavamurthy A, et al. System software for persistent memory. In: Proceedings of the 9th European Conference on Computer Systems, 2014. Google Scholar

[56] Xu J, Swanson S. A log-structured file system for hybrid volatile/non-volatile main memories. In: Proceedings of Conference on File and Storage Technologies, 2016. 323--338. Google Scholar

[57] Wu X J, Reddy A L. SCMFS: a file system for storage class memory. In: Proceedings of International Conference for High Performance Computing, Networking, Storage and Analysis, 2011. Google Scholar

[58] Wang Y, Jiang D Y, Xiong J. Caching or not: rethinking virtual file system for non-volatile main memory. In: Proceedings of Workshop on Hot Topics in Storage and File Systems, 2018. Google Scholar

[59] Volos H, Nalli S, Panneerselvam S, et al. Aerie: flexible file-system interfaces to storage-class memory. In: Proceedings of the 9th European Conference on Computer Systems, 2014. 4--14. Google Scholar

[60] Kwon Y, Fingler H, Hunt T, et al. Strata: a cross media file system. In: Proceedings of the 26th Symposium on Operating Systems Principles, 2017. 460--477. Google Scholar

[61] Zheng S G, Hoseinzadeh M, Swanson S. Ziggurat: a tiered file system for non-volatile main memories and disks. In: Proceedings of Conference on File and Storage Technologies, 2019. 207--219. Google Scholar

[62] Lu Y Y, Shu J W, Chen Y M, et al. Octopus: an RDMA-enabled distributed persistent memory file system. In: Proceedings of USENIX Annual Technical Conference, 2017. 773--785. Google Scholar

[63] Islam N S, Wasi-ur-Rahman M, Lu X Y, et al. High performance design for HDFS with byte-addressability of NVM and RDMA. In: Proceedings of International Conference on Supercomputing, 2016. Google Scholar

[64] Stuedi P, Trivedi A, Pfefferle J, et al. Crail: a high-performance I/O architecture for distributed data processing. IEEE Data Eng Bull, 2017, 40: 38--49. Google Scholar

[65] Stuedi P, Trivedi A, Metzler B, et al. DaRPC: data center RPC. In: Proceedings of ACM Symposium on Cloud Computing, 2014. Google Scholar

[66] Zhang Y Y, Yang J, Memaripour A, et al. Mojim: a reliable and highly-available non-volatile memory system. In: Proceedings of the 20th International Conference on Architectural Support for Programming Languages and Operating Systems, 2015. 3--18. Google Scholar

[67] Amza C, Cox A L, Dwarkadas S. TreadMarks: shared memory computing on networks of workstations. Computer, 1996, 29: 18-28 CrossRef Google Scholar

[68] Li K. IVY: a shared virtual memory system for parallel computing. In: Proceedings of International Conference on Parallel Processing, 1988. Google Scholar

[69] Bennett J K, Carter J B, Zwaenepoel W. Munin: distributed shared memory based on type-specific memory coherence. SIGPLAN Not, 1990, 25: 168-176 CrossRef Google Scholar

[70] Zhou S, Stumm M, Li K. Heterogeneous distributed shared memory. IEEE Trans Parallel Distrib Syst, 1992, 3: 540-554 CrossRef Google Scholar

[71] Shan Y Z, Tsai S Y, Zhang Y Y. Distributed shared persistent memory. In: Proceedings of Symposium on Cloud Computing, 2017. 323--337. Google Scholar

[72] Dragojevic A, Narayanan D, Hodson O, et al. FaRM: fast remote memory. In: Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation, 2014. 401--414. Google Scholar

[73] Dragojevic A, Narayanan D, Nightingale E B, et al. No compromises: distributed transactions with consistency, availability, and performance. In: Proceedings of the 25th Symposium on Operating Systems Principles, 2015. 54--70. Google Scholar

qqqq

Contact and support