SPDK/PWDK 学习
作者:互联网
SPDK是针对整个存储服务和协议栈, PWDK侧重于Persistent Memory 的应用场景。 其中原属于SPDK中的vTUNE Profiler单独拿出来成为性能分析的综合工具。
SPDK: (Storage Performance development Kits)
https://spdk.io/
用于编写高性能、可伸缩、用户态存储应用程序的工具和库。
关键技术:
- 将所有必需的驱动程序移至用户空间,这样就避免了系统调用,并允许从应用程序中进行零拷贝访问;
- 轮询硬件任务的完成而不是依靠中断,这会降低总延迟和延迟抖动;
- 避免在I/O路径中出现锁, 而是依赖消息传递。
组成说明:
1) 存储驱动层: 包括NVMe Device和 VirtIO PCIe, vhost-user两个大的部分
2)存储服务层: 主要是实现Block Device的抽象服务层,将下层的服务统一为一个统一的接口服务层, 诸如对逻辑卷、GPT、DPDK Encryption/Decryption, 针对底层服务是对如NVMe, Linux AIO, Ceph rbd,PMDK Blk,VirtIO BLK/SCSI,iSCSI,malloc, BlobFS, Blobstore的优化。
3) 存储协议层: 主要是包括了NVMe和SCSI两个层面,实现诸如Target 的支持,包括在native OS和Virtualization 环境下的支持。 另外也包括对Linux nbd的支持。
4) 工具: fio, nvme-cli, spdk-cli
PWDK: (Persistent Memory Development Kits)
https://pmem.io/
说明请直接参考引见: https://zhuanlan.zhihu.com/p/69345874
more details, refer to:https://software.intel.com/content/www/us/en/develop/articles/introduction-to-programming-with-persistent-memory-from-intel.html
标签:存储,服务,NVMe,学习,SPDK,https,PWDK 来源: https://www.cnblogs.com/arcing/p/14061815.html