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 当前工作状态
- 在不将命令切分为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的场景:
- SCSI-attached storage arrays
- 支持Xcopy DM/MD的栈设备
- 计算存储方案
- 文件系统:本地,NFS和Zonefs
- Block设备:分布的,本地的,以及Zoned设备
- P2P DMA支持方案
- NVME子系统包括NVME PCIE和NVMEOF
4 在会议上将讨论的内容
- 阻塞Copy Offload实现的部分
- 讨论有一个文件系统接口
- 讨论从用户态的系统调用
- 如何将该工作推进
[LSF/MM/BFP ATTEND] [LSF/MM/BFP TOPIC] Storage: Copy Offload (kernel.org)
Storage: Xcopy Offload相关推荐
- 亚马逊CTO沃格斯:AWS如何通过自定义硬件提升云端性能
在re:Invent大会上,亚马逊的CTO沃格纳•沃格尔斯(Werner Vogels)详细介绍了AWS如何通过部署自定义硬件来创建与裸金属性能相近的实例. AWS reInvent已经成为每年最值得 ...
- [论文笔记] XRP: In-Kernel Storage Functions with eBPF
XRP: In-Kernel Storage Functions with eBPF XRP: 利用 eBPF 的核内存储函数 [Paper] [Slides] [Code] OSDI'22 摘要 提 ...
- About iSCSI Storage
2019独角兽企业重金招聘Python工程师标准>>> The Internet Small Computer System Interface (iSCSI) is an IP-b ...
- 论文阅读——POLARDB:Meets Computational Storage: Efficiently Support Analytical Workloads in Cloud-Native
POLARDB Meets Computational Storage: Efficiently Support Analytical Workloads in Cloud-Native Relati ...
- PyTorch 笔记(11)— Tensor内部存储结构(头信息区 Tensor,存储区 Storage)
1. Tensor 内部存储结构 tensor 数据结构如下图所示,tensor 分为头信息区(Tensor)和存储区 (Storage),信息区主要保存着 Tensor 的形状(size).步长(s ...
- 《Bigtable:a distributed storage system for struct data》笔记
Bigtable 可以说是log-structed以及page-oriented 两种存储引擎的整合体,我们性能优越的单机存储引擎leveldb和rocksdb就是基于google的bigtable存 ...
- Exception loading sessions from persistent storage
严重: Exception loading sessions from persistent storage java.io.EOFException 删除Tomcat里面的work/Catalina ...
- Drill storage plugin实现原理分析
Drill Storage Plugin介绍 Drill是一个交互式SQL查询引擎,官方默认支持的数据源有hive.hbase.kafka.kudu.mongo.opentsdb.jdbc等,其中jd ...
- Windows Azure Storage (25) Azure Append Blob
<Windows Azure Platform 系列文章目录> 在笔者之前的文章中,我们介绍了Azure Blob 有两种:Block Blob和Page Blob. 在这里笔者介绍Blo ...
最新文章
- 社团发现算法-BGLL算法(附代码实现)
- C++如何获得文件大小(1)
- WPF ListView DoubleClick
- java冒泡排序_JAVA实现经典排序算法(冒泡排序、选择排序、插入排序、希尔排序、堆排序、归并排序、快速排序)...
- 计数排序、桶排序和基数排序
- JavaScript内存管理——优化内存占用
- angular-数据绑定的最佳实践
- pycharm远程调试报错cant ser remote tunneling
- sfx电源和atx电源有什么区别 sfx电源和atx电源哪种好
- 极光尔沃:太空3D打印机首次亮相 航天领域应用潜力巨大
- 速卖通关键词挖掘工具_谷歌优化关键词挖掘工具大全
- 4G关键技术之MIMO
- PHP实战项目(仿糯米网)
- html盒模型中border的写法,CSS盒模型--边框设置:border: 1px solid red(像素 样式 颜色 ),border-bottom:1px dotted #ccc...
- SQL server 语句删除部分数据
- 算法笔记04--分治法之寻找最大最小元素
- Batch 批处理脚本
- Advertising and public relations
- 原生js方法购物车完整实现 利用localStorage
- 浏览器f12监听element的值和变量的变化
热门文章
- 今天早上被AS卡爆的结论
- Android 7.0 8.0 升级兼容
- php readdir scandir,php - readdir vs scandir - 堆栈内存溢出
- 汇编标志位及操作讲解
- chatgpt聊天时都有过哪些高情商回答?
- (三)基于cadence 617 的交流仿真、瞬态仿真 以电阻做负载共源级为例
- python+selenium百度文库ppt(爬虫)
- ​ MyBatis 延迟加载 ​
- 用火狐批量下载某个页面的所有文件
- RDD、矩阵基础——3. 矩阵、向量(Breeze、BLAS)