当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于使用多个存储器通道来降低平台中的加速器-存储器访问成本的技术制造技术

技术编号:20724599 阅读:50 留言:0更新日期:2019-03-30 17:38
用于使用多个存储器通道来降低平台中的加速器‑存储器访问成本的技术。装置包括计算平台,该计算平台具有多个加速器和多个存储设备,该多个存储设备经由多个存储器通道来访问。经由运行在计算平台的软件来提交作业以访问要被卸载至加速器的功能。在所卸载功能下,加速器访问一个或多个缓冲器,这一个或多个缓冲器全体需要经由多个存储器通道之中的多个存储器通道来访问。标识具有功能的可用实例的加速器,并且针对加速器中的每一个来计算经由多个存储器通道访问一个或多个缓冲器的合计成本。随后选择具有最小合计成本的加速器来卸载功能。新指令集架构(ISA)指令也被公开用于标识存储器页以及用于缓冲器的存储器通道。

【技术实现步骤摘要】
用于使用多个存储器通道来降低平台中的加速器-存储器访问成本的技术
技术介绍
近年来,数据分析和“大数据”处理已变得日益重要。数据分析和大数据工作负荷需要处理大量数据。处理此类大量数据的一个办法是跨大量服务器分配处理任务且并行地处理工作负荷。例如,ApacheHadoop软件框架使得能够跨大量商品服务器来分配任务,以及使用映射归约(MapReduce)来处理工作负荷。虽然Hadoop和映射归约提供极好的可缩放性,但它们需要极大量的服务器内通信(当以大规模实现时),且不能高效地使用处理器和存储器资源。诸如用于数据分析和大数据的一些计算和存储器带宽密集型工作负荷难以使用处理器核来获得所需性能水平。为解决此问题,已开发出所谓的“加速器”。加速器最初被实现为耦合至CPU(中央处理单元)的组件,并作为具有其自身地址空间的IO(输入输出)设备来管理,这需要显著地IO通信水平来在加速器地址空间与运行在系统存储器地址空间的应用之间传递数据。最近,已提出采用具有嵌入式加速器的片上系统(SoC)架构的CPU。附图说明随着通过在结合所附附图时参考以下具体实施方式使本专利技术的前述多个方面和许多伴随的优点变得更好地被理解,本专利技术的前述多个方面和许多伴随的优点将更容易领会,其中,遍及各个视图,除非另外指定,否则相同的附图标记指相同的部件:图1是第一多插槽非统一存储器存取(NUMA)平台架构的示意图,该第一多插槽NUMA平台架构包括具有两个片上加速器的一对处理器;图2是第二多插槽NUMA平台架构的示意图,其中每个NUMA节点包括耦合至两个芯片外加速器的处理器;图3是例示出根据一个实施例的被执行用来选择用于卸载功能的加速器的操作的概述的流程图;图4是例示出用于确定从平台上具有要被卸载的功能的可用实例的加速器访问一个或多个缓冲器的合计成本的操作的流程图;图5是示例性成本矩阵;图6是简化的NUMA平台架构,示出了访问包括加速器和存储器设备的对应组件的各种成本;图7是例示出适合于实现本文公开的指令集架构(ISA)指令的基于Arm的微架构的示例的示意框图;以及图8是例示出根据一个实施例的示例性NUMA节点的进一步细节的示意图。具体实施方式本文描述了用于使用多个存储器通道来降低平台中的加速器-存储器访问成本的方法和装置的实施例。在以下描述中,阐述了许多具体细节以提供对本专利技术的实施例的透彻理解。然而,本领域技术人员将认识到,可不利用特定的细节中的一个或多个或利用其他方法、组件、材料等来实践本专利技术。在其他实例中,未详细地示出或描述公知的结构、材料或操作以避免使本专利技术的多个方面模糊。贯穿本说明书,对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本专利技术的至少一个实施例中。因此,在整个说明书的多个位置出现短语“在一个实施例中”或“在实施例中”不一定全部是指同一实施例。此外,在一个或多个实施例中,能以任何合适的方式来组合特定的特征、结构或特性。为了清晰起见,也可通过附图中组件的标签而不是特定的参考数字来引用本文中附图中的各个组件。此外,可用后面跟随“(typ)”(意思是“典型的”)的参考数字来示出指示特定类型组件(与特定组件相对)的参考数字。将会理解,这些组件的配置将是以下组件的典型情况:可能存在但出于简单和清晰的目的未在附图中示出的类似组件;或者未以单独的参考数字标示而以其他方式类似的组件。相反,“(typ)”不解释为意味着组件、元件等典型地用于其所公开的功能、实现、目的等。诸如数据分析和大数学处理之类的工作负荷往往需要处理来自存储器的大量数据,并形成针对高效加速器设计的有趣挑战。加速器的能力稳步提升,且最显著的新近趋势之一是有“共享虚拟存储器”(SVM)能力的加速器。传统加速器需要作为其自身私人地址空间中的IO(输入输出)设备来管理;这使用昂贵的内核模式驱动器(KMD)来实现,该内核模式驱动器(KMD)需要应用程序在用户与内核空间之间来回交叉、将页钉扎在存储器中、或者将用户缓冲器复制到由OS/内核模式驱动器管理的专用缓冲器或从该专用缓冲器复制用户缓冲器。使用SVM,加速器或IO设备可直接在用户应用线程的地址空间上工作,因为其与CPU(中央处理单元、aka处理器)线程共享同一虚拟->物理地址转化能力。这是加速器效率中以及其他性能益处之中的关键改进,使得能够经由“用户模式驱动器”或UMD直接向加速器进行用户模式提交。然而,对于需要许多加速引擎来以极高带宽按数据流方式操作的应用,SVM也形成了一些挑战。当应用向加速器指派作业时,其在虚拟存储器空间中向加速器分配输入数据缓冲器和输出数据缓冲器。当在多插槽平台中使用多个加速器时,这些输入和输出数据缓冲器可包括跨不同插槽的存储器散布、以及跨每个插槽内的许多存储器通道(例如,6至8个)散布的物理存储器页。由于这些加速器作为高带宽流引擎来操作,取决于哪个引擎在该作业上工作,可能导致性能上以及流过CPUSoC(片上系统)的所有内部结构和插槽内链路的数据量上的巨大差异。此问题在多插槽非统一存储器存取(NUMA)架构(诸如,图1中通过NUMA架构100示出的架构)下恶化。NUMA架构100包括也被标示为‘A’和‘B’的两个NUMA节点102a和102b。为了简明和方便,本文对节点的引用可能是对其字母标号而不是其参考数字的引用。此外,对跨节点通用的组件的引用将是对基本参考数字的引用,而字母‘a’、‘b’将被添加至附图中的参考数字,以标识特定NUMA节点上的此组件。例如,节点A和B中的每一个包括处理器104,节点A的处理器被标示为104a,而节点B的处理器被标示为104b。每个处理器104具有包括多个处理器核106的核部分,每个核部分包括本地的1级(L1)和2级(L2)高速缓存(被描绘为L1/L2高速缓存108)。处理器的剩余部分被称为非核,且包括用于连接处理器上通信中的各功能块的各种互连电路系统和接口。为了简明起见,此互连电路系统被描绘为互连110;然而,将理解,互连110可表示一种或多种互连结构,诸如总线、以及单巷道或多巷道串行点到点或网格互连结构。此外,互连结构能以层次结构来实现,和/或采用不同的协议和结构,且使用之间的桥来接口这些不同的协议和结构。若干组件被耦合至互连110,包括3级(L3)高速缓存112(也被称为末级高速缓存或LLC)、插槽至插槽接口114、如由加速器116、118、120和122描绘的一对加速器(也被描述为或称为加速器1、加速器2、加速器3和加速器4)、以及存储器控制器(MC)124。加速器1和2进一步被链路117连接,而加速器120和122进一步通过链路119来连接。在一个实施例中,一个或两个加速器包括场可编程门阵列(FPGA),该FPGA包括嵌入于处理器管芯上的可编程电路系统。加速器还可包括嵌入在处理器管芯上的预定义电路系统。除这些所例示组件之外,每个处理器104可包括为了清晰而未示出的许多其他功能块。存储器控制器124a和124b中的每一个包括连接至一个或多个DRAM(动态随机存取存储器)设备126(诸如,双列直插存储器模块(DIMM)128)的一个或多个通道。在图1中,这些DRAM存储器设备被描绘为节点A的DRAM1-4以及节点B的DRAM本文档来自技高网...

