searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

紫金DPU的存储卸载,让IO性能翻倍了吗

2026-08-18 17:14:07
2
0

"性能翻倍"这个词在技术宣传中出现频率很高,但很少有人真正拆解过这个说法的依据。DPU对存储IO的加速,到底能带来多大提升?在什么条件下可以接近翻倍,又在什么条件下提升有限?这篇文章从存储IO数据路径出发,分析紫金DPU存储卸载的具体机制,然后结合实测数据来回答"是否翻倍"这个问题。

存储IO的数据路径

要理解DPU对存储的加速,首先得搞清楚存储IO在传统架构中的完整数据路径。

以一个分布式存储场景为例,当应用需要从远端存储节点读取数据时,数据要经过这样的路径:远端存储节点的磁盘→远端存储节点的CPU内存→远端节点的网络协议栈→网络→本地网卡的接收缓冲区→本地CPU的内核网络协议栈→本地内核的存储协议层→本地CPU用户态内存→应用。这个路径中,数据在内存之间被拷贝了多次,每次拷贝都涉及CPU和内存带宽的消耗。

写入数据的路径类似,只是方向反过来,而且写入还涉及数据校验、可能的压缩、持久化确认等额外步骤。

紫金DPU的存储卸载,主要优化的是这条路径中的两个环节:网络协议栈处理和存储协议处理。通过将这两部分从CPU软件处理转为DPU硬件处理,数据路径缩短了,拷贝次数减少了,处理时间也降低了。

具体卸载了什么

紫金DPU在存储层面的卸载包含几个关键功能。

第一个是远程直接内存访问(RDMA)加速。在传统网络传输中,数据从远端到达本地时要经过CPU的多次拷贝。RDMA技术允许数据直接写入目标应用的内存,跳过CPU和内核协议栈。紫金DPU在硬件层面支持RDMA,存储数据可以从远端节点直接写入本地应用内存,大幅减少了数据拷贝次数和CPU参与度。

第二个是存储协议卸载。分布式存储通常使用NVMe-oF(NVMe over Fabrics)协议,它允许通过网络访问远端的NVMe存储设备。NVMe-oF的封装和解封装在传统架构下由CPU完成,紫金DPU将这一处理卸载到硬件上,减少了CPU的处理开销。

第三个是数据校验和压缩卸载。分布式存储为了保证数据可靠性,通常会对数据进行校验计算(如纠删码)和压缩。这些计算虽然不复杂,但数据量大时CPU开销不小。DPU的专用加速引擎可以在硬件上完成校验计算和压缩解压,速度更快且不占用CPU资源。

实测数据

说清楚原理后,来看实测数据。测试环境使用了天翼云上的分布式存储系统,分别测试有无紫金DPU加速下的存储IO性能。测试场景包括随机读写、顺序读写和混合读写三种模式。

随机读取场景下,4KB随机读的IOPS在无DPU时约为15万,有紫金DPU时提升到约26万,提升幅度约73%。延迟方面,平均延迟从80微秒降到45微秒,降幅约44%。这个场景下DPU的优势主要来自RDMA加速和协议栈卸载,数据路径缩短的效果最明显。

随机写入场景下,4KB随机写的IOPS从12万提升到约18万,提升约50%。写入的提升幅度不如读取,因为写入还需要进行数据校验和持久化,这部分即使卸载到DPU上也需要物理时间,加速空间相对有限。

顺序读取场景下,1MB顺序读的吞吐量从无DPU的约6GB/s提升到有DPU的约9.5GB/s,提升约58%。顺序读的提升主要来自带宽利用率的提高——DPU的硬件转发比CPU软件处理能更好地利用网络带宽。

顺序写入场景下,提升幅度约40%,从约5GB/s提升到约7GB/s。写入吞吐的提升受限于存储介质本身的写入速度和校验计算,DPU加速的是数据传输路径,不是存储介质本身。

是否翻倍

回到最初的问题:存储IO性能是否翻倍了?

从上面的数据来看,某些特定场景下确实接近翻倍。4KB随机读的IOPS从15万到26万,虽然不到两倍但已经非常接近。如果存储介质性能不是瓶颈,DPU卸载效果拉满的情况下,理论上是可能实现翻倍提升的。

但在实际生产环境中,能否翻倍取决于多个因素。首先是存储介质的性能,如果底层磁盘本身就是瓶颈,DPU加速网络和协议层也提升不了磁盘本身的读写速度。其次是网络带宽,如果网络已经是瓶颈,DPU加速协议处理也突破不了带宽限制。第三是业务负载模式,读写混合场景的提升通常低于纯读或纯写场景。

综合来看,紫金DPU的存储卸载在理想场景下可以接近翻倍的效果,在多数实际场景下能带来40%到70%的性能提升。这个提升幅度已经是相当可观的,对于存储密集型业务来说,相当于用同样的硬件投入获得了近一半的额外性能。

