NVMe 计算存储体系结构及关键进展
NVMe 计算存储体系结构
NVMe 计算存储体系结构采用可扩展架构,主要包含以下核心构件:
- 程序作为计算卸载:程序可在计算的子集上执行,操作限于设备内存中的数据。程序可能为固定功能或通过 eBPF 从主机下载执行,类似于软件功能,通过参数调用并运行至完成。
- 计算命名空间:引入新的命名空间类型,管理可执行一个或多个程序的实体,可能具有对子系统内存的非对称访问权限。
程序类型及下载方式
- 可下载和设备定义的程序:包括由主机加载到计算命名空间的程序、制造商提供的固定程序、以及设备实现的可作为程序调用的功能(如压缩、解密)。
- eBPF 用于可下载程序:选择 eBPF 的原因在于其灵活性、处理复杂格式的能力、新兴应用支持、现有应用程序的可移植性、供应商无关性、易于理解以及完善的 LLVM 工具链和 Linux Foundation 生态系统。
流程示例
- 执行程序流程:数据首先被“读取”到子系统内存中,然后在计算命名空间上执行指定程序,最后将处理后的数据从子系统内存读取回主机。
- 示例应用:包括简单数据筛选和过滤加密数据等场景,展示了程序在子系统内存中的执行过程。
计算存储的 NVMe 更改
- 可选支持:包括内存命名空间的新 I/O 命令集(TP4091)和子系统本地内存(TP4131)。
- TP4091(计算程序):引入新的 I/O 命令集,用于执行、加载、激活程序,以及创建/删除内存范围集,支持识别控制器和命名空间,并包含新的日志页。
- TP4131(子系统本地内存):提供读取和写入内存命名空间的命令,支持识别控制器和命名空间,并包含新的日志页。
NVMe 计算存储任务组
- 工作组概况:由来自 47 家公司的 211 名成员组成,共同主席为金马龙(英特尔)和斯蒂芬·贝茨(Eideticom),其他成员包括比尔·马丁(三星)。
- 工作组目标:定义 TP4091 的体系结构,通过批准 TP4091,并推进其他计算存储(CS)技术提案。
- 参与方式:可通过 https://workspace.nvmexpress.org/apps/or/g/workgroup/portal/ 访问工作组,选择计算存储任务组并点击“加入组”链接参与。