[发明专利]用于加速存储器复制操作的自适应管线选择在审
申请号: | 201980096505.3 | 申请日: | 2019-06-21 |
公开(公告)号: | CN114144768A | 公开(公告)日: | 2022-03-04 |
发明(设计)人: | 胡嘉瑜;R·王;梁存铭 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 刘瑜 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 加速 存储器 复制 操作 自适应 管线 选择 | ||
一种计算系统(100),其具有直接存储器存取(DMA)引擎管线(108)、多个处理核心(122‑1‑122‑M),每个处理核心(122‑1‑122‑M)包括核心管线(106),以及耦合到所述DMA引擎管线(108)和所述多个处理核心(122‑1‑122‑M)的存储器(130)。所述计算系统(100)包括耦合到所述多个处理核心(122‑1‑122‑M)和所述DMA引擎管线(108)的管线选择器(112),所述管线选择器(112)用于:在初始化期间,针对所述计算系统(100)确定用于管线选择的至少一个阈值,以及在运行时期间,至少部分地基于所述至少一个阈值来选择所述核心管线(106)或所述DMA引擎管线(108)中的一个来执行所述存储器(130)中的存储器复制操作。
背景技术
概括地说,本发明的领域涉及计算系统中的存储器复制操作,并且更具体地说,本发明的领域涉及通过选择性地使用处理器核心管线或直接存储器存取(DMA)管线来加速存储器复制操作。
一些处理器包括有效地执行存储器复制操作的DMA引擎。在由DMA引擎传输数据期间,不需要处理器干预。因此,在涉及大量数据移动的场景中使用DMA引擎不仅可以潜在地提高存储器复制操作的性能,还可以节省宝贵的处理器资源。然而,利用DMA引擎实现最佳系统性能并不简单。存在几个因素,包括复制缓冲器长度和复制操作的数量,这些因素可能会显著影响DMA引擎存储器复制操作的性能。
在实际场景中,虚拟机(VM)和主机应用的工作负载特征具有非常大的差异。例如,存储器内键值存储(IMKV)中的对象长度从字节到兆字节不等。由于设置存储器复制操作所需的开销,某些IMKV工作负载可能变得太小而不适用于DMA引擎加速。静态处理器管线和DMA引擎管线设计会导致严重的资源利用不足,从而导致计算系统的性能欠佳。
附图说明
图1示出了根据一些实施例的示例计算系统。
图2示出了根据一些实施例的、与虚拟机管理器交互的虚拟机的示例。
图3示出了根据一些实施例的自适应管线选择系统的示例。
图4是根据一些实施例的、针对存储器复制操作选择管线的示例过程的流程图。
图5是根据一些实施例的、处理存储器复制操作的描述符的第一遍的示例的流程图。
图6是根据一些实施例的、处理存储器复制操作的描述符的第二遍的示例的流程图。
图7是根据一些实施例的、处理存储器复制操作的示例的流程图。
图8示出了存储介质的示例。
图9示出了另一个示例计算平台。
具体实施方式
本发明的实施例提供了自适应处理器核心管线和DMA引擎管线设计,以在运行时期间根据工作负载特性灵活地选择最合适的底层计算硬件来最优地执行针对多样化和动态工作负载的存储器复制操作。
在运行虚拟机(VM)和应用之前(例如,在计算系统的初始化期间),本发明的实施例确定计算系统的多个阈值。在实施例中,阈值包括阈值复制长度和复制操作的阈值数量。在运行时期间,实施例动态地概述每个传入分组的分组缓冲器长度以及要在一批传入分组中处理的存储器复制操作的数量;并且至少部分地基于该概述和阈值,实施例选择处理器核心管线或DMA引擎管线来针对该批次传入分组的一部分执行存储器复制操作。
在本发明的实施例中,DMA引擎管线的性能受到要被复制的分组缓冲器长度和存储器复制操作的数量的影响。此外,调用DMA引擎来复制数据需要处理器按门铃并轮询DMA引擎的存储器映射的输入/输出(I/O)(MMIO)状态寄存器以检查数据传输是否完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980096505.3/2.html,转载请声明来源钻瓜专利网。