CN107851043A - 快捷外围部件互连网络中资源组的动态分配 - Google Patents
快捷外围部件互连网络中资源组的动态分配 Download PDFInfo
- Publication number
- CN107851043A CN107851043A CN201680046494.4A CN201680046494A CN107851043A CN 107851043 A CN107851043 A CN 107851043A CN 201680046494 A CN201680046494 A CN 201680046494A CN 107851043 A CN107851043 A CN 107851043A
- Authority
- CN
- China
- Prior art keywords
- cpu
- path
- pcie
- equipment
- flow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000002093 peripheral effect Effects 0.000 title description 8
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000002955 isolation Methods 0.000 claims abstract description 10
- 230000004087 circulation Effects 0.000 claims description 18
- 238000007726 management method Methods 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000013468 resource allocation Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 5
- 238000013459 approach Methods 0.000 abstract description 3
- 125000004122 cyclic group Chemical group 0.000 description 16
- 239000004744 fabric Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本文公开了用于通过图形理论分析法分析PCIe网络的系统和方法。管理CPU耦合到PCIe系统的根联合体,且可操作以评估PCIe系统中的潜在CPU资源组合并向CPU分配PCIe资源组。第一交换机和第二交换机耦合到根节点,第一CPU和第一PCIe资源组耦合到所述第一交换机。所述管理CPU基于第一和第二CPU的隔离或第一和第二CPU与PCIe资源组之间的距离向CPU分配PCIe资源组。根据一些实施例,对于潜在的设备和NTB/CPU对,估算组件之间的距离,识别可能的替代路径,并确定所述对的隔离。
Description
相关申请案交叉申请
本申请要求于2015年8月10日递交的发明名称为“快捷外围部件互连网络中资源组的动态分配”的第14/822,672号美国申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文。
技术领域
本发明实施例大体涉及计算机网络中的资源分配领域。更具体地,本发明实施例涉及基于快捷外围部件互连标准(Peripheral Component Interconnect Express,简称PCIe)的网络中的用于动态分配资源组的硬件及软件方法。
背景技术
各种传统的通信和互连拓扑用于现代网络中以交流信息(例如,基树、胖树、CLOS、2D或3D环面等)。也有各种协议用于实现上述拓扑,例如外围部件互连(PeripheralComponent Interconnect,简称PCI)和快捷PCI(PCI Express,简称PCIe)。这些协议中的一部分可在相对简单的通信环境或网络中实现。PCIe是在中央处理器(Central ProcessingUnit,简称CPU)和它们的即时外围设备之间使用最广泛的互连机制之一。传统的PCIe环境或网络通常只具有单一的PCIe根联合体。在这些受限的环境中,传统的PCIe方法尝试提供高吞吐量,低时延,基于分组交换的互连技术。
发明内容
本发明实施例描述了通过基于图形理论的分析法分析PCIe网络以识别结构中的循环的系统和方法。对于每个潜在设备和NTB/CPU对,估算组件之间的距离,识别可能的替代路径,确定所述对的隔离。本发明实施例利用PCIe标准的点对点性质在链路PCIe结构中提供极大增加的带宽和吞吐量。流量在无干扰的相互隔离的多个资源对(例如,CPU和PCIe设备)之间移动,因此极大增加了具有一个CPU的传统PCI结构上的总最大带宽。
根据一实施例,公开一种在PCIe网络中动态分配网络资源组的方法。该方法包括:
识别网络中的CPU和网络资源组之间的第一路径和第二路径;基于当前设备分配计算所述第一和第二路径的当前潜在流量;监测所述第一和第二路径上的当前实际流量;基于所述当前潜在流量,所述当前实际流量以及所述第一和第二路径上的总跳数中的任意一项通过所述第一或第二路径向所述CPU分配所述网络资源组。
根据另一实施例,公开一种在PCIe网络中动态地向CPU分配设备的方法。该方法包括:接收包括多个设备类型的资源请求;为与第一CPU相关联的第一设备类型的设备计算第一设备类型分数;为与所述第一CPU相关联的第二设备类型的设备计算第二设备类型分数;通过添加所述第一和第二设备类型分数到与所述第一CPU相关联的第一CPU分数计算第一总CPU分数;为与第二CPU相关联的第三设备类型的设备计算第三设备类型分数;为与所述第二CPU相关联的第四设备类型的设备计算第四设备类型分数;通过添加所述第三和第四设备类型分数到与所述第二CPU相关联的第二CPU分数计算第二总CPU分数;基于所述第一和第二总CPU分数将所述设备分配给所述第一或第二CPU,其中,通过NTB访问所述设备。
根据另一实施例,公开一种在PCIe网络中动态分配网络资源组的装置。该装置包括:管理CPU,所述管理CPU耦合到PCIe网络的根节点,且可操作以评估所述网络中的潜在CPU资源组合并向CPU分配网络资源组;耦合到所述根节点的第一交换机和第二交换机;耦合到所述第一交换机的第一CPU和第一网络资源组;耦合到所述第二交换机的第二CPU和第二网络资源组,其中,从所述第一CPU到所述第一网络资源组的第一路径包括第一NTB且不遍历所述根节点,从所述第二CPU到所述第二网络资源组的第二路径包括第二NTB且不遍历所述根节点,所述第一路径和所述第二路径相互隔离,所述管理CPU用于基于所述第一和第二CPU与所述第一和第二网络资源组的隔离度以及所述第一和第二CPU与所述第一和第二网络资源组之间的距离中的至少一种向所述第一或第二CPU分配所述第一或第二网络资源组。
附图说明
附图包含在并且构成本说明书的一部分,示出了本发明的各种实施例,并且与描述内容一起用于解释本发明的原则:
图1为本发明实施例提供的由计算机实现的向设备分配CPU的步骤的示例性顺序的流程图;
图2为本发明实施例提供的具有管理CPU和多个交换机的示例性PCIe网络的附图;
图3为本发明实施例提供的一种示例性PCIe网络的框图;
图4为本发明实施例提供的一种具有识别出的循环节点和边缘的示例性PCIe网络的框图;
图5为本发明实施例提供的基于图4所描述的PCIe网络的示例性循环子图和示例性树子图的框图;
图6为本发明实施例提供的由计算机实现的PCIe网络中资源组动态分配步骤的顺序的流程图。
具体实施方式
现在将详细地给出一些实施例的参考。虽然结合可替代的实施例描述该主题,但应该理解它们不是旨在将请求保护的主题限制于这些实施例。相反,请求保护的主题旨在覆盖可以包括在由附加的权利要求书限定的请求保护的主题的精神和范围内的替代物、修改和等同物。
另外,在以下本发明的详细描述中,阐述了许多特定细节以便提供对请求保护主题的透彻理解。然而,所属领域的技术人员将认识到,可以在没有这些具体细节的情况下实践实施例。在其它实例中没有详细描述众所周知的方法、流程、部件和电路,以免对本请求保护的主题的各方面和特征造成不必要地模糊。
下面详细描述的部分以方法的方式表示和讨论。虽然本文的图公开了步骤及其顺序,用于描述该方法的操作,但所述步骤和顺序均是示例性的。实施例适合执行各种其他步骤或此处流程图中描述的步骤的变体,除此处描述的顺序之外,还可以有其他执行顺序。
该具体实施方式的一些部分按照程序、步骤、逻辑块、处理、以及对计算机存储器中的数据位的操作的其它符号表示来呈现。这些描述和表示是数据处理领域技术人员向该领域其他技术人员有效传达工作实质内容使用的方法。将程序、计算机执行的步骤、逻辑块、过程等一般设想为首尾一致的步骤或指令序列,以产生期望的结果。这些步骤需要物理量的物理操控。通常,并不是完全必须的,这些量以电信号或磁信号的形式存在,可以被存储、转移、合并和比较,否则将在电脑系统中被操控。有时候这种方法被证明是行之有效的,主要出于常见用法的考虑,将这些信号作为比特位、数值、元素、符号、字符、术语、或数字等等。
然而,应牢记,所有这些和类似术语与适当物理量相关联,且仅为应用于这些量的方便标签。除非另有说明,从以下讨论中明显得知,整个讨论中所使用的术语,如“访问”、“写入”、“包括”、“存储”、“传输”、“遍历”、“关联”、“识别”等是指计算机系统或类似电子计算设备的动作和过程,所述动作和过程执行操作并将表示为计算机系统的寄存器和存储器内的物理(电子)量的数据转换为类似地表示为计算机系统存储器或寄存器或其他此类信息存储、传输或显示设备内的物理量的其他数据。
快捷外围部件互连网络中资源组的动态分配
本发明实施例涉及通过基于图形理论的分析法分析链路PCIe结构以识别结构中的循环的系统和方法。对于潜在的设备和NTB/CPU对,估算组件之间的距离(例如,组件之间的PCIe交换机的数量),识别可能的替代路径(可遍历快捷路径NTB),并确定所述对的隔离度。识别出的路径的隔离度和/或距离用于向CPU分配资源组。
本发明实施例利用PCIe标准的点对点性质在链路PCIe结构中提供极大增加的带宽和吞吐量。流量在无干扰的相互隔离的多个资源对之间移动,因此极大增加了具有一个CPU的传统PCI结构上的总最大带宽。本发明实施例允许CPU在PCIe网络中通过快捷路径代替默认路径与分配给该CPU的资源组交互。快捷路径的使用提供至少两种优势。首先,快捷路径可以是比默认路径更短的路径(例如,更少的跳数)。其次,选择快捷路径可以允许流量避免网络中过度的流量拥塞。
先前的发明名称为“配置高维度快捷PCI网络的非透明桥方法和装置”的发明(第14/536,516号美国专利申请案)描述了向多个CPU分配IO资源的装置,其中,每个CPU在其自身的PCI结构中。所述装置使多个CPU可以访问位于它们的本地PCI结构之外的IO设备,如同所述设备在本地一样。
旨在PCIe微服务器架构上运行的特定应用,例如Hadoop或Spark等大数据应用,可以请求访问多个资源,包括CPU、FPGA或CPU加速、磁盘空间以及网络接口。这些资源应当作为最大资源利用组进行分配。CPU能力是所需的资源,因为CPU必须能够运行正请求资源的应用。分配CPU及其所需的资源,且告知选择的远端CPU已向其分配的其他资源。所述远端CPU完成访问其他资源的流程。根据一些实施例,这个流程在远端CPU开始执行原始应用之前完成。
PCIe网络可以表示为图形。根据PCIe标准,所述图形为一颗树且一个节点被指定为根联合体。图形中的每个边缘都有方向,PCIe标准规定向上为靠近根联合体,向下为远离根联合体。微服务器架构通常由PCI结构、具有单个CPU(例如,链路或管理CPU)的链路PCIe网络、一个或多个输入/输出(Input/Output,简称IO)设备以及一个或多个非透明桥(Non-Transparent Bridge,简称NTB)组成。
NTB可以被安装且用于通过PCI结构提供替代路径(例如,快捷路径)。这些快捷路径有效地在结构中创建循环且因此能够通过两个组件之间的结构呈现两条或两条以上路径。快捷路径不是双向的,每条快捷路径有一个入口和一个出口。每条快捷路径作为端点设备出现在PCIe网络中。当网络设备和资源组之间的给定路径变得拥塞,PCIe网络设备的性能可能会大幅降低。当必须满足所请求的资源以更高效的利用网络资源时,通过NTB向PCIe网络中的设备分配资源组的技术使得实际和潜在的流量拥塞得以避免。
本发明实施例接受资源组分配请求并确定满足请求的资源分配时最高效地利用PCIe网络资源且避免实际和潜在流量拥塞的资源组合。资源分配是暂时的,当不再需要使用分配的资源时,分配会被移除。为了改进PCI网络中的负载分布并避免过度的流量拥塞,即使资源和CPU正在交互,所述资源和CPU之间的路径也可能发生变化。用于找到最佳的资源分配和资源间路径的相同监测技术和标准也可以用于识别通过不同路径从重新分配中获益的CPU和资源对。
远端CPU有其自身的PCIe网络,该PCIe网络与具有其他资源的PCIe网络分离,远端CPU通过NTB与其他资源交互。所述NTB会有效地创建窗口或快捷路径,使远端CPU访问链路PCIe网络。最佳结果是资源组分配优化了链路PCIe网络的使用以增加可用带宽并避免过多的流量流动(例如,拥塞)。若因为路径更短或者因为快捷路径的使用会避免当前或潜在流量拥塞,使得快捷路径将会提供更低的时延,则分配也可以利用该快捷路径。此资源组的分配基于网络中当前流量状况进行,以避免当具有更少拥塞的替代路径可用时,通过当前流量负载较重的部分网络路由分配。
最后,期望呈现远端CPU将要使用的资源的多个实例。例如,若呈现FPGA/GPU计算加速器,可能会有同一个FPGA/GPU计算加速器的几个实例。类似地,几个磁盘驱动器也预计可用。在各种情况下,分配资源组时,每种类型的资源应该有几种选择。通过快捷路径分配这些资源提高了总性能。
参见图1,本发明实施例描述了包括响应于资源请求向设备分配CPU的步骤的示例性顺序的流程图100,所述步骤由计算机实现。根据本发明的一些实施例,响应于资源请求通过计算CPU分数对可用PCU进行分配。对于未分配CPU,CPU分数基于请求中包括的设备类型计算。对于每个请求的设备类型,计算多个设备分数。在步骤105中,对于该设备类型的每个可用设备,基于内部设备分数计算设备分数。在步骤110中,确定设备和CPU的隔离度并用于调整内部设备分数。在步骤115中,确定设备的当前分配的数量并用于调整内部设备分数。在步骤120中,选择最高的设备分数并作为设备类型分数。在步骤125中,将设备类型分数添加到当前CPU分数中。根据一些实施例,在步骤130中,若设备类型包括高性能设备,将奖励添加到CPU分数中。当计算完每个可用CPU的分数,选择分数最高的CPU进行分配。A、通过隔离增加的性能
参见图2,本发明实施例描述了具有单个管理CPU 205的示例性PCIe网络。PCIe网络(例如,网络200)通常是点对点网络。图2示出了这种属性。节点4上的NTB/CPU与节点5上的设备之间的流量移动遍历节点2上的交换机。流量不遍历根联合体(节点1)或者PCIe网络的右侧(例如,节点3、6和7)。
当CPU和设备的两种组合适当地隔离开时,在互不干扰的情况下,CPU和设备之间可以交换数据。参见图2中描述的PCIe网络200,节点6上的NTB/CPU与节点7上的设备之间的流量移动遍历节点3上的交换机。如图2所示,因为从NTB/CPU到各自设备的路径不共用节点,所以设备被适当地隔离开。因此,流量可以在节点4上的NTB/CPU和节点5上的设备之间以PCI网络的满容量移动,同时也可以在节点6上的NTB/CPU和节点7上的设备之间以PCI网络的满容量移动。因为节点4上的NTB/CPU和节点5上的设备与节点6上的NTB/CPU和节点7上的设备相互隔离,所以PCI网络的有效容量加倍。
B、PCIe网络评估
本发明实施例利用通过链路PCI结构中的NTB构造的快捷路径。每种快捷路径添加一个循环到结构中。对于资源组动态分配,识别结构中的所有循环,且识别属于循环的所有节点。流程开始于通过识别快捷路径NTB的入口和出口。在原始PCI网络(没有快捷路径)中,一条路径总是存在于两个节点之间,直接导致每条快捷路径在图形中创建循环。然后,快捷路径通过在入口和出口设备之间创建新路径创建循环。接着,通过从快捷路径的每一侧向上工作识别形成循环的节点组。产生的路径确保最终会在根联合体相遇,更常见的是在到达根联合体之前相遇。通过对所有快捷路径重复这个流程识别全部属于PCIe网络中至少一个循环的多个节点。这些节点可以被认为是‘循环节点’。连接循环节点的边缘被认为是‘循环边缘’,因为它们在图形中创建了循环。
参见图3,本发明实施例中以框图表示示例性PCIe网络300。一条快捷路径(例如,路径303)呈现在这个网络中,在图形中创建了循环。第一节点循环包括节点A、B、C和D。节点A和B通过路径301连接,节点B和C通过路径302连接,节点C和D通过路径303连接,节点D和A通过路径304连接。节点D还通过路径305与节点E连接,通过路径306与节点F连接。节点G还通过路径308与节点H连接,通过路径309与节点I连接。
参见图4,本发明实施例描述了具有识别出的循环节点(例如,节点A、B、C和D)和循环边缘(例如,路径301、302、303和304)的示例性PCIe网络400。循环节点和循环边缘通过实线识别。不循环的节点和边缘通过虚线绘出。识别出循环节点后,循环与树分离。
参见图5,图3中的示例性PCIe网络300划分成了循环子图500A与树子图500B、500C和500D。节点C和D是循环子图500A和树子图中包括的循环节点。节点D在树子图500B和500C中绘出,节点C在树子图500D中绘出。对于每个树子图,任意节点对之间在图中只有一条路径。因此,不可能为不属于循环的任意节点选择通往当前最佳路径的路径。
一旦已识别出循环节点和子图,便评估了设备并识别出了不属于快捷路径的NTB。每个不属于快捷路径的NTB期望具有一个或多个附着CPU。将循环节点分配给每个NTB和每个设备。当确定了设备和CPU之间的当前最佳路径时,潜在路径的设备端开始于离该设备最近的循环节点,潜在路径的CPU端开始于离该CPU最近的循环节点。例如,参见图3、4和5中示出的示例性网络图,可以将NTB和一个或多个设备分配给节点C和D,因为来自NTB或设备的流量会在这两个循环节点处进入或离开网络的循环部分。这是网络的一部分,在此有可能选择出最佳路径。
评估每个可能的设备和CPU/NTB组合,以确定CPU和设备之间存在多少可能的路径,并确定每个与剩余PCI网络隔离的设备和CPU组合会怎样。如前文所提到的,与剩余PCIe网络隔离的设备和NTB组合通常提供最高的总性能。
根据本发明的一些实施例,对可能分配给资源组的每种类型的设备会生成路由配置。所述配置包括设备时延以及设备能够与CPU交换的流量的最大量(例如,最大带宽)等参数。通过记录每个CPU和设备分配以及对该设备的预期最大带宽估算潜在流量。通过监测在PCIe网络中的交换机上传递的流量跟踪当前实际流量状况。
C、监测
本发明实施例采用两种形式的监测。首先,监测在每个循环节点上传递的流量。其次,当CPU为分配的设备时,根据分配的路径记录每个设备和CPU分配。通过监测流量,分配流程可以避免分配当前负载更重的路径,通过监测先前的分配,分配流程可以避免潜在的使用时可能会负载加重的路径。
在每个循环节点上传递的流量都被认为是‘实际流量’。可以在任意节点进行实际流量监测。然而,属于循环的节点上的流量对于资源分配目的来说最重要。根据一些实施例,只监测那些提供可能的替代路径的节点。
未来流量基于先前的设备分配进行预测。此预估的未来流量称为“潜在流量”。每个设备具有最大带宽/吞吐量。当分配组时,CPU和设备对通过分配的路径进行记录并用于动态分配算法以避免潜在拥塞,即使该CPU和设备对当前未激活。
D、资源组动态分配
一旦上述分析完成,当接收到对于CPU能力和/或相关联设备的请求时,系统已准备好进行分配。设备类型基于时延和带宽进行分析。所有其他因素相同时,尽可能为低时延设备分配最短路径,且CPU和高带宽设备之间的路径应尽可能隔离。分配流程评估CPU的可用性,每个记录的先前分配因此为分配流程所知。然后评估可用CPU以确定哪些CPU可以最佳地访问其他所需资源。估算标准包括设备和CPU对的相对隔离以及更少拥塞路径的可用性。
参见图6,本发明实施例描述了流程图600,其示出了由计算机实现的在PCIe网络中分配资源的步骤的示例性顺序。在节点间选择路径的资源分配算法由CPU和设备开始且假设两个节点间有不止一条路径。在步骤605中,识别节点间的路径。在步骤610中,对于每条路径,基于当前分配确定当前潜在流量。若未找到最佳路径(例如,具有明显较少潜在流量的路径),在步骤615中,通过流量监测确定当前实际流量。若仍未找到最佳路径(例如,所有路径同样拥塞),在步骤620中,选择跳数最少的路径。根据一些实施例,当为先前分配改变路径时,在所述路径可以改变之前,会经过设定的时间。
当请求资源组分配的任务完成时,在步骤625中,从系统中移除对那些分配的记录。关于监测,这指的是更新分配给资源组的一条或多条路径,以反映不再呈现产生于那些分配的潜在带宽使用。
根据本发明的实施例如此处所述。虽然本公开已经在特定实施例中进行了描述,但是应理解,本公开不应该被解释为这些实施例的限制,而是根据以下权利要求书进行解释。
Claims (21)
1.一种在PCIe系统中动态分配资源组的装置,其特征在于,包括:
管理CPU,所述管理CPU耦合到所述PCIe系统的根联合体,且可操作以评估所述PCIe系统中的潜在CPU资源组合并向CPU分配PCIe资源组;
耦合到所述根联合体的第一交换机和第二交换机;
耦合到所述第一交换机的第一CPU和第一PCIe资源组;
耦合到所述第二交换机的第二CPU和第二PCIe资源组,其中,从所述第一CPU到所述第一PCIe资源组的第一路径包括第一NTB且不遍历所述根联合体,从所述第二CPU到所述第二PCIe资源组的第二路径包括第二NTB且不遍历所述根联合体,所述第一路径和所述第二路径相互隔离,所述管理CPU用于基于所述第一和第二CPU与所述第一和第二PCIe资源组的隔离度以及所述第一和第二CPU与所述第一和第二PCIe资源组之间的距离中的至少一种向所述第一或第二CPU分配所述第一或第二PCIe资源组。
2.根据权利要求1所述的装置,其特征在于,所述管理CPU还用于通过所述第一NTB在所述第一CPU和所述第一PCIe资源组之间创建第一快捷路径。
3.根据权利要求2所述的装置,其特征在于,所述管理CPU还用于通过所述第二NTB在所述第二CPU和所述第二PCIe资源组之间创建第二快捷路径。
4.根据权利要求3所述的装置,其特征在于,所述管理CPU还用于:
基于当前设备分配计算所述第一和第二路径的当前潜在流量;
当所述第一路径的当前潜在流量明显不同于所述第二路径的当前潜在流量时,基于所述当前潜在流量通过所述第一或第二路径分配第三PCIe资源组;
监测所述第一和第二路径上的当前实际流量;
当所述第一路径的当前潜在流量与所述第二路径的当前潜在流量相同时,基于所述当前实际流量通过所述第一或第二路径分配所述第三PCIe资源组;
当所述第一路径的当前实际流量与所述第二路径的当前实际流量相同时,基于所述第一和第二路径上的总跳数通过所述第一或第二路径分配所述第三PCIe资源组。
5.一种在PCIe系统中动态地向CPU分配PCIe资源组的方法,其特征在于,包括:
识别所述CPU和所述PCIe资源组之间的第一路径和第二路径;
基于设备分配计算所述第一和第二路径的潜在流量;
监测所述第一和第二路径上的实际流量;
基于以下信息通过所述第一或第二路径向所述CPU分配所述PCIe资源组,其中:
当所述第一路径的潜在流量与所述第二路径的潜在流量之间的第一差值大于第一流量阈值时,基于所述潜在流量进行分配;
当所述第一路径的潜在流量与所述第二路径的潜在流量之间的第二差值小于第二流量阈值时,基于所述实际流量进行分配;
当所述第一路径的实际流量与所述第二路径的实际流量之间的第三差值小于第三流量阈值且所述第一路径的潜在流量与所述第二路径的潜在流量之间的第四差值小于第四流量阈值时,基于所述第一和第二路径上的总跳数进行分配。
6.根据权利要求5所述的方法,其特征在于,识别第一路径和第二路径包括:
通过非透明桥(Non-Transparent Bridge,简称NTB)在所述PCIe中创建快捷路径;
遍历从所述NTB的第一端到所述NTB的第二端的路径以识别包括所述快捷路径的循环,其中,所述循环还包括所述第一路径和所述第二路径中的至少一个。
7.根据权利要求5所述的方法,其特征在于,潜在流量是基于所述PCIe资源组的设备的最大带宽计算的。
8.根据权利要求5所述的方法,其特征在于,所述CPU包括NTB。
9.根据权利要求5所述的方法,其特征在于,所述监测实际流量由管理CPU执行。
10.根据权利要求5所述的方法,其特征在于,还包括:跟踪与所述CPU相关的PCIe资源分配,当所述CPU不再使用第一PCIe资源分配时,释放所述第一PCIe资源分配。
11.根据权利要求10所述的方法,其特征在于,还包括:基于流量状况的变化将所述PCIe资源组重新分配给第二CPU,其中,所述重新分配加强了负载均衡。
12.一种在PCIe系统中动态地向CPU分配设备的方法,其特征在于,包括:
接收包括多个设备类型的资源请求;
为与第一CPU相关联的第一设备类型的设备计算第一设备类型分数;
为与所述第一CPU相关联的第二设备类型的设备计算第二设备类型分数;
通过添加所述第一和第二设备类型分数到与所述第一CPU相关联的第一CPU分数计算第一总CPU分数;
为与第二CPU相关联的第三设备类型的设备计算第三设备类型分数;
为与所述第二CPU相关联的第四设备类型的设备计算第四设备类型分数;
通过添加所述第三和第四设备类型分数到与所述第二CPU相关联的第二CPU分数计算第二总CPU分数;
基于所述第一和第二总CPU分数将所述设备分配给所述第一或第二CPU,其中,通过NTB访问所述设备。
13.根据权利要求12所述的方法,其特征在于,还包括:为多个所述第一、第二、第三和第四设备类型的设备计算多个设备分数,且将最高的设备分数作为各个设备类型的设备类型分数。
14.根据权利要求13所述的方法,其特征在于,所述资源请求还包括CPU能力要求,不满足所述CPU能力要求的CPU会被排除。
15.根据权利要求14所述的方法,其特征在于,所述CPU能力要求包括CPU核心的数量。
16.根据权利要求15所述的方法,其特征在于,所述设备分数是基于可用带宽和可用资源中的至少一项计算的。
17.根据权利要求16所述的方法,其特征在于,所述设备分数还基于关联设备的当前分配的数量进行计算。
18.根据权利要求17所述的方法,其特征在于,所述设备分数还基于所述关联设备和所述CPU之间的隔离度进行计算。
19.根据权利要求18所述的方法,其特征在于,所述设备分数还基于所述关联设备和所述CPU之间的跳数进行计算。
20.根据权利要求19所述的方法,其特征在于,还包括:若所述关联设备是高性能设备,则添加奖励到第一、第二、第三或第四设备分数。
21.根据权利要求20所述的方法,其特征在于,所述多个设备分数还基于与所述设备相关联的当前流量的量进行计算。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/822,672 | 2015-08-10 | ||
US14/822,672 US9858228B2 (en) | 2015-08-10 | 2015-08-10 | Dynamic assignment of groups of resources in a peripheral component interconnect express network |
PCT/CN2016/091775 WO2017024938A1 (en) | 2015-08-10 | 2016-07-26 | Dynamic assignment of groups of resources in a peripheral component interconnect express network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107851043A true CN107851043A (zh) | 2018-03-27 |
CN107851043B CN107851043B (zh) | 2020-09-11 |
Family
ID=57983982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680046494.4A Expired - Fee Related CN107851043B (zh) | 2015-08-10 | 2016-07-26 | 快捷外围部件互连网络中资源组的动态分配 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9858228B2 (zh) |
CN (1) | CN107851043B (zh) |
WO (1) | WO2017024938A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109388607A (zh) * | 2018-10-25 | 2019-02-26 | 江苏华存电子科技有限公司 | 适用于外设互联标准PCIe传送端系数均衡机制的方法 |
JP2019175415A (ja) * | 2018-03-28 | 2019-10-10 | 廣達電腦股▲ふん▼有限公司Quanta Computer Inc. | システム資源を割り当てる方法及びシステム |
CN110515723A (zh) * | 2019-08-09 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种双路服务器及其cpu负载均衡系统 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9858228B2 (en) | 2015-08-10 | 2018-01-02 | Futurewei Technologies, Inc. | Dynamic assignment of groups of resources in a peripheral component interconnect express network |
TWI617157B (zh) * | 2016-05-31 | 2018-03-01 | 鴻海精密工業股份有限公司 | 負載動態調整裝置以及方法 |
US10168758B2 (en) | 2016-09-29 | 2019-01-01 | Intel Corporation | Techniques to enable communication between a processor and voltage regulator |
CN108090004B (zh) * | 2016-11-21 | 2020-03-13 | 英业达科技有限公司 | 硬件资源共用系统及连线桥接平台的操作方法 |
US11249808B2 (en) * | 2017-08-22 | 2022-02-15 | Intel Corporation | Connecting accelerator resources using a switch |
US10417168B1 (en) | 2018-03-14 | 2019-09-17 | International Business Machines Corporation | Combining switch slot resources |
KR20200065489A (ko) * | 2018-11-30 | 2020-06-09 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 내 자원 사용에 대응하여 데이터 패스를 동적 할당하는 방법 및 장치 |
US11573917B2 (en) * | 2021-03-04 | 2023-02-07 | Liqid Inc. | Low latency computing architecture |
US11531629B2 (en) | 2021-03-04 | 2022-12-20 | Liqid Inc. | High density peripheral card chassis |
WO2022261597A1 (en) * | 2021-06-09 | 2022-12-15 | Microchip Technology Incorporated | A link monitor for a switch having a pcie-compliant interface, and related systems, devices, and methods |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080235430A1 (en) * | 2006-01-18 | 2008-09-25 | International Business Machines Corporation | Creation and Management of Routing Table for PCI Bus Address Based Routing with Integrated DID |
CN201369046Y (zh) * | 2009-03-27 | 2009-12-23 | 福建星网锐捷网络有限公司 | 快速外部设备互联总线数据通信系统 |
US20100185509A1 (en) * | 2009-01-21 | 2010-07-22 | Yahoo! Inc. | Interest-based ranking system for targeted marketing |
WO2010121017A2 (en) * | 2009-04-17 | 2010-10-21 | Citrix Systems, Inc. | Methods and systems for evaluating historical metrics in selecting a physical host for execution of a virtual machine |
US20110238909A1 (en) * | 2010-03-29 | 2011-09-29 | Pankaj Kumar | Multicasting Write Requests To Multiple Storage Controllers |
US20140281106A1 (en) * | 2013-03-12 | 2014-09-18 | Lsi Corporation | Direct routing between address spaces through a nontransparent peripheral component interconnect express bridge |
US20140351809A1 (en) * | 2013-05-24 | 2014-11-27 | Gaurav Chawla | Access to storage resources using a virtual storage appliance |
CN104199718A (zh) * | 2014-08-22 | 2014-12-10 | 上海交通大学 | 一种基于numa高性能网络缓存资源亲和度的虚拟处理器的调度方法 |
US20150026385A1 (en) * | 2013-07-22 | 2015-01-22 | Futurewei Technologies, Inc. | Resource management for peripheral component interconnect-express domains |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7379994B2 (en) * | 2000-10-26 | 2008-05-27 | Metilinx | Aggregate system resource analysis including correlation matrix and metric-based analysis |
US8503468B2 (en) | 2008-11-05 | 2013-08-06 | Fusion-Io, Inc. | PCI express load sharing network interface controller cluster |
US8387060B2 (en) * | 2009-10-01 | 2013-02-26 | Dell Products L.P. | Virtual machine resource allocation group policy based on workload profile, application utilization and resource utilization |
CN103049336A (zh) | 2013-01-06 | 2013-04-17 | 浪潮电子信息产业股份有限公司 | 一种基于哈希的网卡软中断负载均衡方法 |
CN103645954B (zh) | 2013-11-21 | 2018-12-14 | 华为技术有限公司 | 一种基于异构多核体系的cpu调度方法、装置和系统 |
US20150262632A1 (en) * | 2014-03-12 | 2015-09-17 | Fusion-Io, Inc. | Grouping storage ports based on distance |
US9419918B2 (en) | 2014-11-07 | 2016-08-16 | Futurewei Technologies, Inc. | Non-transparent bridge method and apparatus for configuring high-dimensional PCI-express networks |
US9858228B2 (en) | 2015-08-10 | 2018-01-02 | Futurewei Technologies, Inc. | Dynamic assignment of groups of resources in a peripheral component interconnect express network |
-
2015
- 2015-08-10 US US14/822,672 patent/US9858228B2/en active Active
-
2016
- 2016-07-26 WO PCT/CN2016/091775 patent/WO2017024938A1/en active Application Filing
- 2016-07-26 CN CN201680046494.4A patent/CN107851043B/zh not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080235430A1 (en) * | 2006-01-18 | 2008-09-25 | International Business Machines Corporation | Creation and Management of Routing Table for PCI Bus Address Based Routing with Integrated DID |
US20100185509A1 (en) * | 2009-01-21 | 2010-07-22 | Yahoo! Inc. | Interest-based ranking system for targeted marketing |
CN201369046Y (zh) * | 2009-03-27 | 2009-12-23 | 福建星网锐捷网络有限公司 | 快速外部设备互联总线数据通信系统 |
WO2010121017A2 (en) * | 2009-04-17 | 2010-10-21 | Citrix Systems, Inc. | Methods and systems for evaluating historical metrics in selecting a physical host for execution of a virtual machine |
US20110238909A1 (en) * | 2010-03-29 | 2011-09-29 | Pankaj Kumar | Multicasting Write Requests To Multiple Storage Controllers |
US20140281106A1 (en) * | 2013-03-12 | 2014-09-18 | Lsi Corporation | Direct routing between address spaces through a nontransparent peripheral component interconnect express bridge |
US20140351809A1 (en) * | 2013-05-24 | 2014-11-27 | Gaurav Chawla | Access to storage resources using a virtual storage appliance |
US20150026385A1 (en) * | 2013-07-22 | 2015-01-22 | Futurewei Technologies, Inc. | Resource management for peripheral component interconnect-express domains |
CN104199718A (zh) * | 2014-08-22 | 2014-12-10 | 上海交通大学 | 一种基于numa高性能网络缓存资源亲和度的虚拟处理器的调度方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019175415A (ja) * | 2018-03-28 | 2019-10-10 | 廣達電腦股▲ふん▼有限公司Quanta Computer Inc. | システム資源を割り当てる方法及びシステム |
CN110324264A (zh) * | 2018-03-28 | 2019-10-11 | 广达电脑股份有限公司 | 分配系统资源的方法与系统 |
US10728172B2 (en) | 2018-03-28 | 2020-07-28 | Quanta Computer Inc. | Method and system for allocating system resources |
CN110324264B (zh) * | 2018-03-28 | 2022-02-22 | 广达电脑股份有限公司 | 分配系统资源的方法与系统 |
CN109388607A (zh) * | 2018-10-25 | 2019-02-26 | 江苏华存电子科技有限公司 | 适用于外设互联标准PCIe传送端系数均衡机制的方法 |
CN110515723A (zh) * | 2019-08-09 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种双路服务器及其cpu负载均衡系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107851043B (zh) | 2020-09-11 |
WO2017024938A1 (en) | 2017-02-16 |
US9858228B2 (en) | 2018-01-02 |
US20170046293A1 (en) | 2017-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107851043A (zh) | 快捷外围部件互连网络中资源组的动态分配 | |
CN112153700B (zh) | 一种网络切片资源管理方法及设备 | |
CA3043198C (en) | Selecting threads for concurrent processing of data | |
CN111176792B (zh) | 一种资源调度方法、装置及相关设备 | |
US9805140B2 (en) | Striping of directed graphs and nodes with improved functionality | |
US20160110228A1 (en) | Service Scheduling Method, Apparatus, and System | |
US9503387B2 (en) | Instantiating incompatible virtual compute requests in a heterogeneous cloud environment | |
CN103348638B (zh) | 通信系统、控制装置、通信节点以及通信方法 | |
WO2018176385A1 (en) | System and method for network slicing for service-oriented networks | |
EP2629490A1 (en) | Optimizing traffic load in a communications network | |
WO2014208661A1 (ja) | 仮想マシン配置設計装置及び方法とシステム並びにプログラム | |
US10257088B2 (en) | Virtual network overlays for multipath datacenters | |
CN105634974B (zh) | 软件定义网络中的路由确定方法和装置 | |
CN107967164A (zh) | 一种虚拟机热迁移的方法及系统 | |
CN104104621A (zh) | 一种基于非线性降维的虚拟网络资源动态自适应调节方法 | |
WO2016018352A1 (en) | Platform configuration selection based on a degraded makespan | |
US9391875B2 (en) | Resource oriented dependency graph for network configuration | |
CN104823418A (zh) | 用于防止需求死锁并实现均衡链路利用的流量工程系统 | |
JP2016220126A (ja) | ネットワーク処理システム、ネットワークシステムの管理方法及び通信装置 | |
WO2017213065A1 (ja) | サービス管理システム、サービス管理方法、および、記録媒体 | |
US20180314455A1 (en) | Memory access optimization in a processor complex | |
Malashenko et al. | Heterogeneous Flow Distribution at the Peak Load in the Multiuser NetworkK | |
Hammad et al. | Novel methods for virtual network composition | |
LU102064B1 (en) | Deep learning offline inference load balancing method for Internet of Vehicles | |
Trivino et al. | Noc reconfiguration for cmp virtualization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200911 |