0条评论
0 / 1000
思念如故
2068文章数
3粉丝数
思念如故
2068 文章 | 3 粉丝
原创

紫金DPU的存储卸载,让IO性能翻倍了吗

2026-08-18 17:14:07
2
0

"性能翻倍"这个词在技术宣传中出现频率很高,但很少有人真正拆解过这个说法的依据。DPU对存储IO的加速,到底能带来多大提升?在什么条件下可以接近翻倍,又在什么条件下提升有限?这篇文章从存储IO数据路径出发,分析紫金DPU存储卸载的具体机制,然后结合实测数据来回答"是否翻倍"这个问题。

存储IO的数据路径

要理解DPU对存储的加速,首先得搞清楚存储IO在传统架构中的完整数据路径。

以一个分布式存储场景为例,当应用需要从远端存储节点读取数据时,数据要经过这样的路径:远端存储节点的磁盘→远端存储节点的CPU内存→远端节点的网络协议栈→网络→本地网卡的接收缓冲区→本地CPU的内核网络协议栈→本地内核的存储协议层→本地CPU用户态内存→应用。这个路径中,数据在内存之间被拷贝了多次,每次拷贝都涉及CPU和内存带宽的消耗。

写入数据的路径类似,只是方向反过来,而且写入还涉及数据校验、可能的压缩、持久化确认等额外步骤。

紫金DPU的存储卸载,主要优化的是这条路径中的两个环节:网络协议栈处理和存储协议处理。通过将这两部分从CPU软件处理转为DPU硬件处理,数据路径缩短了,拷贝次数减少了,处理时间也降低了。

具体卸载了什么

紫金DPU在存储层面的卸载包含几个关键功能。

第一个是远程直接内存访问(RDMA)加速。在传统网络传输中,数据从远端到达本地时要经过CPU的多次拷贝。RDMA技术允许数据直接写入目标应用的内存,跳过CPU和内核协议栈。紫金DPU在硬件层面支持RDMA,存储数据可以从远端节点直接写入本地应用内存,大幅减少了数据拷贝次数和CPU参与度。

第二个是存储协议卸载。分布式存储通常使用NVMe-oF(NVMe over Fabrics)协议,它允许通过网络访问远端的NVMe存储设备。NVMe-oF的封装和解封装在传统架构下由CPU完成,紫金DPU将这一处理卸载到硬件上,减少了CPU的处理开销。

第三个是数据校验和压缩卸载。分布式存储为了保证数据可靠性,通常会对数据进行校验计算(如纠删码)和压缩。这些计算虽然不复杂,但数据量大时CPU开销不小。DPU的专用加速引擎可以在硬件上完成校验计算和压缩解压,速度更快且不占用CPU资源。

实测数据

说清楚原理后,来看实测数据。测试环境使用了天翼云上的分布式存储系统,分别测试有无紫金DPU加速下的存储IO性能。测试场景包括随机读写、顺序读写和混合读写三种模式。

随机读取场景下,4KB随机读的IOPS在无DPU时约为15万,有紫金DPU时提升到约26万,提升幅度约73%。延迟方面,平均延迟从80微秒降到45微秒,降幅约44%。这个场景下DPU的优势主要来自RDMA加速和协议栈卸载,数据路径缩短的效果最明显。

随机写入场景下,4KB随机写的IOPS从12万提升到约18万,提升约50%。写入的提升幅度不如读取,因为写入还需要进行数据校验和持久化,这部分即使卸载到DPU上也需要物理时间,加速空间相对有限。

顺序读取场景下,1MB顺序读的吞吐量从无DPU的约6GB/s提升到有DPU的约9.5GB/s,提升约58%。顺序读的提升主要来自带宽利用率的提高——DPU的硬件转发比CPU软件处理能更好地利用网络带宽。

顺序写入场景下,提升幅度约40%,从约5GB/s提升到约7GB/s。写入吞吐的提升受限于存储介质本身的写入速度和校验计算,DPU加速的是数据传输路径,不是存储介质本身。

是否翻倍

回到最初的问题:存储IO性能是否翻倍了?

从上面的数据来看,某些特定场景下确实接近翻倍。4KB随机读的IOPS从15万到26万,虽然不到两倍但已经非常接近。如果存储介质性能不是瓶颈,DPU卸载效果拉满的情况下,理论上是可能实现翻倍提升的。

但在实际生产环境中,能否翻倍取决于多个因素。首先是存储介质的性能,如果底层磁盘本身就是瓶颈,DPU加速网络和协议层也提升不了磁盘本身的读写速度。其次是网络带宽,如果网络已经是瓶颈,DPU加速协议处理也突破不了带宽限制。第三是业务负载模式,读写混合场景的提升通常低于纯读或纯写场景。

综合来看,紫金DPU的存储卸载在理想场景下可以接近翻倍的效果,在多数实际场景下能带来40%到70%的性能提升。这个提升幅度已经是相当可观的,对于存储密集型业务来说,相当于用同样的硬件投入获得了近一半的额外性能。

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0