SPDK加速框架介绍

本文介绍了SPDK加速框架,它提供统一API接口,支持内存操作卸载,包括内存拷贝、填充、比较等。SPDK通过抽象层和具体实现层管理硬件,如IOAT和DSA。目前应用于SPDK bdev、nvmf模块,以及accel_perf工具中,未来将持续优化和集成。
摘要由CSDN通过智能技术生成

加速内存操作的利器

SPDK从去年7月(20.07 release)开始,开始发布SPDK 加速框架(SPDK acceleration framework)的模块,这个模块可以对支持内存操作卸载的硬件(诸如I/OAT或者DSA)进行抽象和封装,使得上层软件层可以简便的使用,从而卸载CPU的一些工作量。

SDPK加速框架介绍

图1给出了SPDK 加速框架(Acceleration Framework)的抽象图,主要分为以下几个部分:

I. 抽象层:

提供统一的API接口。SPDK的Acceleration Framework 主要支持以下几种的内存加速操作:

a. 内存拷贝(ACCEL_COPY)

b. 内存填充(ACCEL_FILL)

c. 内存比较(ACCEL_COMPARE)

d. 内存双播(ACCEL_DUALCAST)

e. 内存CRC32C的计算 (ACCEL_CRC32C)

f. 内存的DIF操作(ACCEL_DIF)主要用于一些存储协议中的使用,诸如NVMe over Fabrics.

g. 内存的拷贝加CRC32C操作 (ACCEL_COPY_CRC32C)

一些常用的API 包括spdk_accel_batch_prep_crc32c,spdk_accel_submit_copy等。目前代码位于如下的位置:

  • 头文件位于:include/spdk/accel_engine.h(外部头文件), spdk_internal/accel_engine.h(内部头文件)
  • C代码位于 :lib/accel。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值