8
How Does libpmemkv Work?
All the complexity hidden by high-level libraries like libpmemkv are described more fully
in later chapters, but let’s look at the building blocks used to construct a library like this.
Figure 1-4 shows the full software stack involved when an application uses libpmemkv.
Starting from the bottom of Figure 1-4 and working upward are these components:
• The persistent memory hardware, typically connected to the system
memory bus and accessed using common memory load/store
operations.
• A pmem-aware file system, which is a kernel module that exposes
persistent memory to applications as files. Those files can be memory
mapped to give applications direct access (abbreviated as DAX).
This method of exposing persistent memory was published by SNIA
(Storage Networking Industry Association) and is described in detail
in Chapter 3.
• The libpmem library is part of the PMDK. This library abstracts
away some of the low-level hardware details like cache flushing
instructions.
Figure 1-4. The software stack when using libpmemkv
CHApter 1 IntroduCtIon to persIstent MeMory proGrAMMInG
Précédent

- 37/457

Suivant