![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Persistent Memory
文章平均质量分 53
qccz123456
这个作者很懒,什么都没留下…
展开
-
PMDK libpmemobj 例程2 事务操作
pmemobj中具有事务的操作,事务的意思是被指定的一系列的操作要么执行成功,要么就失败,其中某一步错误也是失败。所以可以通过状态转换来完成失败函数的资源回收。 采用如下5个状态表示TX_BEGIN(pop)、TX_ONCOMMIT、TX_ONABORT 、TX_FINALLY、TX_END,并这5个状态之间的转换关系如下,可通过pmemobj_tx_abort()等函数强行跳转。 ...原创 2018-08-27 11:49:24 · 726 阅读 · 0 评论 -
PMDK libpmemblk 例程1 读写持久化内存块
使用libpmemblk能直接访问storage(DAX),支持 load/store access,不需要 paging blocks。 libpmemblk API说明:http://pmem.io/pmdk/manpages/linux/master/libpmemblk/libpmemblk.7.htmlKey: pmemblk_create() // 创建pmem的内存块 p...原创 2018-08-21 15:15:04 · 1743 阅读 · 0 评论 -
Memkind 例程1 调用memkind_malloc()分配内存
例程1 调用memkind_malloc()分配内存 Key: void *memkind_malloc(memkind_t kind, size_t size); // 用于分配内存,完成后得到相应的指针,和malloc作用相同 memkind_t 指定的是可以分配哪些memory,在下文中详细说明了可调用的参数,但是调用是否成功,需依据具体硬件而定:http://memkind.g...原创 2018-08-21 12:38:11 · 735 阅读 · 0 评论 -
Memkind 例程2 自定义memkind调用memkind_malloc()
例程1 自定义memkind调用memkind_malloc() Key: memkind_create_pmem() // 创建pmem内存池 memkind_malloc() // 从pmem内存中malloc出一块小内存 memkind_free() // 释放这款小内存 memkind_create_pmem2() //自定义函数:可以显式的创建pmem文件#in...原创 2018-08-21 10:25:07 · 537 阅读 · 0 评论 -
PMDK libpmem 例程3 统一flush
将数据统一收集后,最后才flush到持久化文件中 Key:原创 2018-08-20 22:40:52 · 988 阅读 · 0 评论 -
PMDK libpmem 例程2 数组写入持久化内存
数组写入持久化内存原创 2018-08-20 22:21:55 · 1662 阅读 · 0 评论 -
PMDK libpmem 例程1 变量写入持久化内存
写入持久化内存 Key: pmem_map_file() // 创建持久化内存的文件,并将文件映射,得到指向文件的指针 pmem_persist() // pmem_msync() pmem_unmap()#include <sys/types.h>#include &原创 2018-08-20 20:55:29 · 3754 阅读 · 0 评论 -
PMDK libpmemobj 例程1 读写持久化内存
libpmemobj(1) write and read the persistent memory Key : PMEMobjpool pmemobj_create() // 创建持久化内存池 PMEMobjpool pmemobj_open() // 打开已创建的持久化内存池 PMEMoid pmemobj_root() // 得到持久化内存池的根节点 pmemobj_direc...原创 2018-08-20 20:22:27 · 2358 阅读 · 1 评论 -
PMDK 概述
INSTALL PMDK1 export network agentexport 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/” ...原创 2018-08-20 13:51:32 · 3044 阅读 · 2 评论 -
Memkind 概述
memkind使用笔记Installsudo yum install pthread numactl git clone https://github.com/memkind/memkind.git cd memkind ./build.sh make install prefix=/usr/local/memkind原创 2018-08-20 13:44:25 · 1751 阅读 · 0 评论 -
PMDK libpmemobj 例程3 宏定义操作
前两篇文章说了如何操作persist memory的读写和事务操作,但在函数调用方面,并不方便,需要考虑偏移量和内存大小等问题。所以本节介绍一些简化函数调用的宏定义: (1)定义PMEMobjpool持久性内存池的名称,通过POBJ_LAYOUT_BEGIN、POBJ_LAYOUT_ROOT、POBJ_LAYOUT_END进行定义,然后通过POBJ_LAYOUT_NAME调用该名称; POB...原创 2018-08-28 09:25:18 · 1708 阅读 · 0 评论 -
PMDK libpmemlog 例程1 持久化log记录
libpmemlog用于持久化记录log文件,采用append的方法记录。 libpmemlog API说明:http://pmem.io/pmdk/manpages/linux/master/libpmemlog/libpmemlog.7.htmlKey: pmemlog_create() // 创建持久化的log内存 pmemlog_open() // 打开已创建的log内存 ...原创 2018-08-21 15:29:50 · 564 阅读 · 0 评论