RECIPE icon indicating copy to clipboard operation
RECIPE copied to clipboard

Port RECIPE data structures to libpmem

Open vijay03 opened this issue 5 years ago • 2 comments

This issue involves porting the RECIPE data structures to work on libpmem. For example, converting P-CLHT to a form that uses the libpmem pointers and allocation routines.

vijay03 avatar Oct 31 '19 22:10 vijay03

I found that P-Masstree in the PMDK branch still used volatile linked lists to maintain the DeletionList. Will this cause memory leaks after system crash?

onceltl avatar Jul 20 '20 02:07 onceltl

Hi @onceltl,

Yes, the current implementation of P-Masstree in the PMDK branch still can cause persistent memory leaks after a system crash. RECIPE conversions are specifically restricted to the consistency guarantee of the internal updates of the indexes, so they do not provide a specific solution for persistent memory leaks. However, in my opinion (also described in our publication), I don't think the solution for persistent memory leaks should not be provided by the level of index structures (or should not be index-structure specific). There have been prior studies using post-crash garbage collection to solve persistent memory leaks (Please check the limitation section in README.md in the master branch). We are planning to add a supplementary implementation of post-crash garbage collection to resolve persistent memory leaks when I have time.

Thanks,

SeKwonLee avatar Jul 20 '20 03:07 SeKwonLee