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)

Storage: Xcopy Offload相关推荐

  1. 亚马逊CTO沃格斯:AWS如何通过自定义硬件提升云端性能

    在re:Invent大会上,亚马逊的CTO沃格纳•沃格尔斯(Werner Vogels)详细介绍了AWS如何通过部署自定义硬件来创建与裸金属性能相近的实例. AWS reInvent已经成为每年最值得 ...

  2. [论文笔记] XRP: In-Kernel Storage Functions with eBPF

    XRP: In-Kernel Storage Functions with eBPF XRP: 利用 eBPF 的核内存储函数 [Paper] [Slides] [Code] OSDI'22 摘要 提 ...

  3. About iSCSI Storage

    2019独角兽企业重金招聘Python工程师标准>>> The Internet Small Computer System Interface (iSCSI) is an IP-b ...

  4. 论文阅读——POLARDB:Meets Computational Storage: Efficiently Support Analytical Workloads in Cloud-Native

    POLARDB Meets Computational Storage: Efficiently Support Analytical Workloads in Cloud-Native Relati ...

  5. PyTorch 笔记(11)— Tensor内部存储结构(头信息区 Tensor,存储区 Storage)

    1. Tensor 内部存储结构 tensor 数据结构如下图所示,tensor 分为头信息区(Tensor)和存储区 (Storage),信息区主要保存着 Tensor 的形状(size).步长(s ...

  6. 《Bigtable:a distributed storage system for struct data》笔记

    Bigtable 可以说是log-structed以及page-oriented 两种存储引擎的整合体,我们性能优越的单机存储引擎leveldb和rocksdb就是基于google的bigtable存 ...

  7. Exception loading sessions from persistent storage

    严重: Exception loading sessions from persistent storage java.io.EOFException 删除Tomcat里面的work/Catalina ...

  8. Drill storage plugin实现原理分析

    Drill Storage Plugin介绍 Drill是一个交互式SQL查询引擎,官方默认支持的数据源有hive.hbase.kafka.kudu.mongo.opentsdb.jdbc等,其中jd ...

  9. Windows Azure Storage (25) Azure Append Blob

    <Windows Azure Platform 系列文章目录> 在笔者之前的文章中,我们介绍了Azure Blob 有两种:Block Blob和Page Blob. 在这里笔者介绍Blo ...

最新文章

  1. 社团发现算法-BGLL算法(附代码实现)
  2. C++如何获得文件大小(1)
  3. WPF ListView DoubleClick
  4. java冒泡排序_JAVA实现经典排序算法(冒泡排序、选择排序、插入排序、希尔排序、堆排序、归并排序、快速排序)...
  5. 计数排序、桶排序和基数排序
  6. JavaScript内存管理——优化内存占用
  7. angular-数据绑定的最佳实践
  8. pycharm远程调试报错cant ser remote tunneling
  9. sfx电源和atx电源有什么区别 sfx电源和atx电源哪种好
  10. 极光尔沃:太空3D打印机首次亮相 航天领域应用潜力巨大
  11. 速卖通关键词挖掘工具_谷歌优化关键词挖掘工具大全
  12. 4G关键技术之MIMO
  13. PHP实战项目(仿糯米网)
  14. html盒模型中border的写法,CSS盒模型--边框设置:border: 1px solid red(像素 样式 颜色 ),border-bottom:1px dotted #ccc...
  15. SQL server 语句删除部分数据
  16. 算法笔记04--分治法之寻找最大最小元素
  17. Batch 批处理脚本
  18. Advertising and public relations
  19. 原生js方法购物车完整实现 利用localStorage
  20. 浏览器f12监听element的值和变量的变化

热门文章

  1. 今天早上被AS卡爆的结论
  2. Android 7.0 8.0 升级兼容
  3. php readdir scandir,php - readdir vs scandir - 堆栈内存溢出
  4. 汇编标志位及操作讲解
  5. chatgpt聊天时都有过哪些高情商回答?
  6. (三)基于cadence 617 的交流仿真、瞬态仿真 以电阻做负载共源级为例
  7. python+selenium百度文库ppt(爬虫)
  8. ​ MyBatis 延迟加载 ​
  9. 用火狐批量下载某个页面的所有文件
  10. RDD、矩阵基础——3. 矩阵、向量(Breeze、BLAS)