(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211060455.3 (22)申请日 2022.08.30 (71)申请人 阿里巴巴 (中国) 有限公司 地址 310023 浙江省杭州市余杭区五常街 道文一西路969号3幢5层5 54室 (72)发明人 巩小东  (74)专利代理 机构 北京太合九思知识产权代理 有限公司 1 1610 专利代理师 邓春燕 (51)Int.Cl. G06F 9/455(2006.01) G06F 9/50(2006.01) (54)发明名称 一种云环 境下的I/O卸载方法、 设备、 系统及 存储介质 (57)摘要 本申请实施例提供一种云环 境下的I/O卸载 方法、 设备、 系统及存储介质。 在本申请实施例 中, 宿主机的CP U中增配了队列组件, 且创新性地 提出将队列组件用于I/O的处理过程中。 基于此, 可通过队列组件为宿主机上的实例提供虚拟I/O 设备以及与虚拟I/O设备对应的设备队列; 在CP U 内, 利用设备队列对实例与虚拟I/O设备之间发 生的I/O请求进行调度; 而原 本的I/O卸载卡则只 需负责监听设备队列中的I/O请求并传递I/O请 求所相关的数据即可。 这样, 可将I/O 处理过程中 的设备队列上移 到CPU内, 从而在I/O调度过程中 可与CPU内各部件 联动, 获取到CP U内各核心的实 时负载, 从而可更加合理地实现I/O调度, 而不再 盲目调度, 这可有效提高I/O的处 理效率。 权利要求书3页 说明书16页 附图6页 CN 115408108 A 2022.11.29 CN 115408108 A 1.一种云环境下的I/O卸载系统, 包括: 宿主机的CPU以及插接在所述宿主机上的I/O卸 载卡, 所述CPU内装配有队列组件; 所述队列组件, 用于为所述宿主机上的实例提供虚拟I/O设备以及与所述虚拟I/O设备 对应的设备队列; 在所述CPU内, 利用所述设备队列对所述实例与所述虚拟I/O设备之间发 生的I/O请求进行调度; 所述I/O卸载卡, 用于监听所述设备队列中的I/O请求; 在所述实例与所述虚拟I/O设备 对应的物理I/O 设备之间传递 监听到的I/O请求所相关的数据。 2.根据权利要求1所述的系统, 采用专用集成电路ASIC构建所述队列组件, 所述队列组 件接入所述CPU的内部总线。 3.根据权利要求1所述的系统, 所述设备队列分别与所述虚拟I/O设备和所述I/O卸载 卡对接, 所述虚拟I/O设备将其与所述实例之间发生的I/O请求传递至所述设备队列, 所述 设备队列将所述 I/O请求传递至所述 I/O卸载卡, 以使所述 I/O卸载卡感知到所述 I/O请求。 4.根据权利要求1所述的系统, 所述设备队列包括第 一层队列和第 二层队列, 所述队列 组件还用于: 为所述虚拟I/O 设备关联第一指定数量的第一层队列和第二指定数量的第二层队列; 建立所述虚拟I/O 设备关联的第一层队列和第二层队列之间的映射关系; 将所述虚拟I/O 设备关联的第一层队列对接 至所述实例下的各个VCPU; 将所述虚拟I/O设备关联的第二层队列 通过I/O卸载卡对接至所述虚拟I/O设备对应的 物理I/O设备。 5.根据权利要求 4所述的系统, 所述 I/O卸载卡, 还用于: 对所述物理I/O 设备进行模拟, 以产生所述物理I/O 设备对应的模拟设备; 将所述虚拟I/O设备关联的第二层队列绑定至所述模拟设备, 以将所述虚拟I/O设备关 联的第二层队列对接 至所述物理I/O 设备。 6.根据权利要求4所述的系统, 所述队列组件在利用所述设备队列对所述实例与所述 虚拟I/O设备之间发生的I/O请求进行调度的过程中, 用于: 在所述实例向所述虚拟I/O设备发起读请求的过程中, 读取所述实例下的各个VCPU 的 负载信息; 根据所述负载信 息将所述读请求调度至所述虚拟I/O设备关联的第 一层队列中的第一 队列, 以使用所述第一队列所对接的VCPU处 理所述读 请求。 7.根据权利要求6所述的系统, 所述I/O卸载卡, 还用于: 获取所述读请求对应的响应报 文; 将所述响应报文中的元数据信息加入所述虚拟I/O设备关联的第二层队列中的指定队 列; 所述队列组件在根据 所述负载信息将所述读请求调度至所述虚拟I/O设备关联的第一 层队列中的第一队列的过程中, 用于: 根据所述负载信息将所述指定队列中的所述元数据 信息调度至所述第一队列中。 8.根据权利要求7所述的系统, 所述I/O卸载卡在所述实例与所述虚拟I/O设备对应的 物理I/O设备之间传递监听到的I/O请求所相关的数据的过程中, 用于: 将所述响应报文中 的数据部分写入所述 实例对应的内存空间; 将所述数据部 分所在的内存地址添加至所述元 数据信息中;权 利 要 求 书 1/3 页 2 CN 115408108 A 2所述队列组件, 还用于: 触发目标队列对接的VCPU按照所述元数据信息中的内存地址 读取所述响应报文中的数据部分。 9.根据权利要求4所述的系统, 所述队列组件在利用所述设备队列对所述实例与所述 虚拟I/O设备之间发生的I/O请求进行调度过程中, 用于: 将所述 实例向所述虚拟I/O设备发 起的写请求的元数据信息加入所述虚拟I/O设备关联的第一层队列中; 将所述写请求的元 数据信息调度至所述虚拟I/O 设备关联的第二层队列中的第二队列; 所述I/O卸载卡, 还用于: 利用所述第二队列对接的物理I/O 设备处理所述写请求。 10.根据权利要求9所述的系统, 所述队列组件, 还用于: 将所述写请求对应的数据部分 写入所述实例对应的内存空间; 将所述数据部分所在的内存地址添加至所述元数据信息 中; 所述I/O卸载卡在所述实例与所述虚拟I/O设备对应的物理I/O设备之间传递监听到的 I/O请求所相关的数据的过程中, 用于: 从所述第二队列中读取所述元数据信息; 按照所述 元数据信息中的内存地址获取所述写请求的数据部 分; 将所述数据部 分发送至所述第二队 列对接的所述物理I/O 设备中。 11.根据权利要求1所述的系统, 所述队列组件在为所述宿主机上的实例提供虚拟I/O 设备的过程中, 用于: 对需要与所述实例进行I/O的物理I/O设备进行I/O虚拟化, 以产 生所述物理I/O设备对 应的虚拟I/O 设备。 12.根据权利要求11所述的系统, 所述队列组件在对需要与所述实例进行I/O的物理I/ O设备进行I/O虚拟化的过程中, 用于: 采用SRIOV技术, 为 需要与所述实例进行I/O的物理I/O设备创建VF设备, 所述VF设备用 于与所述实例下的各个VCPU 进行数据交换; 利用所述实例的操作系统将所述VF设备注 册为指定类型的虚拟I/O 设备。 13.根据权利要求1所述的系统, 所述实例与所述虚拟I/O设备之间发生的I/O请求采用 io‑uring协议。 14.根据权利要求1所述的系统, 所述队列组件中还 包括加速模块, 所述加速模块用于: 对所述实例与所述虚拟I/O设备之间发生的I/O请求所相关的数据执行加速处理, 所述 加速处理包括: 加解密、 压缩和统计卸载中的一种或多种处 理。 15.根据权利要求14所述的系统, 所述加速模块绑定至所述宿主机为所述虚拟I/O设备 分配的内存地址, 所述虚拟I/ O设备将其与所述 实例之间发生的I/ O请求传递至所述设备队 列; 所述设备队列触发所述加速模块访问所述内存地址并对所述I/O请求所相关的数据进 行加速处理; 所述设备队列将所述I/O请求传递至所述I/O卸载卡, 以使 所述I/O卸载卡 感知 到所述I/O请求并从所述内存地址读取 所述加速处 理后的数据。 16.一种云环境下的I/O卸载方法, 适用于宿主机中的CPU, 所述CPU中装配有队列组件, 所述方法包括: 利用所述队列组件为所述宿主机上的实例提供虚拟I/O 设备; 利用所述队列组件为所述虚拟I/O 设备配置对应的设备队列; 在所述CPU内, 利用所述设备队列对所述实例与所述虚拟I/O设备之间发生的I/O请求 进行调度, 以供所述宿主机上插接的I/ O卸载卡监听所述设备队列中的I/O请求并在所述 实权 利 要 求 书 2/3 页 3 CN 115408108 A 3

.PDF文档 专利 一种云环境下的I O卸载方法、设备、系统及存储介质

文档预览
中文文档 26 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共26页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种云环境下的I O卸载方法、设备、系统及存储介质 第 1 页 专利 一种云环境下的I O卸载方法、设备、系统及存储介质 第 2 页 专利 一种云环境下的I O卸载方法、设备、系统及存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:07:21上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。