Today we are happy to announce the very first official release of a new
library in the Persistent Memory suite: libvmemcache. It's an embeddable
and lightweight in-memory caching solution.
It's designed to fully take advantage of large capacity memory, such as
Intel® Optane™ DC Persistent Memory, through memory mapping in an efficient
and scalable way.
To achieve these goals, libvmemcache employs uncommon algorithms, such as:
* Extent-based memory allocator which sidesteps the fragmentation problem
that affects most in-memory databases and allows the cache to achieve very
high space utilization for most workloads.
* Buffered LRU, which combines a traditional LRU doubly-linked list with
a non-blocking ring buffer to deliver high degree of scalability on modern
multi-core CPUs.
* Unique indexing structure, critnib, which delivers high-performance
while being very space efficient.
This new library is meant to address a very common use-case of caching
volatile data using Persistent Memory without the overheads of maintaining
durability. Its simple and easy-to-use API enables existing applications
to be quickly modification to take advantage of PMEM.
libvmemcache 0.8 is available now on GitHub:
https://github.com/pmem/vmemcache/releases/tag/0.8
The reason this release is version 0.8 is because we are still looking
for actual real world feedback before we stabilize the APIs and commit
to maintaining backward compatibility. It does not mean that the library
is unfinished or unstable. On the contrary, the cache is fully functional
and we are confident in its quality.
-- PMDK Team