Status of NVML

131 views
Skip to first unread message

Andy Rudoff

unread,
Oct 16, 2014, 1:31:26 PM10/16/14
to pm...@googlegroups.com
Hi Folks,

I see we've had a few people join the group so I wanted to send out
the current status of the NVM Library.

Initially the library has five sets of APIs:

- vmem (volatile use cases for pmem)
- pmem (the basic pmem support)
- pmemblk (atomically-updated array of blocks)
- pmemlog (pmem-resident log file)
- pmemobj (transactional object store)

The github repo at https://github.com/pmem/nvml contains
implementations of everything listed above except the last one. We
plan to continue some additional performance work on the first four
areas, and there may be a few remaining error handling enhancements,
but they are functional today. The pmemobj API is the most flexible,
most intersting API we're working on so you can expect to see some
straw man API documentation on this mailing list soon, along with
discussions of some of the more difficult challenges we're up against.

Over the next week or two, we're also cleaning up some type names and
packaging. Instead of two libraries like we have now, we will be
organizing the APIs into separate libraries like this:

- libvmem
- libpmem
- libpmemblk (builds on libpmem)
- libpmemlog (builds on libpmem)
- libpmemobj (builds on libpmem)

Part of the clean up will rename some of our typedefs based on
feedback we've received, and replace the "map" and "unmap" functions
with more clearly-named functions that open and close memory pools.

Once we have a functional libpmemobj, we plan to build other libraries
on top of that, like a general pmem-aware key/value store for example.

Please feel free to respond with questions/suggestions and stay tuned
for more discussion on the transactional object store API.

-andy
Reply all
Reply to author
Forward
0 new messages