【技术保护点】
1.一种在计算平台上执行的方法,所述计算平台包括多个加速器以及通过多个存储器通道来访问的多个存储器设备,所述方法包括:响应于用于访问要被卸载至加速器的功能的作业提交,所述功能用于访问一个或多个缓冲器,所述一个或多个缓冲器全体需要经由所述多个存储器通道之中的多个存储器通道来访问,标识具有所述功能的可用实例的加速器;针对每个所标识加速器,计算经由所述多个存储器通道访问所述一个或多个缓冲器的合计成本;以及选择具有最小合计成本的加速器来向其卸载所述功能。

【技术特征摘要】
2017.09.22 US 15/713,0011.一种在计算平台上执行的方法,所述计算平台包括多个加速器以及通过多个存储器通道来访问的多个存储器设备,所述方法包括:响应于用于访问要被卸载至加速器的功能的作业提交,所述功能用于访问一个或多个缓冲器,所述一个或多个缓冲器全体需要经由所述多个存储器通道之中的多个存储器通道来访问,标识具有所述功能的可用实例的加速器;针对每个所标识加速器,计算经由所述多个存储器通道访问所述一个或多个缓冲器的合计成本;以及选择具有最小合计成本的加速器来向其卸载所述功能。2.如权利要求1所述的方法,其特征在于,所述计算平台是多插槽计算平台,所述多插槽计算平台具有非统一存储器存取NUMA架构,所述NUMA架构包括共享虚拟存储器SVM,所述一个或多个缓冲器在逻辑上被存储在所述SVM中,并且其中所述多个加速器的至少一部分是具有SVM能力的加速器。3.如权利要求1或2所述的方法,其特征在于,进一步包括:确定所述多个加速器与所述多个存储器通道之间的互连拓扑;基于所述互连拓扑来构建包括多个单元的成本矩阵,其中每个单元是用所述多个存储器通道的加速器访问所述多个存储器通道中的存储器通道的成本来填充的;以及使用所述成本矩阵来计算被标识的所述加速器中的每个加速器的合计成本。4.如权利要求3所述的方法,其特征在于,进一步包括:确定与所述一个或多个缓冲器相关联的存储器页的数量,所述一个或多个缓冲器通过所述多个存储器通道中的每个存储器通道来访问;以及通过将成本矩阵中加速器用于访问存储器通道的成本乘以与通过此存储器通道访问的所述一个或多个缓冲器相关联的存储器页的数量来计算经由此存储器通道来访问存储器页的成本。5.如权利要求3所述的方法,其特征在于,进一步包括:在所述计算平台的正进行运行时操作期间,使用动态确定的已更新成本来更新一个或多个单元。6.如权利要求5所述的方法,其特征在于,通过监视沿所述互连拓扑中的一个或多个链路的带宽以及基于所监视带宽应用试探法以更新成本,来确定成本被更新的至少一个单元或者所述一个或多个单元的已更新成本。7.如前述权利要求中的任一项所述的方法,其特征在于,进一步包括:i.针对所述一个或多个缓冲器中的每个缓冲器,标识被分配至此缓冲器的一个或多个存储器页;ii.针对所述一个或多个存储器页中的每个存储器页,标识用于访问此存储器页的存储器通道;以及iii.针对所述加速器中的每个加速器,确定经由所述存储器通道中的每个存储器通道来访问存储器页的相应成本,其中通过以下方式来确定给定加速器的合计成本,针对i中标识的每个存储器页,对此加速器访问此存储器页的成本进行求和。8.如前述权利要求中的任一项所述的方法,其特征在于,所述计算平台包括处理器,所述处理器包括指令集架构ISA,所述指令集架构ISA具有指令,针对所述一个或多个缓冲器中的每个缓冲器执行一次所述指令以标识此缓冲器使用的存储器页以及用于访问每个存储器页的存储器通道。9.如权利要求8所述的方法,其特征在于,所述指令具有:在第一寄存器中的用于存储指向数据结构的指针的第一操作数;在第二寄存器中的用于存储缓冲器的地址的第二操作数;以及在第三寄存器中的用于存储缓冲器的长度或者由缓冲器跨越的存储器页的数量的第三操作数,其中所述指令被配置成在执行之际使用一数据来填充所述数据结构,所述数据针对所述一个或多个存储器页中的每个存储器页来标识用于访问此存储器页的存储器通道。10.如权利要求8所述的方法,其特征在于,所述处理器采用基于ARM的架构。11.一种具有非统一存储器存取NUMA架构的多插槽计算平台,包括:多个NUMA节点,每个NUMA节点包括,处理器,所述处理器包括多个组件,所述多个组件包括,多个处理器核;至少一个存储器控制器,所述至少一个存储器控制器具有多个存储器通道;插槽至插槽接口;至少一个加速器;以及内部互连电路,所述内部互连电路耦合通信中的所述多个组件;多个存储器设备,所述多个存储器设备被通信地耦合至所述处理器上的多个存储器通道;以及插槽至插槽互连电路系统,所述插槽至插槽互连电路系统用于实现诸对处理器之间的通信;其中,在操作之际,所述多插槽计算平台被配置成,响应于经由运行在所述多插槽计算平台上的软件进行的用于访问要被卸载至加速器的功能的作业提交,所述功能用于访问一个或多个缓冲器,所述一个或多个缓冲器全体需要经由所述多个存储器通道之中的多个存储器通道来访问,标识具有所述功能的可用实例的加速器;针对每个所标识加速器,计算经由所述多个存储器通道访问被标识的所述一个或多个缓冲器的合计成本;以及选择具有最小合计成本的所述加速器来向其卸载所述功能。12.如权...

【专利技术属性】
技术研发人员:V·戈帕尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1