-
Notifications
You must be signed in to change notification settings - Fork 76
Does libpmemobj or libpmemobj-cpp support dev-dax mode? #1283
Comments
Hi, I'm convinced libpmemobj (from PMDK repository) is regularly tested on dax devices. Because we use pmempool to handle pmem pools in libpmemobj(-cpp) it is as simple as changing the path to your file/pool (from fsdax to devdax file). If you need any more assistance, don't hesitate to ask. |
@lukaszstolarczuk Thanks for your reply!
Since I need huge pages (1 GB) mapping in some cases, I wonder if I could run the database in devdax mode without a lot of changes. In other words, I would like to use the advanced programming interfaces provided by libpmemobj-cpp in devdax mode. |
As far as I know, the biggest difference between fsdax and devdax is whether the file system is needed or not. |
I tested inline_string example on my machine with simulated PM (8GB fsdax & 8GB devdax) and passed in fsdax mode but failed in devdax mode.
No errors occurred while creating the persistent memory pools. However, an error occurred when attempting to read or write to the devdax pool. I tried not specifying the size of the devdax pool while creating, but that didn't help. My simulated namespaces are as follows:
Did I make any mistake or miss any steps? |
As for the example run, did you double check the path of dev-dax pool - is the Since you're new to PM, I recommend you to try and read our book about Persistent Memory - you can find it on our pmem.io website; beside the book, there are other docs, guides, and blog posts you may find useful. I believe both, fsdax and devdax will support 1GB mappings; right now, while using libpmemobj(-cpp) the limit for a single object's mapping is nearly 16GB. Generally speaking, both should do fine in complex software systems. I'm afraid I'm not aware of any projects using dev-dax. On the libpmemobj(-cpp) level, the pool file is handled rather seamlessly and it should not affect your application. I believe there might be some use cases, where you could take advantage of dev-dax pools (not having filesystems) - perhaps, please see Chapter 3 in the mentioned book, for more details on this topic. |
QUESTION:
Does libpmemobj or libpmemobj-cpp support dev-dax mode?
Details
Hello, I would like to program in devdax mode, I wonder if libpmemobj or libpmemobj-cpp supports devdax mode or not.
Are there any programming examples of devdax mode?
Thanks!
The text was updated successfully, but these errors were encountered: