天天看點

PMDK 概述

intel persistent-memory 官網:https://software.intel.com/zh-cn/persistent-memory

intel persistent-memory 學習資料:https://software.intel.com/zh-cn/articles/introduction-to-programming-with-persistent-memory-from-intel

intel persistent-memory 學習視訊,闡述了持久記憶體NVM程式設計模型:

https://software.intel.com/zh-cn/persistent-memory/get-started/series

github:https://github.com/pmem

Persistent Memory Programming Guide:http://pmem.io/

非易失性記憶體在阿裡生産環境的首次應用:Tair NVM最佳實踐總結:

https://blog.csdn.net/b0Q8cpra539haFS7/article/details/81463668

PMDK(NVML)事務實作機制源碼分析:

https://my.oschina.net/fileoptions/blog/1629405

INSTALL PMDK

1 export network agent

export https_proxy=”https://child-prc.intel.com:913/”

export http_proxy=”http://child-prc.intel.com:913/”

export socks_proxy=”socks://child-prc.intel.com:913/”

export ftp_proxy=”ftp://child-prc.intel.com:913/”

2 build ndctl Requires:

yum -y install autoconf asciidoc xmlto automake libtool systemd pkg-config

yum -y install libkmod-devel libudev-devel json-c-devel bash-completion-devel

wget https://versaweb.dl.sourceforge.net/project/libuuid/libuuid-1.0.3.tar.gz

tar -zxvf libuuid-1.0.3.tar.gz

cd libuuid-1.0.3/

./configure

make

make install

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib64/pkgconfig:/usr/local/lib/pkgconfig

3 install ndctl

git clone https://github.com/pmem/ndctl.git

cd ndctl

./autogen.sh

./configure CFLAGS=’-g -O2’ –prefix=/usr –sysconfdir=/etc –libdir=/usr/lib64 –with-systemd-unit-dir

make

make check

make install

4 build pmdk Requires

yum install autoconf pkg-config

git clone https://github.com/pmem/pmdk.git

cd pmdk

make

make install prefix=/usr/local

PS:Version 1.3 不需要這麼多的依賴包,隻需要pmdk源碼,make就行!

for other linux release:

git clone https://github.com/lucasdemarchi/kmod.git

cd kmod/

./autogen.sh

./configure CFLAGS=’-g -O2’ –prefix=/usr –sysconfdir=/etc –libdir=/usr/lib64

make

make install

export PKG_CONFIG_PATH=”/usr/lib64/pkgconfig”

pkg-config –cflags –libs libkmod

yum -y install gcc libtool autoconf automake doxygen

git clone https://github.com/json-c/json-c.git

cd json-c

./autogen.sh

./configure

make

make install

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

pkg-config –cflags –libs json-c