用于针对加速器板提供共享存储器的技术的制作方法


用于针对加速器板提供共享存储器的技术
1.本技术为分案申请,其原申请是于2018年8月30日向中国专利局提交的专利申请,申请号为201580063003.2,发明名称为“用于针对加速器板提供共享存储器的技术”。
2.相关申请的交叉引用
3.本技术要求2016年11月29日提交的美国临时专利申请no.62/427,268和2017年8月30日提交的印度临时专利申请no.201741030632的权益。


背景技术:



4.在数据中心中使用加速器设备(例如现场可编程门阵列(fpga))正在增加到如下的点,其中需要更多存储器可用于加速器设备来进行存取并允许在个体加速器设备之间进行更多流体操作。目前,具有一个或多个加速器设备的计算设备包含对计算设备上的加速器设备是本地的存储器设备,并且对其他加速器设备不可存取。也就是说,存储器设备仅由耦合到计算设备内的存储器设备的单个加速器设备使用。
5.上述各个加速器设备中的存储器设备的实现方式导致难以在多个加速器设备上分布工作负载(例如,应用、进程等),因为要操作的任何数据集仅可由单加速器设备存取。因此,对于包括许多加速器设备的数据中心,在任何给定时间可能未使用大量加速器设备,因为它们不能与其他加速器设备共享工作负载的执行。
附图说明
6.本文描述的概念通过示例而非限制的方式在附图中示出。为了说明的简单和清楚,附图中示出的元件不一定按比例绘制。在认为合适的情况下,在附图中重复使用附图标记以指示对应或类似的元件。
7.图1是可以根据各种实施例实现本文描述的一种或多种技术的数据中心的概念性概述的图;
8.图2是图1的数据中心的机架的逻辑配置的示例性实施例的图;
9.图3是可以根据各种实施例实现本文描述的一种或多种技术的另一数据中心的示例性实施例的图;
10.图4是可以根据各种实施例实现本文描述的一种或多种技术的数据中心的另一示例性实施例的图;
11.图5是表示可以在图1、图3和图4的数据中心的各种板之间建立的链路层连接的连接方案的图;
12.图6是可以表示根据一些实施例的在图1-4中描绘的机架中的任意特定一个的架构的机架架构的图;
13.图7是可以与图6的机架架构一起使用的板的示例性实施例的图;
14.图8是用于针对以扩展能力为特征的板提供支撑的机架架构的示例性实施例的图;
15.图9是根据图8的机架架构实现的机架的示例性实施例的图;
16.图10是被设计为与图9的机架结合使用的板的示例性实施例的图;
17.图11是可以根据各种实施例实现本文描述的一种或多种技术的数据中心的示例性实施例的图;
18.图12是用于在加速器板之间共享虚拟存储器的系统的至少一个实施例的简化框图;
19.图13是图12的系统的加速器板的至少一个实施例的简化框图;
20.图14是图12的系统的计算板的至少一个实施例的简化框图;
21.图15是可以由图12和图13的加速器板建立的环境的至少一个实施例的简化框图;
22.图16-图17是由图12和13的加速器板执行的用于共享虚拟存储器的方法的至少一个实施例的简化流程图;
23.图18是可由图12的系统执行的虚拟存储器的示例共享;
24.图19是可以由图12的系统执行的到物理地址的示例性虚拟地址映射;以及
25.图20是用于在加速器板内共享虚拟存储器的系统的另一实施例的简化框图。
具体实施方式
26.虽然本公开的概念易于进行各种修改和替换形式,但是其具体实施例已经通过附图中的示例示出并且将在本文中详细描述。然而,应该理解的是,并不意图将本公开的概念限制于所公开的特定形式,而是相反,意图覆盖与本公开和所附权利要求一致的所有修改、等同物和替代例。
27.说明书中对“一个实施例”、“实施例”、“说明性实施例”等的引用指示所描述的实施例可包括特定特征、结构或特性,但是每个实施例必要地或非必要地包括该特定特征、结构或特性。而且,这些短语不一定指的是同一实施例。此外,当结合实施例描述特定特征、结构或特性时,提出本领域技术人员知道结合其他实施例实现这样的特征、结构或特性,无论是否明确描述。另外,应当意识到,以“至少一个a、b和c”的形式包括在列表中的项目可以表示(a);(b);(c);(a和b);(a和c);(b和c);或(a、b和c)。类似地,以“a、b或c中的至少一个”形式列出的项目可以表示(a);(b);(c);(a和b);(a和c);(b和c);或(a、b和c)。
28.在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以实现为由暂时性或非暂时性机器可读(例如,计算机可读)存储介质承载或存储的指令,其可以由一个或多个处理器读取和执行。机器可读存储介质可以体现为用于以机器可读形式存储或传输信息的任何存储器设备、机制或其他物理结构(例如,易失性或非易失性存储器、介质盘或其他介质设备)。
29.在附图中,可以以特定布置和/或次序示出一些结构或方法特征。然而,应该意识到,可能不需要这样的特定布置和/或次序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或次序来布置。另外,在特定图中包含结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
30.图1示出了数据中心100的概念性概述,该数据中心100通常可以代表数据中心或其他类型的计算网络,其中可以根据各种实施例实现本文描述的一种或多种技术。如图1所示,数据中心100通常可以包含多个机架,每个机架可以容纳包括相应一组物理资源的计算
设备。在图1中描绘的特定非限制性示例中,数据中心100包含四个机架102a至102d,其容纳计算设备,该计算设备包括相应的一组物理资源(pcr)105a至105d。根据该示例,数据中心100的共同的一组物理资源106包括分布在机架102a至102d之间的各组物理资源105a至105d。物理资源106可以包括多种类型的资源,例如,处理器、协处理器、加速器、现场可编程门阵列(fpga)、存储器和存储装置。实施例不限于这些示例。
31.说明性数据中心100在许多方面不同于典型的数据中心。例如,在说明性实施例中,其上放置诸如cpu、存储器和其他部件之类的部件的电路板(“板”)被设计用于提高热性能。特别地,在说明性实施例中,板(sled)比典型的板(board)浅。换句话说,板从前到后较短,冷却风扇位于其中。这减少了空气必须穿过板上组件的路径的长度。此外,板上的组件与典型的电路板相比间隔得更远,并且这些组件被设置成减少或消除阴影(即,一个组件在另一组件的空气流动路径中)。在说明性实施例中,诸如处理器之类的处理组件位于板的顶侧,而诸如dimm之类的附近存储器位于板的底侧。由于该设计提供的增强的气流,组件可以以比典型系统更高的频率和功率水平来操作,从而提高性能。此外,板被配置为与每个机架102a、102b、102c、102d中的电源和数据通信电缆盲匹配,增强了它们被快速移除、升级、重新安装和/或更换的能力。类似地,位于板上的各个组件(例如处理器、加速器、存储器和数据存储驱动器)被配置为由于它们彼此间隔增加而容易升级。在说明性实施例中,组件还包括硬件证明特征以证明其真实性。
32.此外,在说明性实施例中,数据中心100利用支持包括以太网和omni-path在内的多个其他网络架构的单个网络架构(“结构”)。在说明性实施例中,板经由光纤耦合到交换机,光纤提供比典型的双绞线布线(例如,类别5、类别5e、类别6等)更高的带宽和更低的延迟。由于高带宽、低延迟互连和网络架构,数据中心100可以在使用中汇集物理地分解的资源,例如存储器、加速器(例如,图形加速器、fpga、asic等)以及数据存储驱动器,并根据需要将它们提供给计算资源(例如,处理器),使计算资源能够访问池化资源,就好像它们是本地的一样。说明性数据中心100另外接收针对各种资源的利用信息,基于过去的资源利用来预测不同类型的工作负载的资源利用,并基于该信息动态地重新分配资源。
33.数据中心100的机架102a、102b、102c、102d可以包括便于各种类型的维护任务的自动化的物理设计特征。例如,数据中心100可以使用设计为机器人访问的机架来实现,并且接受和容纳可机器人操纵的资源板。此外,在说明性实施例中,机架102a、102b、102c、102d包括集成电源,所述集成电源接收比针对电源的典型电压更大的电压。增加的电压使电源能够为每个板上的组件提供额外的电力,使组件能够以高于典型频率的频率运行。
34.图2示出了数据中心100的机架202的示例性逻辑配置。如图2所示,机架202通常可以容纳多个板,每个板可以包括相应的一组物理资源。在图2中描绘的特定非限制性示例中,机架202容纳包括相应的一组物理资源205-1至205-4的板204-1至204-4,每组物理资源构成包括在机架202中的集合的一组物理资源206的一部分。关于图1,如果机架202代表例如机架102a,则物理资源206可以对应于机架102a中包括的物理资源105a。在该示例的上下文中,物理资源105a因此可以由相应的一组物理资源组成,所述物理资源包括包含在机架202的板204-1至204-4中的物理存储资源205-1、物理加速器资源205-2、物理存储器资源205-3和物理计算资源205-5。实施例不限于该示例。每个板可以包含各种类型的物理资源(例如,计算、存储器、加速器、存储装置)中的每一个的池。通过具有包括分解的资源的机器
人可访问和机器人可操纵的板,每种类型的资源能够彼此独立地并且以其自己的优化刷新率升级。
35.图3示出了数据中心300的示例,该数据中心300通常可以表示可以根据各种实施例实现本文描述的一种或多种技术。在图3中描绘的特定非限制性示例中,数据中心300包括机架302-1至302-32。在各种实施例中,数据中心300的机架可以以限定和/或容纳各种访问路径的方式布置。例如,如图3所示,数据中心300的机架可以以限定和/或容纳访问路径311a、311b、311c和311d的方式布置。在一些实施例中,这种访问路径的存在通常使得自动维护设备(例如机器人维护设备)能够物理地访问容纳在数据中心300的各种机架中的计算设备并执行自动维护任务(例如,替换故障的板、升级板)。在各种实施例中,可以选择访问路径311a、311b、311c和311d的尺寸、机架302-1至302-32的尺寸和/或数据中心300的物理布局的一个或多个其他方面以促进这种自动化操作。实施例不限于此上下文。
36.图4示出了数据中心400的示例,该数据中心400通常可以代表可以根据各种实施例实现本文描述的一种或多种技术的数据中心。如图4所示,数据中心400可以以光学结构412为特征。光学结构412通常可以包括光信令介质(例如光学电缆)和光学交换基础设施的组合,数据中心400中的任何特定板可以经由它们向数据中心400中的每个其他板发送信号(并且从其接收)。光学结构412提供给任何给定板的信令连接可以包括到同一机架中的其他板和其他机架中的板的连接。在图4中描绘的特定非限制性示例中,数据中心400包括四个机架402a至402d。机架402a至402d容纳相应的一对板404a-1和404a-2、404b-1和404b-2、440c-1和404c-2以及404d-1和404d-2。因此,在该示例中,数据中心400包括总共八个板。通过光学结构412,每个这样的板可以具有与数据中心400中的七个其他板中的每一个的信令连接。例如,经由光学结构412,机架402a中的板404a-1可以具有与机架402a中的板404a-2,以及分布在数据中心400的其他机架402b、402c和402d之间的六个其他板404b-1、404b-2、440c-1、440c-2、440d-1和404d-2的信令连接。实施例不限于该示例。
37.图5示出了连接方案500的概述,该连接方案500通常可以表示在一些实施例中可以在数据中心的各种板(例如,图1、图3和图4的示例数据中心100、300和400中的任何一个)之间建立的链路层连接。可以使用以双模光交换基础设施514为特征的光学结构来实现连接方案500。双模光交换基础设施514通常可以包括能够通过相同的统一的一组光信令介质根据多个链路层协议接收通信,并适当地切换这种通信的交换基础设施。在各种实施例中,可以使用一个或多个双模光交换机515来实现双模光交换基础设施514。在各种实施例中,双模光交换机515通常可以包括高基数交换机。在一些实施例中,双模光交换机515可以包括多层交换机,例如四层交换机。在各种实施例中,双模光交换机515可以以集成硅光子学为特征,与传统交换机设备相比,硅光子学使双模光交换机能够以显着减少的延迟切换通信。在一些实施例中,双模光交换机515可以构成叶脊结构中的叶片交换机530,叶脊结构另外包括一个或多个双模光脊交换机520。
38.在各种实施例中,双模光交换机能够经由光学结构的光信令介质接收承载因特网协议(ip分组)的以太网协议通信和根据第二高性能计算(hpc)链路层协议(例如,英特尔的omni-path架构的,infiniband)的通信。如图5所反映的,对于具有到光学结构的光信令连接的任何特定的一对板504a和504b,连接方案500因此可以经由以太网链路和hpc链路提供对链路层连接的支持。因此,单个高带宽、低延迟交换结构可以支持以太网和hpc通信。实施
例不限于该示例。
39.图6示出了机架架构600的总体概述,该机架架构600可以代表根据一些实施例的图1至图4中所示的机架中的任何特定一个的架构。如图6所示,机架架构600通常可以以多个板空间为特征,板可以插入其中,每个板空间可以经由机架访问区域601进行机器人可访问。在图6所示的特定非限制性示例中,机架架构600以五个板空间603-1至603-5为特征。板空间603-1至603-5以相应的多功能连接器模块(mpcm)616-1至616-5为特征。
40.图7示出了可以代表这种类型的板的板704的示例。如图7所示,板704可以包括一组物理资源705,以及mpcm 716,其被设计成当板704插入板空间(例如图6中的任何板空间603-1至603-5)时与配对mpcm耦合。板704还可以以扩展连接器717为特征。扩展连接器717通常可以包括插座、插槽或其他类型的连接元件,其能够接受一种或多种类型的扩展模块,例如扩展板718。通过与扩展板718上的配对连接器耦合,扩展连接器717可以为物理资源705提供对驻留在扩展板718上的补充计算资源705b的访问。实施例不限于此上下文。
41.图8示出了可以表示如下的机架架构的机架架构800的示例,该机架架构可以被实现以便为以扩展能力为特征的板(例如,图7的板704)提供支持。在图8中描绘的特定非限制性示例中,机架架构800包括七个板空间803-1至803-7,其以相应的mpcm 816-1至816-7为特征。板空间803-1至803-7包括相应的主区域803-1a至803-7a和相应的扩展区域803-1b至803-7b。关于每个这样的板空间,当相应的mpcm与插入的板的配对mpcm耦合时,主区域通常可以构成物理地容纳插入的板的板空间的区域。在插入的板配置有这种模块的情况下,扩展区域通常可以构成可以物理地容纳扩展模块的板空间的区域,例如图7的扩展板718。
42.图9示出了机架902的示例,其可以代表根据一些实施例的根据图8的机架架构800实现的机架。在图9中描绘的特定非限制性示例中,机架902以七个板空间903-1至903-7为特征,其包括相应的主区域903-1a至903-7a和相应的扩展区域903-1b至903-7b。在各种实施例中,可以使用空气冷却系统来实现机架902中的温度控制。例如,如图9中所反映的那样,机架902可以以多个风扇919为特征,风扇919通常被布置为在各种板空间903-1至903-7内提供空气冷却。在一些实施例中,板空间的高度大于传统的“1u”服务器高度。在这样的实施例中,与传统机架配置中使用的风扇相比,风扇919通常可包括相对慢的大直径冷却风扇。相对于以较高速度运行的较小直径的冷却风扇而言,以较低速度运行较大直径的冷却风扇可以延长风扇寿命,同时仍能提供相同的冷却量。板比传统的机架尺寸物理上更浅。此外,每个板上都布置了组件以减少热阴影(即,没有沿气流方向串联布置)。因此,更宽、更浅的板允许设备性能的提高,因为由于改进的冷却,设备可以在更高的热封套(例如,250w)下操作(即,没有热阴影,设备之间的空间更大,更大的散热器空间等)。
43.mpcm 916-1至916-7可以被配置为向插入的板提供对源自相应的电源模块920-1至920-7的电源的访问,每个电源模块可以从外部电源921汲取电力。在一些实施例中,外部电源921可以向机架902输送交流(ac)电力,并且电力模块920-1至920-7可以被配置为将这种ac电力转换为直流(dc)电力以供源于插入的板。在一些实施例中,例如,功率模块920-1至920-7可以被配置为将277伏ac功率转换为12伏dc功率,以经由相应的mpcm 916-1至916-7提供给插入的板。实施例不限于该示例。
44.mpcm 916-1至916-7还可以被布置为向插入的板提供与双模光交换基础设施914的光信令连接,双模光交换基础设施914可以与图5的双模光交换基础设施514相同或相似。
在各种实施例中,包含在mpcm 916-1至916-7中的光学连接器可以被设计成与插入的板的mpcm中包含的配对光学连接器耦合,以向这种板提供经由各长度的光缆922-1至922-7与双模光学交换基础设施914的光信令连接。在一些实施例中,每个这样长度的光缆可以从其对应的mpcm延伸到在机架902的板空间外部的光学互连织机923。在各种实施例中,光学互连织机923可以布置成穿过支撑柱或支架902的其他类型的承载元件。实施例不限于此上下文。由于插入的板通过mpcm连接到光交换基础设施,因此可以节省通常耗费于手动配置机架布线以容纳新插入的板的资源。
45.图10示出了板1004的示例,其可以代表根据一些实施例的设计用于与图9的机架902结合使用的板。板1004可以以mpcm 1016为特征,mpcm 1016包括光学连接器1016a和电源连接器1016b,并且被设计成与将mpcm 1016插入到板空间中相结合而与板空间的配对mpcm耦合。将mpcm 1016与这样的配对mpcm耦合可以使电源连接器1016与配对mpcm中包括的电源连接器耦合。这通常使得板1004的物理资源1005能够经由电源连接器1016和电力传输介质1024从外部源获取电力,电力传输介质1024将电力连接器1016导电地耦合到物理资源1005。
46.板1004还可以包括双模光网络接口电路1026。双模光网络接口电路1026通常可以包括能够根据图9的双模光学交换基础设施914支持的多个链路层协议中的每一个通过光信令介质进行通信的电路。在一些实施例中,双模光网络接口电路1026能够进行以太网协议通信和根据第二高性能协议的通信。在各种实施例中,双模光网络接口电路1026可以包括一个或多个光收发器模块1027,每个光收发器模块1027能够在一个或多个光信道中的每一个上发送和接收光信号。实施例不限于此上下文。
47.将mpcm 1016与给定机架中的板空间的配对mpcm耦合可以使光学连接器1016a与配对mpcm中包括的光学连接器耦合。这通常可以经由一组光学信道1025中的每一个在板的光缆与双模光网络接口电路1026之间建立光学连接。双模光网络接口电路1026可以经由电信令介质1028与板1004的物理资源1005进行通信。除了板的尺寸和板上的用于提供改进的冷却并且能够在相对较高的热封套(例如,250w)下操作的组件的布置之外,如上面参考图9所述,在一些实施例中,板还可包括一个或多个附加特征以便于空气冷却,例如布置成耗散由物理资源1005产生的热量的热管和/或散热器。值得注意的是,尽管图10中所描绘的示例性板1004没有以扩展连接器为特征,但是根据一些实施例以板1004的设计元件为特征的任何给定板也可以以扩展连接器为特征。实施例不限于此上下文。
48.图11示出了数据中心1100的示例,该数据中心1100通常可以表示可以根据各种实施例的实现本文描述的一种或多种技术。如图11所反映的,可以实现物理基础设施管理框架1150a以便于管理数据中心1100的物理基础设施1100a。在各种实施例中,物理基础设施管理框架1150a的一个功能可以是管理数据中心1100内的自动维护功能,例如使用机器人维护设备来为物理基础设施1100a内的计算设备提供服务。在一些实施例中,物理基础设施1100a可以以先进的遥测系统为特征,该遥测系统执行遥测报告,该遥测报告足够鲁棒以支持物理基础设施1100a的远程自动化管理。在各种实施例中,由这种先进的遥测系统提供的遥测信息可以支持诸如故障预测/预防能力和容量规划能力之类的特征。在一些实施例中,物理基础设施管理框架1150a还可以被配置为使用硬件证明技术来管理物理基础设施组件的认证。例如,机器人可以在安装之前通过分析从与要安装的每个组件相关联的射频识别
(rfid)标签收集的信息来验证组件的真实性。实施例不限于此上下文。
49.如图11所示,数据中心1100的物理基础设施1100a可以包括光学结构1112,其可以包括双模光交换基础设施1114。光学结构1112和双模光交换基础设施1114可以分别图4的光学结构412和图5的双模光交换基础设施514相同或相似,并且可以在数据中心1100的板之间提供高带宽、低延迟、多协议连接。如上所述,参考图1,在各种实施例中,这种连接的可用性可以使得对诸如加速器、存储器和存储装置之类的资源分解和动态地汇集成为可能。在一些实施例中,例如,一个或多个汇集的加速器板1130可以包括在数据中心1100的物理基础设施1100a中,每个物理基础设施1100a可以包括加速器资源池,诸如例如协处理器和/或fpga,它们经由光学结构1112和双模光交换基础设施1114可以用于其他板全局访问。
50.在另一个示例中,在各种实施例中,一个或多个汇集的存储板1132可以包括在数据中心1100的物理基础设施1100a中,每个物理基础设施1100a可以包括可经由光学结构1112和双模光学交换基础设施1114供其他板全局访问的存储资源池。在一些实施例中,这种池化的存储板1132可以包括固态存储器设备(例如,固态驱动器(ssd))池。在各种实施例中,一个或多个高性能处理板1134可以包括在数据中心1100的物理基础设施110a中。在一些实施例中,高性能处理板1134可以包括高性能处理器池以及增强空气冷却从而产生高达250w或更高的热封套的冷却特征。在各种实施例中,任何给定的高性能处理板1134可以以扩展连接器1117为特征,该扩展连接器1117可以接受远存储器扩展板,使得该高性能处理板1134本地可用的远存储器从处理器和包含在板上的附近存储器分解。在一些实施例中,这样的高性能处理板1134可以使用包括低延迟ssd存储的扩展板配置远存储器。光学基础设施允许一个板上的计算资源利用远程加速器/fpga、存储器和/或ssd资源,这些资源在位于同一机架或数据中心任何其他机架上的板上分解。远程资源可以位于上面参考图5描述的脊-叶网络架构中的一个交换机跳跃或两个交换机跳跃。实施例不限于此上下文。
51.在各种实施例中,可以将一个或多个抽象层应用于物理基础设施1100a的物理资源,以便定义虚拟基础设施,例如软件定义的基础设施1100b。在一些实施例中,可以分配软件定义的基础设施1100b的虚拟计算资源1136以支持云服务1140的提供。在各种实施例中,可以将特定的一组虚拟计算资源1136分组以便以sdi服务1138的形式提供给云服务1140。云服务1140的示例可以包括但不限于软件即服务(saas)服务1142、平台即服务(paas)服务1144以及基础设施即服务(iaas)服务1146。
52.在一些实施例中,可以使用虚拟基础设施管理框架1150b来进行软件定义的基础设施1100b的管理。在各种实施例中,虚拟基础设施管理框架1150b可以被设计为结合管理虚拟计算资源1136和/或sdi服务1138向云服务1140的分配来实现工作负载指纹技术和/或机器学习技术。在一些实施例中,虚拟基础设施管理框架1150b可以结合执行这样的资源分配来使用/咨询遥测数据。在各种实施例中,可以实现应用/服务管理框架1150c以便为云服务1140提供qos管理能力。实施例不限于此上下文。
53.现在参考图12,可以根据上面参考图1、图3、图4和图11描述的数据中心100、300、400、1100来实现用于在加速器板内共享虚拟存储器的系统1200。在说明性实施例中,在加速器板内共享虚拟存储器可以意味着加速器设备对存储器资源的池存取,其中通过待由系统1200中的加速器板利用的物理地址的虚拟映射生成存储器资源的池。这样,分析来自加速器板的存储器存取请求以根据由存储器存取请求识别出的虚拟地址来确定物理地址,其
中物理地址是基于将逻辑或虚拟地址与物理地址相关联的地址映射确定的。加速器设备用于加速系统的功能。例如,加速器设备可用于加速在系统的计算板上运行的各种应用。
54.在说明性实施例中,系统1200包括与计算板1204、加速器板a 1206和加速器板b 1208通信的协调器服务器1202。虽然仅示出了一个计算板和两个加速器板,但是可以存在系统1200中使用的任何数量的计算板和/或加速器板。在一些实施例中,系统1200可以包括与协调器服务器1202和系统1200的其他部件(例如,板1204、1206、1208)通信的存储器板1210。可以将板1204、1206、1208、1210中的一个或多个分组到受管理的节点中,例如通过协调器服务器1202,以共同执行工作负载,例如应用。受管理的节点可以体现为资源的集合(例如,物理资源206),例如来自相同或不同板(例如,板204-1、204-2、204-3、204-4等)或机架(例如,机架302-1至302-32中的一个或多个)的计算资源(例如,物理计算资源205-4)、存储器资源(例如,物理存储器资源205-3)、存储资源(例如,物理存储资源205-1)或其他资源(例如,物理加速器资源205-2)。此外,受管理的节点可以在将工作负载分配给受管理的节点时或者在任何其他时间由协调器服务器1202建立、定义或“旋转”,并且受管理的节点可以存在,而不管当前是否有任何工作负载被分配给受管理的节点。系统1200可以位于数据中心中,并且向通过网络(未示出)与系统1200通信的客户端设备(未示出)提供存储和计算服务(例如,云服务)。协调器服务器1202可以支持诸如openstack之类的云操作环境,并且由协调器服务器1202建立的受管理的节点可以代表客户端设备的用户在例如虚拟机或容器中执行一个或多个应用或进程(即,工作负载)。在说明性实施例中,计算板1204利用中央处理单元(cpu)1212来执行工作负载1214(例如,应用)。另外,加速器板a 1206包括存储器控制器1216,其可以体现为能够根据存储器映射来路由存储器存取请求的任何设备或电路。加速器板a 1206还包括一个或多个加速器设备1218、1220(例如,物理加速器资源205-2),并且加速器板b 1208还包括存储器控制器1234和一个或多个加速器设备1236、1238(例如,物理加速器资源205-2)。此外,在说明性实施例中,加速器设备1218、1220、1236、1238中的每一个包括现场可编程门阵列(fpga)1222、1228、1240、1246和存储器1226、1232、1244、1250,并且fpga 1222、1228、1240、1246中的每个包括内核1224、1230、1242、1248。在其他实施例中,加速器设备1218、1220、1236、1238中的一个或多个可以包括能够加速工作负载的执行的其他设备或电路,例如专用集成电路、协处理器等。
55.在操作中,系统1200可以利用一个或多个内核1224、1230、1242、1248来对加速器设备1218、1220、1236、1238内的物理存储器存取。在说明性实施例中,存储器1226、1232、1244、1250基于用于引用存储器的区域的每个物理地址的逻辑地址的映射来在加速器板1206、1208之间共享。在操作中,加速器设备1218、1220、1236、1238可以将包含逻辑地址的存储器存取请求发送到存储器控制器1216、1234,以处理和确定与逻辑地址相关联的物理地址。为此,存储器控制器1216、1234可以使用如下所述的地址映射。因此,在确定物理地址之后,存储器控制器1216、1234通过将逻辑地址与位于对应的存储器1226、1232、1244、1250中的物理地址相关联的通知发送到加速器设备1218、1220、1236、1238而将加速器设备1218、1220、1236、1238路由到对应的存储器1226、1232、1244、1250。这允许加速器设备1218、1220、1236、1238对相对应的存储器1226、1232、1244、1250存取。在一些实施例中,存储器控制器1216、1234还可以将加速器设备1218、1220、1236、1238路由(例如,路由由加速器设备生成的存储器存取请求)到位于存储器板1210上的存储器设备1254。
56.现在参考图13,加速器板1206、1208中的一个或多个可以体现为能够执行本文描述的功能的加速器板1302,所述功能包括在板1204、1206、1208、1210和/或协调器服务器1202之间路由存储器存取请求。
57.参考图13,说明性加速器板1302包括加速器1304、1306、存储器控制器1308和通信电路1310。此外,加速器1304、1306中的每个包括加速器设备1312、1316和存储器1314、1318。通信电路包括网络接口控制器(nic)1320。当然,在其他实施例中,加速器板1302可以包括其他或附加的部件,例如通常在加速器板中到的部件。另外,在一些实施例中,说明性部件中的一个或多个可以并入另一部件中,或者以其他方式形成另一部件的一部分。
58.加速器设备1312、1316可以体现为能够执行下面描述的各种计算功能的任何类型的设备或设备集合。在一些实施例中,加速器设备1312、1316中的每一个可以体现为fpga、专用集成电路(asic)、可重新配置的硬件或硬件电路或其他专用硬件,以便于执行本文描述的功能。
59.存储器1314、1318可以体现为能够执行本文描述的功能的任何类型的易失性(例如,动态随机存取存储器(dram)等)或非易失性存储器或数据存储装置。易失性存储器可以是需要电力以维持由介质存储的数据的状态的存储介质。易失性存储器的非限制性示例可以包括各种类型的随机存取存储器(ram),例如动态随机存取存储器(dram)或静态随机存取存储器(sram)。可以在存储器模块中使用的一种特定类型的dram是同步动态随机存取存储器(sdram)。在特定实施例中,存储器部件的dram可符合jedec颁布的标准,例如用于ddr sdram的jesd79f、用于ddr2 sdram的jesd79-2f、用于ddr3 sdram的jesd79-3f、用于ddr4 sdram的jesd79-4a、用于低功率ddr(lpddr)的jesd209、用于lpddr2的jesd209-2、用于lpddr3的jesd209-3和用于lpddr4的jesd209-4(这些标准可在www.jedec.org上获得)。这些标准(和类似标准)可以被称为基于ddr的标准,并且实现这种标准的存储器设备的通信接口可以被称为基于ddr的接口。
60.在一个实施例中,存储器设备是块可寻址存储器设备,例如基于nand或nor技术的设备。存储器设备还可以包括未来代的非易失性设备,例如三维交叉点存储器设备,或其他字节可寻址的就地写入非易失性存储器设备。在一个实施例中,存储器设备可以是或可以包括使用硫属化物玻璃的存储器设备、多阈值级nand闪存、nor闪存、单级或多级相变存储器(pcm)、电阻存储器、纳米线存储器、铁电晶体管随机存取存储器(fetram)、反铁电存储器、采用忆阻器技术的磁阻随机存取存储器(mram)存储器、包括金属氧化物基、氧空位基的电阻存储器和导电桥随机存取存储器(cb-ram)、或自旋转移力矩(stt)-mram、基于自旋电子磁结存储器的设备、基于磁隧道结(mtj)的设备、基于dw(畴壁)和sot(自旋轨道转移)的设备、基于晶闸管的存储器设备、或任何上述设备的组合、或其他存储器。存储器设备可以指管芯本身和/或封装的存储器产品。
61.在一些实施例中,3d交叉点存储器可以包括无晶体管的可堆叠交叉点架构,其中存储器单元位于字线和位线的交叉处并且可单独寻址,并且其中位存储基于体电阻的变化。在操作中,存储器1314、1318可以存储在操作期间使用的各种软件和数据,例如地址映射数据、存储器存取请求数据、密钥数据、应用、程序、库和驱动器。
62.存储器控制器1308可以体现为能够执行本文描述的功能的任何类型的开关。在一些实施例中,存储器控制器1308可以体现为本地存储器开关、fpga间结构开关、高速串行接
口(hssi)开关、主机接口和/或结构接口单元(fiu)(例如,网络接口控制器(nic))。
63.通信电路1310可以体现为能够在计算设备(例如,协调器服务器1202和/或一个或多个板1204、1206、1208、1210)之间通过网络进行通信的任何通信电路、设备或其集合。通信电路1310可以被配置为使用任何一种或多种通信技术(例如,有线或无线通信)和相关联协议(例如,以太网、协议(例如,以太网、wimax等)来实现这种通信。nic 1320可以类似地体现为能够在计算设备(例如,协调器服务器1202和/或一个或多个板1204、1206、1208、1210)之间通过网络进行通信的任何通信电路、设备或其集合。
64.现在参考图14,计算板1402(类似于计算板1204)可以体现为能够执行本文描述的功能的任何类型的计算设备,包括执行工作负载1214。如图14所示,说明性计算板1402包括计算引擎1404、通信电路1406以及一个或多个数据存储器设备1408。在一些实施例中,计算板1402可以包括外围设备1410。当然,在其他实施例中,计算板1402可以包括其他或附加部件,例如通常在计算板中到的部件。另外,在一些实施例中,说明性部件中的一个或多个可以并入另一部件中,或者以其他方式形成另一部件的一部分。
65.计算引擎1404可以体现为能够执行下面描述的各种计算功能的任何类型的设备或设备集合。在一些实施例中,计算引擎1404可以体现为单个设备,例如集成电路、嵌入式系统、现场可编程门阵列(fpga)、片上系统(soc)或其他集成系统或设备。另外,在一些实施例中,计算引擎1404包括或体现为处理器1412和存储器1414。处理器1412可以体现为能够执行本文描述的功能的任何类型的处理器。例如,处理器1412可以体现为单核或多核处理器、微控制器或其他处理器或处理/控制电路。在一些实施例中,处理器1412可以体现为、包括或耦合到fpga、专用集成电路(asic)、可重新配置的硬件或硬件电路或其他专用硬件,以便于执行本文描述的功能。
66.存储器1414可以体现为能够执行类似于存储器1314、1318的本文所述的功能的任何类型的易失性(例如,动态随机存取存储器(dram)等)或非易失性存储器或数据存储装置。
67.通信电路1406可以体现为能够在计算设备(例如,协调器服务器1202和/或一个或多个板1204、1206、1208、1210)之间通过网络进行通信的任何通信电路、设备或其集合。通信电路1310可以被配置为使用任何一种或多种通信技术(例如,有线或无线通信)和相关联协议(例如,以太网、协议(例如,以太网、wimax等)来实现这种通信。nic 1416可以类似地体现为能够在计算设备(例如,协调器服务器1202和/或一个或多个板1204、1206、1208、1210)之间通过网络进行通信的任何通信电路、设备或其集合。
68.如上所述,在一些实施例中,计算板1402可以包括一个或多个外围设备1410。这样的外围设备1410可以包括通常在计算设备中发现的任何类型的外围设备,例如显示器、扬声器、鼠标、键盘和/或其他输入/输出设备、接口设备和/或其他外围设备。
69.协调器服务器1202和存储器板1210可以具有与图14中描述的类似部件。计算板1402的那些部件的描述同样适用于协调器服务器1202和存储器板1210的部件的描述,并且为了描述的清楚,这里不再重复。此外,应当意识到,协调器服务器1202和存储器板1210可以包括通常在计算设备中到的其他部件、子部件和设备,这些部件、子部件和设备在上面未参考计算板1402进行讨论,并且为了清楚描述而没有在此讨论。
70.如上所述,协调器服务器1202和板1204、1206、1208、1210说明性地经由网络(未示
出)进行通信,该网络可以体现为任何类型的有线或无线通信网络,包括全球网络(例如,互联网)、局域网(lan)或广域网(wan)、蜂窝网络(例如,全球移动通信系统(gsm)、3g、长期演进(lte)、全球微波互联接入(wimax)等)、数字用户线(dsl)网络、有线网络(例如,同轴网络、光纤网络等)或其任何组合。
71.现在参考图15,加速器板1302可以在操作期间建立环境1500。加速器板1206、1208及其部件可以类似地体现为加速器板1302,并且在操作期间建立环境1500。说明性环境1500包括网络通信器1502和共享存储器管理器1504。环境1500的每个部件可以体现为硬件、固件、软件或其组合。这样,在一些实施例中,环境1500的一个或多个部件可以体现为电路或电子设备的集合(例如,网络通信器电路1502、共享存储器管理器电路1504等)。应当意识到,在这样的实施例中,网络通信器电路1502或共享存储器管理器电路1504中的一个或多个可以形成加速器1304、1306、存储器控制器1308、通信电路1310和/或加速器板1302的任意其它部件中的一个或多个。在说明性实施例中,环境1500包括地址映射数据1510,其可以体现为在由板1204、1206、1208、1210执行一个或多个工作负载期间由协调器服务器1202、计算板1204和/或加速器板1206、1208建立的任何数据,并且该数据表示在逻辑地址和物理地址之间的映射。地址映射数据1510可以包括可用于确定存储器存取请求中识别出的逻辑地址的物理地址的信息。也就是说,可以创建存储器池并将其存储在地址映射数据1510中,该地址映射数据1510包含要由加速器设备引用以指向物理地址的逻辑地址。另外,说明性环境1500包括存储器存取请求数据1512,其可以体现为指示从系统1200中的各种加速器设备1218、1220、1236、1238接收到的存储器存取请求的任何数据。存储器存取请求数据1512可以包括指示哪个加速器设备1218、1220、1236、1238请求存取特定逻辑地址和对应物理存取的信息。存储器存取请求数据1512可以存储要由加速器设备1218、1220、1236、1238快速引用的逻辑地址和对应的物理地址对。
72.在说明性环境1500中,可以体现为如上所述的硬件、固件、软件、虚拟化硬件、仿真架构和/或其组合的网络通信器1502,被配置为促进入站和出站网络通信(例如,网络业务、网络分组、网络流等)分别进出加速器板1302。为此,网络通信器1502被配置为接收和处理来自一个系统或计算设备(例如,计算板1204、加速器板1206或1208、存储器板1210和/或协调器服务器1202)的数据分组,并准备和发送数据分组到另一计算设备或系统(例如,计算板1204、加速器板1206或1208、存储器板1210和/或协调器服务器1202)。因此,在一些实施例中,网络通信器1502的功能的至少一部分可以由通信电路1310执行,并且在说明性实施例中,由nic 1320执行。
73.可以体现为硬件、固件、软件、虚拟化硬件、仿真架构和/或其组合的共享存储器管理器1504,被配置为根据由加速器设备1218、1220、1236、1238指定的逻辑地址来确定物理地址。另外,共享存储器管理器1504识别逻辑地址是在本地板上、在请求加速器设备上还是在另一板上。为此,在说明性实施例中,共享存储器管理器1504包括存储器地址转换器1506和存储器请求路由器1508。在说明性实施例中,存储器地址转换器1506被配置为使用地址映射数据1510通过将逻辑地址与存储在地址映射数据1510中的对应物理地址相匹配来根据逻辑地址确定物理地址。存储器地址转换器1506还被配置为响应于从主机或计算机板1204和/或协调器服务器1202接收到通知而更新地址映射数据1510。例如,这可能发生在从系统1200添加或移除任何存储器设备时。
74.在说明性实施例中,存储器请求路由器1508被配置为从加速器设备接收存储器存取请求(例如,向逻辑地址读取/写入),并将存储器存取请求路由到物理地址,该物理地址可以在另一加速器设备、加速器板或本地存储器上。在物理地址是在本地存储器中的情况下,存储器请求路由器1508可以向请求加速器设备通知从哪里请求存储器。存储器请求路由器1508可以与网络通信器1502和存储器地址转换器1506通信以取回与逻辑地址相关联的物理地址,并且可以将其传递到请求加速器设备。
75.现在参考图16,在使用中,加速器板1302可以执行用于在包括一个或多个加速器板(例如,系统1200中的加速器板1206、1208)的系统中共享虚拟存储器的方法1600。为简单起见,下面将方法1600描述为由加速器板1302执行。然而,应当理解,在其他实施例中,方法1600可以由一个或多个其他设备(例如,板1204、1206、1208、1210和/或协调器服务器1202)执行。方法1600以框1602开始,其中加速器板1302确定是否已经接收到地址映射变化的通知。在说明性实施例中,加速器板1302可以从协调器服务器1202和/或计算板1204接收地址映射变化的通知。此外,在附加存储器设备被添加到系统1200或从系统1200移除存储器设备的实例中,变化的通知用于更新逻辑地址与物理地址的关联的任何变化。如果加速器板1302接收到变化的通知,则方法1600前进到框1604,其中在一些实施例中,加速器板1302更新逻辑地址和相关联物理地址的映射(例如,地址映射数据1510)。然而,如果没有变化的通知,则方法1600前进到框1610,其中加速器板1302确定是否已经接收到存储器存取请求,如本文更详细描述的。然而,返回参考框1604,在更新地址映射数据1510时,加速器板1302可以确定哪些逻辑地址和相关联的物理地址需要更新(例如,在接收到的通知中引用的逻辑地址和相关联的物理地址),如框1606所指示的。在确定哪些地址需要更新之后,方法1600前进到框1608,其中加速器板1302根据所指示的变化(例如,修改的存储器地址)来更新映射。
76.在框1610中,加速器板1302确定是否已从加速器设备接收到存储器存取请求。如上所述,存储器存取请求可以体现为用于对逻辑地址进行读取或写入的请求。如果加速器板1302确定尚未从加速器设备接收到存储器存取请求,则方法1600返回到框1602以确定是否已接收到变化的通知。然而,当加速器板1302接收到存储器存取请求时,方法1600前进到框1612,其中加速器板1302由存储器控制器1308识别所请求的存储器区域。另外,在框1614中,加速器板1302利用在存储器存取请求中指定的逻辑地址来识别存储器区域。在识别所请求的存储器区域之后,方法1600前进到框1616,其中加速器板1302利用存储器控制器1308确定与存储器区域相关联的物理地址。为此,在说明性实施例中,方法1600前进到框1618,其中加速器板1302使用逻辑地址和相关联的物理地址(例如,地址映射数据1510)的映射来确定与存储器区域相关联的物理地址。
77.现在参考图17,在框1620中,加速器板1302随后利用存储器控制器1308将存储器存取请求路由到与确定出的物理地址相关联的存储器设备。在一些实施例中,在框1622中,加速器板1302通过网络接口控制器1320将存储器存取请求路由到另一板。为了将存储器存取请求路由到另一板,方法1600继续到框1624,其中加速器板1302将存储器存取请求发送到与工作负载相关联的计算板(例如,计算板1204),针对所述工作负载,功能与由加速器设备加速。在一个实施例中,在框1626中,加速器板1302将存储器存取请求路由到同一加速器板上的另一加速器设备(例如,从加速器设备1218到加速器设备1220)。在一个实施例中,在
框1628中,加速器板1302将存储器存取请求路由到加速器设备(例如,加速器设备1218)的本地存储器(例如,存储器1226)。另外,在将存储器存取请求路由到加速器设备的本地存储器之后,在框1630中,加速器板1302将存储器存取请求的逻辑地址与请求者加速器设备的本地存储器中的物理地址相关联的通知发送到请求者加速器设备。在发送通知之后,在框1632中,请求者加速器设备对请求者加速器设备的本地存储器存取。在一个实施例中,在框1634中,加速器板1302将存储器存取请求路由到存储器板(例如,存储器板1210)的存储器设备(例如,存储器设备1254)。为此,方法1600继续到框1636,其中加速器板1302将该逻辑地址与存储器板的存储器设备中的物理地址相关联的通知发送到请求者加速器设备。在发送通知之后,在框1638中,请求者加速器设备对存储器板1210的存储器设备1254存取。在完成将存储器存取请求路由到与确定出的物理地址相关联的存储器设备1254之后,方法1600返回到图16的框1602,以继续监视是否接收到变化的通知。
78.现在参考图18,说明性虚拟拓扑1800示出了在工作负载1802(例如,应用)、本地加速器板1804和共享存储器1810、1820之间的连接。本地加速器板1804包括体现为包括内核1808的fpga的加速器设备1806。共享存储器1810由体现为fpga的两个加速器设备1812、1816(例如,类似于加速器设备1218、1220)提供,每个加速器设备包括内核1814、1818和相关联的存储器设备(例如,类似于存储器1226、1232)。另外,共享存储器1820由包括fpga的加速器设备1822(例如,类似于加速器设备1236)和相关联的存储器设备(例如,类似于存储器1244)提供,所述fpga包括内核1824。内核1808、1814、1818、1824可以根据上述方法1500通过将存储器存取请求发送到其对应的存储器控制器1308来请求对共享存储器1810、1820的区域存取。
79.现在参考图19,说明性地址映射1900示出了映射到物理地址空间的多个fpga的虚拟地址(例如,逻辑地址)空间,如图19的中心所示。用于fpga的虚拟地址空间可以直接与fpga的物理地址空间(例如,在直接连接到fpga的存储器设备中)相关联,或者虚拟地址空间可以映射到对应于不同fpga本地的存储器设备的物理地址空间。在一些实施例中,在相同fpga或不同fpga中注册的不同内核可以具有不同的虚拟到物理映射。
80.现在参考图20,说明性系统2000包括与系统1200类似的部件,以及与系统1200类似的功能。系统2000包括存储器主机2001、板0上的fpga(a)2002、板1上的fpga(a)2004和板0上的fpga(b)2006。fpga(a)包括fpga 2008、开关接口2010、主机接口2012、存储器控制器2014、fpga间结构开关2016、架构接口单元(fiu)2018、本地存储器2020以及目标fpga间结构2022。fpga 2008包含用于请求对存储器存取的内核2024。内核2024的存储器存取请求将被发送到开关接口2010,该开关接口2010包含第一级系统地址解码器(sad),其识别存储器存取请求是被重定向到主机接口2012、存储器控制器2014还是fpga间结构开关2016(其包含全球间sad)。主机接口2012连接到fiu 2018,其包含全局内sad,其与存储器主机2001通信并且通过结构2032连接到板1 2004以与板1 2034上的fpga(c)通信来对存储器远程fpga 2036存取。如果存储器存取请求指定与存储器上的物理地址相关的逻辑地址,则存储器控制器2014连接到本地存储器2020。fpga间结构开关2016连接到目标fpga间结构2022以连接到fpga(b)2006的存储器控制器2038,以便对位于与fpga(a)2002相同的板0上的fpga(b)2006的存储器2042存取。示例
81.以下提供本文公开的技术的说明性示例。这些技术的实施例可以包括下面描述的
示例中的任何一个或多个以及任何组合。
82.示例1包括一种加速器板,包括:加速器设备;存储器控制器,其耦合到所述加速器设备;以及电路,用于:经由存储器控制器从加速器设备接收存储器存取请求以对存储器区域存取,其中所述请求利用逻辑地址来识别存储器区域;根据逻辑地址和相关联的物理地址的映射,确定与存储器区域相关联的物理地址;以及将存储器存取请求路由到与确定出的物理地址相关联的存储器设备,其中所述存储器存取请求包括确定出的物理地址。
83.示例2包括示例1的主题,并且其中,所述电路还用于:从计算板接收通知,所述通知指示逻辑地址和相关联的物理地址的映射的变化;以及根据指示的变化来更新映射。
84.示例3包括示例1和2中任一项的主题,并且其中,所述电路还用于:从协调器服务器接收通知,所述通知指示逻辑地址和相关联的物理地址的映射的变化;以及根据指示的变化来更新映射。
85.示例4包括示例1-3中任一项的主题,并且其中,从加速器设备接收存储器存取请求包括从现场可编程门阵列(fpga)接收存储器存取请求。
86.示例5包括示例1-4中任一项的主题,并且其中,路由存储器存取请求包括通过加速器板上的网络接口控制器将存储器存取请求从存储器控制器发送到另一板。
87.示例6包括示例1-5中任一项的主题,并且其中,路由存储器存取请求还包括:将存储器存取请求从存储器控制器发送到与工作负载相关联的计算板,针对所述工作负载,功能由所述加速器板的加速器设备加速。
88.示例7包括示例1-6中任一项的主题,并且其中,路由存储器存取请求包括将存储器存取请求路由到同一加速器板上的另一加速器设备。
89.示例8包括示例1-7中任一项的主题,并且其中,所述另一加速器设备是现场可编程门阵列(fpga)。
90.示例9包括示例1-8中任一项的主题,并且其中,路由存储器存取请求包括将存储器存取请求路由到发送请求的加速器设备的本地存储器。
91.示例10包括示例1-9中任一项的主题,并且其中,路由到本地存储器包括:经由存储器控制器将逻辑地址与请求者加速器设备的本地存储器中的物理地址相关联的通知发送到请求者加速器设备;以及利用请求者加速器设备对加速器设备的本地存储器存取。
92.示例11包括示例1-10中任一项的主题,并且其中,所述加速器设备是专用集成电路(asic)。
93.示例12包括示例1-11中任一项的主题,并且其中,路由存储器存取请求包括将存储器存取请求路由到存储器板的存储器设备。
94.示例13包括示例1-12中任一项的主题,并且其中,路由到存储器设备包括经由存储器控制器将逻辑地址与存储器板的存储器设备中的物理地址相关联的通知发送到请求者加速器设备;以及利用请求者加速器设备来对存储器板的存储器设备存取。
95.示例14包括一种方法,包括:通过耦合到加速器板上的加速器设备的存储器控制器,从加速器设备接收存储器存取请求以对存储器区域存取,其中所述请求利用逻辑地址来识别存储器区域;根据逻辑地址和相关联的物理地址的映射来确定与存储器区域相关联的物理地址;经由存储器控制器将存储器存取请求路由到与确定出的物理地址相关联的存储器设备,其中所述存储器存取请求包括确定出的物理地址。
96.示例15包括示例14的主题,并且还包括:从计算板接收通知,所述通知指示逻辑地址和相关联的物理地址的映射的变化;以及通过存储器控制器根据指示的变化来更新映射。
97.示例16包括示例14和15中任一项的主题,还包括:从协调器服务器接收通知,所述通知指示逻辑地址和相关联的物理地址的映射的变化;以及通过存储器控制器根据指示的变化来更新映射。
98.示例17包括示例14-16中任一项的主题,并且其中,从加速器设备接收存储器存取请求包括从现场可编程门阵列(fpga)接收存储器存取请求。
99.示例18包括示例14-17中任一项的主题,并且其中,路由存储器存取请求包括通过加速器板上的网络接口控制器将存储器存取请求发送到另一板。
100.示例19包括示例14-18中任一项的主题,并且其中,路由存储器存取请求还包括:将存储器存取请求从所述存储器控制器发送到与工作负载相关联的所述计算板,针对所述计算板,功能由所述加速器板的加速器设备加速。
101.示例20包括示例14-19中任一项的主题,并且其中,路由存储器存取请求包括将存储器存取请求路由到同一加速器板上的另一加速器设备。
102.示例21包括示例14-20中任一项的主题,并且其中,所述另一加速器设备是现场可编程门阵列(fpga)。
103.示例22包括示例14-21中任一项的主题,并且其中,路由存储器存取请求包括将存储器存取请求路由到发送请求的加速器设备的本地存储器。
104.示例23包括示例14-22中任一项的主题,并且其中,路由到本地存储器包括:经由存储器控制器将逻辑地址与请求者加速器设备的本地存储器中的物理地址相关联的通知发送到请求者加速器设备;以及利用请求者加速器设备来存取加速器设备的本地存储器。
105.示例24包括示例14-23中任一项的主题,并且其中,所述加速器设备是专用集成电路(asic)。
106.示例25包括示例14-24中任一项的主题,并且其中,路由存储器存取请求包括将存储器存取请求路由到存储器板的另一存储器设备。
107.示例26包括示例14-25中任一项的主题,其中,路由到另一存储器设备包括:经由存储器控制器将逻辑地址与存储器板的另一存储器设备中的物理地址相关联的通知发送到请求者加速器设备;以及利用请求者加速器设备来对存储器板的另一存储器设备存取。
108.示例27包括一种或多种机器可读存储介质,包括存储在其上的多个指令,所述多个指令响应于被执行而使加速器板执行示例14-26中任一项的方法。
109.示例28包括一种加速器板,包括用于执行示例14-26中任一项的方法的单元。
110.示例29包括一种加速器板,包括:一个或多个处理器;一个或多个存储器设备,其中存储有多个指令,所述多个指令当由一个或多个处理器执行时,使得加速器板执行示例14-26中任一项的方法。
111.示例30包括一种加速器板,包括网络通信器电路,用于从加速器设备接收存储器存取请求以对存储器区域存取,其中所述请求利用逻辑地址来识别存储器区域;以及共享存储器管理器电路,用于根据逻辑地址和相关联的物理地址的映射,来确定与存储器区域相关联的物理地址;以及将存储器存取请求路由到与确定出的物理地址相关联的存储器设
备,其中所述存储器存取请求包括确定出的物理地址。
112.示例31包括示例30的主题,并且其中,所述网络通信器电路还用于:从计算板接收通知,所述通知指示逻辑地址和相关联的物理地址的映射的变化;并且其中所述共享存储器管理器电路还用于根据指示的变化来更新映射。
113.示例32包括示例30和31中任一项的主题,并且其中,所述网络通信器电路还用于:从协调器服务器接收通知,所述通知指示逻辑地址和相关联的物理地址的映射的变化;并且其中共享存储器管理器电路还用于根据指示的变化来更新映射。
114.示例33包括示例30-32中任一项的主题,并且其中,从加速器设备接收存储器存取请求包括从现场可编程门阵列(fpga)接收存储器存取请求。
115.示例34包括示例30-33中任一项的主题,并且其中,路由存储器存取请求包括通过加速器板上的网络接口控制器将存储器存取请求发送到另一板。
116.示例35包括示例30-34中任一项的主题,并且其中,路由存储器存取请求还包括:存储器存取请求发送到与工作负载相关联的计算板,针对所述工作负载,功能由所述加速器板的加速器设备加速。
117.示例36包括示例30-35中任一项的主题,并且其中,路由存储器存取请求包括将存储器存取请求路由到同一加速器板上的另一加速器设备。
118.示例37包括示例30-36中任一项的主题,并且其中,所述另一加速器设备是现场可编程门阵列(fpga)。
119.示例38包括示例30-37中任一项的主题,并且其中,路由存储器存取请求包括将存储器存取请求路由到发送请求的加速器设备的本地存储器。
120.示例39包括示例30-38中任一项的主题,并且其中,路由到本地存储器包括:将逻辑地址与请求者加速器设备的本地存储器中的物理地址相关联的通知发送到请求者加速器设备;以及对加速器设备的本地存储器存取。
121.示例40包括示例30-39中任一项的主题,并且其中,所述加速器设备是专用集成电路(asic)。
122.示例41包括示例30-40中任一项的主题,并且其中,路由存储器存取请求包括将存储器存取请求路由到存储器板的存储器设备。
123.示例42包括示例30-41中任一项的主题,并且其中,路由到存储器设备包括:将逻辑地址与存储器板的存储器设备中的物理地址相关联的通知发送到请求者加速器设备;以及对存储器板的存储器设备存取。
124.示例43包括一种加速器板,包括用于由耦合到加速器板上的加速器设备的存储器控制器从加速器设备接收存储器存取请求以对存储器区域存取的电路,其中所述请求利用逻辑地址来识别存储器区域;用于根据逻辑地址和相关联的物理地址的映射来确定与存储器区域相关联的物理地址的单元;以及用于经由存储器控制器将存储器存取请求路由到与确定出的物理地址相关联的存储器设备的电路,其中所述存储器存取请求包括确定出的物理地址。
125.示例44包括示例43的主题,并且其中,用于接收存储器存取请求的电路包括用于从计算板接收通知的电路,所述通知指示逻辑地址和相关联的物理地址的映射的变化;以及加速器板还包括用于由存储器控制器根据指示的变化来更新映射的电路。
126.示例45包括示例43和44中任一项的主题,并且其中,用于接收存储器存取请求的所述电路还包括:用于从协调器服务器接收通知的电路,所述通知指示逻辑地址和相关联的物理地址的映射的变化;以及加速器板还包括用于由存储器控制器根据指示的变化来更新映射的电路。
127.示例46包括示例43-45中任一项的主题,并且其中,用于从加速器设备接收存储器存取请求的电路包括用于从现场可编程门阵列(fpga)接收存储器存取请求的电路。
128.示例47包括示例43-46中任一项的主题,并且其中,用于路由存储器存取请求的电路包括用于通过加速器板上的网络接口控制器将存储器存取请求从存储器控制器发送到另一板的电路。
129.示例48包括示例43-47中任一项的主题,并且其中,用于路由存储器存取请求的电路还包括:用于将存储器存取请求从所述存储器控制器发送到与工作负载相关联的所述计算板的电路,针对所述工作负载,功能由所述加速器板的加速器设备加速。
130.示例49包括示例43-48中任一项的主题,并且其中,用于路由存储器存取请求的电路包括用于将存储器存取请求路由到同一加速器板上的另一加速器设备的电路。
131.示例50包括示例43-49中任一项的主题,并且其中,所述另一加速器设备是现场可编程门阵列(fpga)。
132.示例51包括示例43-50中任一项的主题,并且其中,用于路由存储器存取请求的电路包括用于将存储器存取请求路由到发送请求的加速器设备的本地存储器的电路。
133.示例52包括示例43-51中任一项的主题,并且其中,用于路由到本地存储器的所述电路包括:用于经由存储器控制器将逻辑地址与请求者加速器设备的本地存储器中的物理地址相关联的通知发送到请求者加速器设备的电路;以及用于利用请求者加速器设备来对加速器设备的本地存储器存取的电路。
134.示例53包括示例43-52中任一项的主题,并且其中,所述加速器设备是专用集成电路(asic)。
135.示例54包括示例43-53中任一项的主题,并且其中,用于路由存储器存取请求的所述电路包括用于将存储器存取请求路由到存储器板的另一存储器设备的电路。
136.示例55包括示例43-54中任一项的主题,并且其中,用于路由到另一存储器设备的所述电路包括用于经由存储器控制器将逻辑地址与存储器板的另一存储器设备中的物理地址相关联的通知发送到请求者加速器设备的电路;以及用于利用请求者加速器设备对存储器板的另一存储器设备存取的电路。

技术特征:


1.一种加速器设备,包括:存储器控制器;以及电路模块,其用于:经由所述存储器控制器将存储器存取请求路由到计算系统,其中,到所述计算系统的所述存储器存取请求标识要利用第一地址存取的存储器区域;将所述第一地址转换为存储器设备的第二地址,其中,所述第二地址用于存取所述存储器区域;以及经由所述存储器控制器将存储器存取请求路由到所述存储器设备,其中,到所述存储器设备的存储器存取请求包括所述存储器设备的第二地址。2.根据权利要求1所述的加速器设备,其中,所述第一地址是逻辑地址,而所述第二地址是所述存储器设备的物理地址。3.根据权利要求2所述的加速器设备,其中,利用所述逻辑地址来存取所述存储器区域至少部分地基于逻辑地址与所述存储器设备的相关联的物理地址的映射,该逻辑地址被包括在所述映射中的逻辑地址中。4.根据权利要求3所述的加速器设备,还包括用于以下操作的电路模块:从所述计算系统接收通知,所述通知指示对逻辑地址与相关联的物理地址的所述映射的更改;以及基于所指示的更改来更新所述映射。5.根据权利要求1所述的加速器设备,其中,所述存储器设备包括在所述加速器设备处维护的本地存储器。6.根据权利要求1所述的加速器设备,其中,所述存储器设备被附接到所述加速器设备。7.一种用于存取存储器设备的方法,包括:经由包括在加速器设备中的存储器控制器将存储器存取请求路由到计算系统,其中,到所述计算系统的所述存储器存取请求标识要利用第一地址存取的存储器区域;将所述第一地址转换为存储器设备的第二地址,其中,所述第二地址用于存取所述存储器区域;以及经由所述存储器控制器将存储器存取请求路由到所述存储器设备,其中,到所述存储器设备的存储器存取请求包括所述存储器设备的第二地址。8.根据权利要求7所述的方法,其中,所述第一地址是逻辑地址,而所述第二地址是所述存储器设备的物理地址。9.根据权利要求8所述的方法,其中,利用所述逻辑地址来存取所述存储器区域是至少部分地基于逻辑地址与所述存储器设备的相关联的物理地址的映射的,该逻辑地址被包括在所述映射中的逻辑地址中。10.根据权利要求9所述的方法,还包括:从所述计算系统接收通知,所述通知指示对逻辑地址与相关联的物理地址的所述映射的更改;以及基于所指示的更改来更新所述映射。11.根据权利要求7所述的方法,其中,所述存储器设备包括在所述加速器设备处维护
的本地存储器。12.根据权利要求7所述的方法,其中,所述存储器设备被附接到所述加速器设备。13.一种用于存取存储器设备的装置,包括:用于经由包括在加速器设备中的存储器控制器将存储器存取请求路由到计算系统的单元,其中,到所述计算系统的所述存储器存取请求标识要利用第一地址存取的存储器区域;用于将所述第一地址转换为存储器设备的第二地址的单元,其中,所述第二地址用于存取所述存储器区域;以及用于经由所述存储器控制器将存储器存取请求路由到所述存储器设备的单元,其中,到所述存储器设备的存储器存取请求包括所述存储器设备的第二地址。14.根据权利要求13所述的装置,其中,所述第一地址是逻辑地址,而所述第二地址是所述存储器设备的物理地址。15.根据权利要求14所述的装置,其中,利用所述逻辑地址来存取所述存储器区域是至少部分地基于逻辑地址与所述存储器设备的相关联的物理地址的映射的,该逻辑地址被包括在所述映射中的逻辑地址中。16.根据权利要求15所述的装置,还包括:用于从所述计算系统接收通知的单元,所述通知指示对逻辑地址与相关联的物理地址的所述映射的更改;以及用于基于所指示的更改来更新所述映射的单元。17.根据权利要求13所述的装置,其中,所述存储器设备包括在所述加速器设备处维护的本地存储器。18.根据权利要求13所述的装置,其中,所述存储器设备被附接到所述加速器设备。19.一种用于执行加速任务的计算设备,包括:计算引擎用于:接收针对加速任务的请求,其中,所述加速任务与内核相关联,所述内核是由与所述计算设备通信地耦合以执行所述加速任务的加速器板可使用的;响应于所述请求并且使用指示内核和相关联的加速器板的数据库确定加速器板,所述加速器板包括配置有与所述请求相关联的内核的加速器设备;以及将所述加速任务分配给确定的加速器板以执行。20.根据权利要求19所述的计算设备,其中,确定包括配置有所述内核的加速器设备的加速器板包括:确定加速器板与所述内核当前未关联;确定具有要配置有所述内核的容量的加速器板;将所述内核发送到确定的加速器板以进行配置;以及更新所述数据库以指示所述内核与所确定的加速器板相关联。21.根据权利要求20所述的计算设备,其中,确定具有要配置有所述内核的容量的加速器板包括确定具有配置有所述内核的未使用插槽的现场可编程门阵列(fpga)。22.根据权利要求19所述的计算设备,其中,确定包括配置有所述内核的加速器设备的加速器板包括确定多个加速器板,所述多个加速器板中的每个包括配置有所述内核的加速
器设备;以及其中,所述计算引擎进一步选择加速器板,所述加速器板配置有所述内核,并且具有满足预定义阈值以执行所述加速任务的利用率负载;以及其中,将所述加速任务分配给所确定的加速器板包括将所述加速任务分配到所选择的加速器板。

技术总结


用于针对加速器板提供共享存储器的技术包括加速器板,用于利用存储器控制器从加速器设备接收存储器存取请求以对存储器区域存取。请求用于利用逻辑地址来识别存储器区域。另外,加速器板用于根据逻辑地址和相关联的物理地址的映射来确定与存储器区域相关联的物理地址。另外,加速器板用于将存储器存取请求路由到与确定出的物理地址相关联的存储器设备。由到与确定出的物理地址相关联的存储器设备。[转续页]


技术研发人员:

H

受保护的技术使用者:

英特尔公司

技术研发日:

2018.08.30

技术公布日:

2022/12/30

本文发布于:2024-09-22 01:22:47,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/51356.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:存储器   加速器   设备   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议