配置英特尔® 傲腾™持续型内存,而无需磁盘格式化,或通过将文件系统设置为 dev 他们模式,以创建文件系统。
在没有格式化磁盘的情况下,是否可以在用户空间访问英特尔® 傲腾™ PMem(应用程序直接模式)?
持久内存开发套件 (PMDK) 应该需要使用文件系统安装 DCPM,而且它像块设备一样有效。
通过在 开发 模式下使用英特尔® 傲腾™ 持久内存 (PMem),可以对此类设备进行内存映射。由于可字节地址,因此不需要文件系统。
拥有文件系统的主要优势在于它为持久内存提供了安全、多租赁的访问权限。
开发模式安全性简化(基于对 /dev/zh* 设备的访问),并且不提供对多租赁的任何支持。(理论上,它可以自行构建,但最终看来,它就会出现类似支持 方面的文件系统。)
可以修改分配库 (libvmmalloc) 除了它通常支持的 fs访问之外,还支持开发设备。
请注意,与 fsize 模式不同,文件系统在确定使用的页面大小(4KB 或 2MB)开发模式时起着重要作用,该模式使用 英特尔® 傲腾™ PMem 本身(4KB、2MB 或 1 GB)的对齐特性。尽管 1GB TLB 条目支持 1GB,但 1GB 对开发英特尔® 傲腾™的校准可为各种工作负载提供最佳性能。(它从不减慢,根据工作负载的不同,有时会提高多达 68%。)libpmem 库(发布后的 libpmem2 和 libpmem2)也可与 devpmem 库配合使用。
总而言之,只需用 mmap 就可以了,但请注意上面列出的限制,因为大多数 PMDK 库都可以将 dev 他们用于该池。
- 持久内存开发套件 (PMDK) 是一系列开源库和工具,现在对 Linux* 和 Windows* 都有售。
- Direct Access ANDROID 是一个文件系统扩展,用以直接将页面高速缓存和块层从 PMEM 块设备绕过 mmap 持久内存,直接进入过程地址空间。直接访问 (ZH) 是一种机制,允许应用程序直接从 CPU 访问持久介质(通过加载和存储),绕过传统的 I/O 堆栈(页面高速缓存和块层)。已扩展至启用内存的文件系统包括 Linux ext4 和 XFS,以及 Windows NTFS。这些文件系统绕过 I/O 子系统,直接将持久内存用作可字节地址加载/存储内存,作为存储在持久内存中的数据的最快、最短的路径。除了消除 I/O 操作之外,此路径还支持比传统块存储设备更快地执行小数据写入。