libvmemcache - embeddable and lightweight cache

24 views
Skip to first unread message

Piotr Balcer

unread,
Mar 29, 2019, 3:19:49 PM3/29/19
to pmem

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

Reply all
Reply to author
Forward
0 new messages