../eurosys24-ae-33

EuroSys24 AE: #33 Puddle

Table of contents

#33: Puddles: Application-Independent Recovery and Location-Independent Data for Persistent Memory

Paper summary

This paper propose a PMDK-like shareable, migratable, consistent and backwards compatibale PMEM abstraction. At the core of this abstraction is a puddle, which is a location-independent persistent memory chunk. The location-independency is realized by tracking every backwards compatibale native pointer in every object at object allocation time, rewriting them at puddle mapping time, and mapping additional puddles pointed by them. Any uncaught pointers are rewriten at page fault time through user space fault handler enabled by userfaultfd. The consistent recovery of puddles are enabled through PMDK-like transactional API and realized through centralized logging and replaying managed by the system puddled daemon.

Badge

The artifacts is complete, publicly available, well organized and easy to understand. I am able to reproduce all major claims (figure 9-11) with one click on the author provided docker image. My only concern is that half the paper is discussing the promising feature of relocatability. But the related evaluation (figure 13-14) is not included in major claims and also not repoducable.

Overall, it's fair to award all available, functional and reproduced badge to this artifact. It's nice to see artifacts as complete as this and it will cultivate a positive environment in the research community.


Improved version by ChatGPT:

#33: Puddles: Application-Independent Recovery and Location-Independent Data for Persistent Memory

Paper Summary

This paper proposes a PMDK-like, shareable, migratable, consistent, and backwards-compatible PMEM (Persistent Memory) abstraction. At the core of this abstraction is a "puddle," which is a location-independent persistent memory chunk. The location-independency is achieved by tracking every backwards-compatible native pointer in every object at the time of object allocation, rewriting them during puddle mapping, and cascaded mapping additional puddles pointed to by them. Any uncaught pointers are rewritten at page fault time through a user space fault handler enabled by userfaultfd. The consistent recovery of puddles is enabled through a PMDK-like transactional API and is realized through centralized logging and replay managed by the system puddled daemon.

Badge

The artifact is complete, publicly available, well-organized, and easy to understand. I am able to reproduce all major claims (figure 9-11) with a single click on the author-provided Docker image. My only concern is that half of the paper discusses the promising feature of relocatability. However, the related evaluation (figure 13-14) is not included in the major claims and is also not reproducible.

Overall, it's fair to award all available, functional, and reproduced badges to this artifact. It's great to see artifacts as complete as this, and it will foster a positive environment in the research community.

Checklist

Artifact Available

Artifact Functional

Results Reproduced