Storage: Xcopy Offload

        Copy offload是一个特性,它允许指示文件系统或存储设备拷贝到文件/逻辑块,而不需要本地CPU参与。

        参考RISC-V峰会主题演讲单线程的性能由于Denard scaling和多线程,性能收到限制(因为摩尔定理)。随着SINA计算技术存储工作组TWG的兴起,将计算offloading到设备或通过光纤将变得更受欢迎因为有几个方案可用。当前内核最通用的方法但还没有合入到的是copy offload 到fabrics或设备上。

1 问题

        原始工作是有Martin做的。最新的工作是有Mikulas发出的,但还没有合入。这两种方法彼此完全不同。一些存储供应商不鼓励将copy offload请求和正常的READ/WRITE混合。此外,如果一个拷贝请求需要被拆分,当操作失败时,存在副作用,即阻止copy offload在几乎所有常见的部署配置中使用。

2 当前工作状态

  1. 在不将命令切分为2个(一个用于拷贝IN,一个用于拷贝OUT)时很难处理仲裁的DM/MD栈。在[4]中表明了为什么[3]不适合作为候选。同时[4]对于两个命令方案也有一个没有解决的问题,如何在IN和OUT操作间修改DM布局。

        去年年底,没有LSFMMM,我们与感兴趣的人进行了一次电话会议,我们希望与更广泛的社区成员分享细节。

3 为什么现在LINUX内核存储系统需要copy offload?

        随着SNIA计算TWG和解决方案的增加,协议中存在SCSI XCopy的支持,Zoned设备在LINUX内核文件系统中的最新进展,NVME设备的P2P DMA支持,NVME设备和子系统将从copy offload操作中获利。

        在这个背景下,我们有很多需要等待LINUX内核block层copy offload支持的场景,因此LINUX内核存储子系统可以处理之前提到的问题,允许更有效率的数据offload相关的操作(如move和copy)。

下列为一些需要等待copy offload的场景:

  1. SCSI-attached storage arrays
  2. 支持Xcopy DM/MD的栈设备
  3. 计算存储方案
  4. 文件系统:本地,NFS和Zonefs
  5. Block设备:分布的,本地的,以及Zoned设备
  6. P2P DMA支持方案
  7. NVME子系统包括NVME PCIE和NVMEOF

4 在会议上将讨论的内容

  1. 阻塞Copy Offload实现的部分
  2. 讨论有一个文件系统接口
  3. 讨论从用户态的系统调用
  4. 如何将该工作推进

[LSF/MM/BFP ATTEND] [LSF/MM/BFP TOPIC] Storage: Copy Offload (kernel.org)

你可能感兴趣的:(BLOCK_SCSI,Xcopy,offload)