Poseidon: Safe, Fast and Scalable Persistent Memory Allocator

作者: Anthony Demeri , Wook-Hee Kim , R. Madhava Krishnan , Jaeho Kim , Mohannad Ismail

DOI: 10.1145/3423211.3425671

关键词:

摘要: Persistent memory allocator is an essential component of any Non-Volatile Main Memory (NVMM) application. A slow can bottleneck the entire application stack, while unsecure render applications inconsistent upon program bugs or system failure. Unlike DRAM-based allocators, it indispensable for NVMM to guarantee its heap metadata safety from both internal and external errors. An effective should be 1) safe, 2) scalable, 3) high performing. Unfortunately, none existing persistent allocators achieve all three requisites. For example, we found that even Intel's de-facto allocator-libpmemobj vulnerable silent data corruption leaks resulting a simple overflow. In this paper, propose Poseidon, fast, scalable allocator. The premise Poseidon revolves around providing user with per-CPU sub-heaps scalability performance, managing in segregated fashion efficiently protecting using hardware-based protection scheme, Protection Keys (MPK). We evaluate wide array microbenchmarks real-world benchmarks, noting: outperforms state-of-art by significant margin, showing improved also guaranteeing protection.

参考文章(28)
Joo-Young Hwang, Changman Lee, Sangyeun Cho, Dongho Sim, F2FS: a new file system for flash storage file and storage technologies. pp. 273- 286 ,(2015) , 10.5555/2750482.2750503
Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, Russell Sears, Benchmarking cloud serving systems with YCSB Proceedings of the 1st ACM symposium on Cloud computing - SoCC '10. pp. 143- 154 ,(2010) , 10.1145/1807128.1807152
Ran Liu, Haibo Chen, SSMalloc Proceedings of the Asia-Pacific Workshop on Systems - APSYS '12. pp. 15- 15 ,(2012) , 10.1145/2349896.2349911
Mustapha Refai, Exploiting a buffer overflow using metasploit framework Proceedings of the 2006 International Conference on Privacy, Security and Trust Bridge the Gap Between PST Technologies and Business Services - PST '06. pp. 74- ,(2006) , 10.1145/1501434.1501521
Emery D. Berger, Kathryn S. McKinley, Robert D. Blumofe, Paul R. Wilson, Hoard: a scalable memory allocator for multithreaded applications architectural support for programming languages and operating systems. ,vol. 35, pp. 117- 128 ,(2000) , 10.1145/356989.357000
Emery D. Berger, Benjamin G. Zorn, DieHard ACM SIGPLAN Notices. ,vol. 41, pp. 158- 168 ,(2006) , 10.1145/1133255.1134000
Gene Novark, Emery D. Berger, DieHarder: securing the heap computer and communications security. pp. 573- 584 ,(2010) , 10.1145/1866307.1866371
Steven Swanson, Jian Xu, NOVA: a log-structured file system for hybrid volatile/non-volatile main memories file and storage technologies. pp. 323- 338 ,(2016)
Markus Dreseler, David Schwalb, Hasso Plattner, Tim Berning, Martin Faust, nvm malloc: Memory Allocation for NVRAM. very large data bases. pp. 61- 72 ,(2015)
Kumud Bhandari, Dhruva R. Chakrabarti, Hans-J. Boehm, Makalu: fast recoverable allocation of non-volatile memory conference on object oriented programming systems languages and applications. ,vol. 51, pp. 677- 694 ,(2016) , 10.1145/2983990.2984019