Luna-TX: An Optimized Transactional Mechanism for Persistent Memory

At present, most existing persistent memory programming libraries use write-ahead-logging(WAL) technology to ensure the consistency of memory allocating and updating process. In the application where persistent memory is frequently updated, this approach will bring a serious impact on system performance. In this work, we carefully analyzed the actual requirements of the applications and propose an optimized release mechanism for persistent memory called Luna_TX. In the improved mechanism, we remove the memory releasing phases of logs and objects from the critical path and generating in the process of update and release of transactions is delayed to the execution out of the transaction, which reduces the performance overhead on the critical paths. The experimental results have shown that the proposed mechanism can reduce the transaction delay significantly and boost up the whole transaction performance at 59%.

[1]  Jian Xu,et al.  NOVA: A Log-structured File System for Hybrid Volatile/Non-volatile Main Memories , 2016, FAST.

[2]  Hans-Juergen Boehm,et al.  Makalu: fast recoverable allocation of non-volatile memory , 2016, OOPSLA.

[3]  Rajesh K. Gupta,et al.  NV-Heaps: making persistent objects fast and safe with next-generation, non-volatile memories , 2011, ASPLOS XVI.

[4]  M. Breitwisch Phase Change Memory , 2008, 2008 International Interconnect Technology Conference.

[5]  Sanjay Kumar,et al.  System software for persistent memory , 2014, EuroSys '14.

[6]  Youyou Lu,et al.  Blurred persistence in transactional persistent memory , 2015, 2015 31st Symposium on Mass Storage Systems and Technologies (MSST).

[7]  Michael M. Swift,et al.  Mnemosyne: lightweight persistent memory , 2011, ASPLOS XVI.

[8]  Xinyu Li,et al.  Hierarchical Hybrid Memory Management in OS for Tiered Memory Systems , 2019, IEEE Transactions on Parallel and Distributed Systems.

[9]  Hasso Plattner,et al.  nvm malloc: Memory Allocation for NVRAM , 2015, ADMS@VLDB.