CN110324264A - 分配系统资源的方法与系统 - Google Patents
分配系统资源的方法与系统 Download PDFInfo
- Publication number
- CN110324264A CN110324264A CN201811024329.6A CN201811024329A CN110324264A CN 110324264 A CN110324264 A CN 110324264A CN 201811024329 A CN201811024329 A CN 201811024329A CN 110324264 A CN110324264 A CN 110324264A
- Authority
- CN
- China
- Prior art keywords
- pcie
- host
- referred
- fibre switch
- path distance
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/25—Arrangements specific to fibre transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/122—Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/111—Switch interfaces, e.g. port details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
Abstract
本发明公开一种分配装置资源的方法与系统。管理控制器执行一编排器应用程序。光纤盒包含多个光纤交换器与光纤控制器。一网络耦接于管理控制器与光纤盒。各主服务器分别耦接于其中一个光纤交换器的上游端口。多个装置资源耦接于该些光纤交换器的下游端口。该光纤控制器决定在各该上游端口与各该下游端口之间的路径距离。编排器应用程序基于与一发出请求的主服务器间的最短路径距离而回应一分配指令。
Description
技术领域
本发明涉及一种应用在光纤卡盒进行装置分配的方法与系统,且特别是涉及一种通过计算装置库的路径距离,进而辅助主机进行有效率地分配的方法与系统。
背景技术
随着云端服务的出现,通过云端服务进行应用程序计算的场外安设(off-siteinstallations)的需求也大幅提升。场外安设也称为数据中心,其可由远端计算机装置的使用者存取所存储的数据并可执行应用程序。为能存储并管理数据,此种数据中心通常设有大量的服务器、交换器,以及存储装置。一个典型的数据中心具有实体的座架结构(rackstructure)以及伴随而来的功率消耗、沟通连接等。这些座架结构成列地设置在数据中心的一个或多个房间里。每一个座架结构包含一个框架,且框架具有多个插槽或在两侧墙(side walls)之间的机壳。这些插槽可支持多个网络装置(例如,服务器、交换器与存储装置)。在一个现代化的数据中心内,可以发现很多这种被堆叠在此种座架结构中的网络装置。例如,某些数据中心包含上万个服务器、存储装置与网络交换器。因此,一个典型的数据中心可能包含设置在上百个或上千个独立的座架结构中的上万个甚至数十万个装置。
为有效分配资源,数据中心包含采用综合排列(pooled arrangement)的各类型装置。此种装置库可因为主服务器对资源的需求提升而被分配至不同的主服务器。经由快速外设元件互连标准(Peripheral Component Interconnect Express,简称为PCIe)交换器的启动,此种装置可通过PCIe协议链接而连接装置与主服务器。
因此,许多现代化的数据中心支持具有大量装置库的个体。例如在图1所举例的数据中心10。一名系统管理者通过存取编排器应用程序12,将组态数据经由路由器14传送至PCIe光纤盒20。PCIe光纤盒20包含众多的序列扩充总线装置(serial expansion busdevices),例如,可由同样在数据中心内的其他装置所存取的PCIe装置。在这个例子中,PCIe光纤盒20包含经由乙太网络15而自路由器14接收组态数据的PCIe光纤控制器22。PCIe光纤盒20包含可用于将主机(例如:主服务器30、32、34、36)连接至PCIe光纤盒20内的不同PCIe装置的PCIe交换器(例如PCIe交换器24、26)。PCIe交换器24包含上游端口40、42,且PCIe交换器26包含上游端口44、46。上游端口40、42、44、46经由PCIe缆线(cable)而连接至主服务器30、32、34、36。PCIe交换器24包含下游端口50、52、54、56;PCIe交换器26包含下游端口60、62、64、66。在这个例子中,任何一个主服务器30、32、34、36都可以存取设置在PCIe光纤盒20内,并分别耦接于PCIe交换器24、26的下游端口的多个PCIe装置。
如图1所示,主服务器30、32直接耦接于PCIe交换器24的上游端口40、42,而主服务器34、36直接耦接于至PCIe交换器26的上游端口44、46。连接至PCIe交换器24的其他装置,可经由交换器26而被分配至主服务器34、36。在这个例子中,PCIe装置70、72、74、76直接耦接于PCIe交换器24的下游端口50、52、54、56。PCIe装置80、82、84、86直接耦接于PCIe交换器26的下游端口60、62、64、66。通过增设附加的PCIe交换器,可进一步支持附加的PCIe装置与主服务器。此处举例的数据中心10允许从主服务器移除系统资源,并改由外部的PCIe光纤盒20提供系统资源。因此,在其他服务器增加需求时,数据中心10可以根据不同主服务器的需求,分配不同类型的系统资源至不同的主服务器。例如,PCIe装置70、72、74、76、80、82、84、86可分别为一资源(例如,非挥发性存储器(non-volatile memory,简称为NVMe)、图形处理单元(graphic processing unit,简称为GPU)、现场可编程逻辑门阵列(fieldprogrammable gate array,简称为FPGA)、网络接口卡(network interface card,简称为NIC),或其他类型的PCIe装置)。这些PCIe装置均可被任意分配至主机(例如,主服务器30、32、34、36)。
当使用者希望将装置资源分配至主机时,使用者可传送请求(request)(例如,“将一个GPU分配至主机1(allocate One GPU to Host 1)”)至编排器应用程序12。编排器应用程序12接着传送指令至PCIe光纤控制器22,用以将GPU装置(例如,PCIe装置70)分配至主服务器30。如图2的选取范围90所示,PCIe光纤盒20经由PCIe交换器24、26,将PCIe装置70(GPU1)分配至主服务器30。
依照前述的分配方式,使用者可将另一个装置资源分配至另一个主服务器。例如,系统管理者可传送其他请求(例如,“将一个GPU分配至主机3(Allocate One GPU to Host3)”)至编排器应用程序12,用以将另一个GPU(例如,PCIe装置72)分配至主服务器34。如图3的选取范围所示,接着,PCIe光纤盒20通过PCIe交换器24、26,将另一个PCIe装置72(GPU2)分配至主服务器34。
图1-图3所示的PCIe光纤盒20存在一个问题,即,使用不同的PCIe交换器将装置资源分配至不同的主服务器。此处,装置库与不同的主机间具有不同的路径距离。针对数据中心10的目的,测量将主机连接至PCIe装置资源之间所需经过的PCIe交换器的个数,并以此个数代表路径距离(path distance)。在这个例子中,编排器应用程序12在将PCIe装置分配至主服务器时,并未对被分配的PCIe装置与主机之间的距离进行最佳化。例如,如图2所示,当PCIe装置70被分配至主服务器30时,PCIe交换器24允许PCIe装置70连接至主服务器30。因此,主服务器30与PCIe装置70间的距离被最佳化为1个单位。相对的,当PCIe装置72被分配至主服务器34时,该连接要求扩充PCIe交换器24、26两者,用以连接至主服务器34(如图3的选取范围92所示)。因此,在主服务器34与PCIe装置72间的路径距离为2个单位,此为未经过最佳化分配的结果。一种较佳的分配方式应是,将PCIe装置80、82、84、86的其中一者分配至主服务器34。这是因为从PCIe装置80、82、84、86至主服务器34间仅需要经过PCIe交换器26,所以在PCIe装置80、82、84、86至主服务器34之间的路径距离为1个单位。然而,因为编排器应用程序12并没有关于最佳化分配所须的相关数据的缘故,连带使被分配的PCIe装置与主服务器间实际连接的方式,超过实际连接所需的路径距离。
因此,亟需一种让PCIe光纤盒系统能够决定在被分配的装置与主服务器间距有最少的路径距离的作法。此外,也需要能够让PCIe光纤盒在选择将PCIe装置分配至主机时,针对所需的PCIe装置的类型,自动化地将PCIe装置与主机间的路径距离纳入考虑。
发明内容
根据本发明的第一方面,提出一种包含多个光纤交换器的光纤盒。每个交换器分别具有与主机耦接的至少一个上游端口。光纤盒包含多个装置,耦接于该等光纤交换器的一者的多个下游端口。光纤控制器耦接于该些光纤交换器。光纤控制器可操作而决定在该等光纤交换器的该等上游端口与该等下游端口之间的一路径距离。随着接收将该等装置之一者分配至该主机的一请求,自该等装置中,光纤控制器选择与主机间具有最短路径距离之一被选择装置,并通过设定该等光纤交换器之一者而将主机连接至被选择装置。
根据本发明的第二方面,提出一种经由光纤盒,将装置分配至主机的方法。其中该光纤盒包含:多个光纤交换器,各交换器具有耦接于主机的至少一个上游端口;与该等光纤交换器之一者的多个下游端口耦接的多个装置;以及,耦接于该等光纤交换器的一光纤控制器。将装置分配至主机的方法包含以下步骤。首先,决定在各该下游端口与各该上游端口间的多个路径距离。其次,接收将该等装置之一者分配至主机的请求。接着,依据至该被分配主机的该最短路径距离而选择一被选择装置,以及经由位于该被选择装置与该主机之间的该等光纤交换器之一者而启动连接。
根据本发明的第三方面,提出一种用于有效分配装置资源的系统。该系统包含:编排器应用程序、光纤盒、网络、多个主服务器、多个装置资源。管理控制器执行编排器应用程序,而光纤盒包含光纤交换器与光纤控制器。网络耦接于管理控制器与光纤盒。各个主服务器耦接于该等光纤交换器之一者的一上游端口。该些装置资源耦接于光纤交换器之一者的下游端口。光纤控制器可操作而决定在该等光纤交换器的该等上游端口与该等下游端口之间的一路径距离。为回应一分配指令,编排器应用程序可操作地基于与一发出请求的一主机间的一最短路径距离而选择一被选择装置。
为了对本发明的上述及其他方面有更佳的了解,下文特举实施例,并配合所附的附图详细说明如下:
附图说明
图1为将装置资源分配至不同主机的现有的PCIe光纤盒系统的示意图;
图2为如图1所示的PCIe光纤盒,将其中一个PCIe装置分配至其中一个主机的方块图;
图3为如图1所示的PCIe光纤盒,未采用最佳化分配方式将PCIe装置分配至其中一个主机的方块图;
图4为举例说明能有效率地将PCIe装置分配至主机,并可缩短路径距离的PCIe光纤盒系统的方块图;
图5为以图4所举例的PCIe光纤盒系统,考虑主机与PCIe装置间的路径距离信息,并对PCIe装置的分配进行最佳化的示意图;
图6为以另一个PCIe光纤盒为例,说明有效率地将PCIe装置分配至主机而缩短路径距离的示意图;
图7为在PCIe光纤盒系统中,将PCIe装置分配至主机以达到最佳化路径距离分配的流程图。
符号说明
分散式装置系统10
乙太网络15
编排器应用程序12、112
主服务器30、32、34、36、130、132、134、136、240、242、244、246
上游端口40、42、44、46、140、142、144、146、230、232
路由器14、114、214
网络115、215、216a、216b、216c、216d
PCIe交换器24、26
下游端口50、52、54、56、60、62、64、66、60、150、152、154、156、162、164、166、250、252、254、256、260、262、264、266
PCIe光纤盒20、120、220
PCIe光纤控制器22、122、222
PCIe装置70、72、74、76、80、82、84、86、170、172、174、176、180、182、184、186、270、272、274、276
选取范围90、92、190、192
分散式装置系统100、200
网络交换器238
智能型NIC 234、236
步骤700、702、704、706、708、710、712
具体实施方式
本发明可以不同形式实现。此处以附图搭配详细的说明解释具代表性的实施例。本揭露的内容用于举例说明本揭露的原则,此处说明的实施例并非用于限制可揭露的广泛应用。据此,本文件揭露相关元件与限制。例如,在摘要、发明内容与实施方式的相关说明,其并非明确说明权利要求的,不应被以明示、参考等方式,独自或共同被当作权利要求解释。为能充分解释本案的说明,此处除非特别排除,否则此处所提到的单数名词也包含多个名词,反之亦然。此外,“包含”一词意为“包含但不限于”。再者,关于表示近似的用词,例如,“大约”、“几乎”、“实质上”、“近似”等类似用语,此处均可用于代表“为”、“接近”、“接近于”、“小于3-5%的误差范围”、“在可接受的制造容错范围内”,或是该些用词的逻辑组合等。
请参见图4,其举例说明分散式装置系统100可于数据中心中,依据最小路径距离而将不同的装置资源分配至主机的方块图。系统管理者可存取编排器应用程序112,通过编排器应用程序112而允许将分配指令经由路由器114传送至PCIe光纤盒120。编排器应用程序112可以由系统管理者所操作的(网络)管理控制器或其他合适的计算装置执行。PCIe光纤盒120包含为数众多的序列扩充总线装置(例如,与PCIe版本3或PCIe版本4相容的装置),且这些序列扩充总线装置可被分配至数据中心内的主服务器。在这个例子中,PCIe光纤盒120所包含的PCIe光纤控制器122,可以通过源自于路由器114的网络115而从编排器应用程序112接收组态指令。如下所解释的,在PCIe光纤控制器122执行的控制应用程序,会依据最佳化路径距离,将PCIe装置分配至主服务器。
PCIe光纤盒120包含PCIe交换器(例如,PCIe交换器124、126)。PCIe交换器124、126允许主机(例如,主服务器130、132、134、136)连接至不同的PCIe装置。PCIe交换器124包含上游端口140、142,且PCIe交换器126包含上游端口144、146。上游端口140、142、144、146通过PCIe缆线分别连接至主服务器130、132、134、136。PCIe交换器124也包含下游端口150、152、154、156。PCIe交换器126包含下游端口160、162、164、166。在这个例子中,PCIe光纤盒120内的PCIe装置连接至PCIe交换器124、126的下游端口150、152、154、156、160、162、164、166。这些PCIe装置可由任何一个主服务器130、132、134、136所存取。此类PCIe装置由PCIe光纤盒120提供电源,并可经由至PCIe交换器124、126的PCIe链接而与其他装置沟通。通过与PCIe交换器124、126的其中一个的开放式下游端口相连的方式,PCIe光纤盒120可再增添更多附加的PCIe装置。除既有的这些PCIe装置外,也可将其中一个下游端口连接至其他不同类型的装置。PCIe交换器提供更多个上游端口,搭配附加的主服务器使用。尽管此处假设PCIe光纤盒20包含两个PCIe交换器124、126,但PCIe光纤盒120也可通过设置更多PCIe交换器的方式,容纳更多附加的主服务器与PCIe装置。
主服务器130、132直接耦接于PCIe交换器124的上游端口140、142,而主服务器134、136直接耦接于PCIe交换器126的上游端口144、146。在这个例子中,PCIe装置170、172、174、176直接耦接于PCIe交换器124的下游端口150、152、154、156;PCIe装置180、182、184、186直接耦接于PCIe交换器126的下游端口160、162、164、166。PCIe装置可包含NVMe、图形处理单元(graphic processing unit,简称为GPU)、FPGA、NIC、容错式磁盘阵列(redundantarray of independent disks,简称为RAID)接口卡、I-IBA卡或其他类型的PCIe装置。经由PCIe交换器124、126中的至少一者,可以将一个或多个PCIe装置170、172、174、176、180、182、184、186分配给其中一个主服务器130、132、134、136使用。如以下所说明的,进行PCIe装置的分配时,应考虑在主服务器与被分配的PCIe装置间的路径距离。尽管在这个例子中,假设PCIe交换器124、126均各自连接至四个PCIe装置。然而,与各个PCIe交换器124、126实际连接的PCIe装置的数量,可以根据可用下游端口的数量而分配至其中一个主服务器而决定,并不需要加以限定。
在这个例子中,针对各PCIe装置170、172、174、176、180、182、184、186至各个主服务器提供预定的路径距离。路径距离的定义是,将PCIe装置连接至一给定的主服务器途中,必须穿越过的中间的PCIe交换器的数量。在将PCIe装置连接至PCIe交换器124、126其中一个的下游端口150、152、154、156、160、162、164、166时,每个下游端口150、152、154、156、160、162、164、166至每个上游端口之间的预定路径距离,会根据PCIe交换器的硬件设计而异。因此,路径距离可被分配至与特定的下游端口相连的任何PCIe装置。
图4所示的PCIe交换器124、126的各下游端口150、152、154、156、160、162、164、166具有交换器124、126的上游端口(及与其相对应的主机)的路径距离信息。例如,PCIe装置170连接至PCIe交换器124的下游端口150。装置170与PCIe交换器124的两个上游端口140、142之间的路径距离为1个单位;且,因为交换器124必须与PCIe交换器126的上游端口144、146沟通的缘故,PCIe装置170与PCIe交换器126的两个上游端口144、146之间的路径距离为2个单位。PCIe装置180PCIe与交换器126的两个上游端口144、146之间的路径距离为1个单位,但是PCIe装置180与PCIe交换器124的两个上游端口140、142之间的路径距离为2个单位。因此,当PCIe装置被连接至PCIe交换器124、126其中一者的下游端口时,该PCIe装置具有与其相连的PCIe交换器的所有上游端口的路径距离信息。
在这个例子中,PCIe光纤控制器122具有应用程序的编程接口(applicationprogramming interface,简称为API),用以将从PCIe交换器124、126得到的路径距离信息输出至编排器112。路径距离信息用于提供给与下游端口耦接的所有PCIe装置,关于各该PCIe装置至与PCIe交换器124、126的上游端口耦接的主机间的路径距离。
以下所示为包含所有PCIe装置至全部上游端口与至全部主服务器的距离信息片段。以下程序码的区域识别栏位(Zone ID field)(例如,1-z-1或1-z-2)可用于映射至特定的主机或上游端口。以下的程序码是由编排器应用程序112执行,用于依据路径距离而分配在图4中的PCIe光纤盒120的PCIe装置。
距离API因此将PCIe光纤盒120的所有PCIe装置的距离信息提供给编排器应用程序112。当使用者发出请求至编排器应用程序112,请求将PCIe装置分配给主机时,编排器应用程序112可以从PCIe光纤盒120的可用PCIe装置列表中,分配其中具有最短路径距离的PCIe装置。若无法找到具有较近距离的PCIe装置,编排器应用程序112只能找到更远的PCIe装置时,可能需要使用附加的PCIe交换器进行传输。
在这个例子中,距离演算法所采用的接口协议为PCIe链接协议。然而,主机接口也可采用其他的协议,例如:乙太(Ethernet)、网状通道(Fibre Channel)或无限频宽技术(InfiniBand)。为选出与主机相连时具有最小路径距离的装置,前述的规则可搭配任何类型的接口协议。
根据距离分配演算法,编排器应用程序112可成功地以最短路径距离将PCIe装置分配至主机。对图4中的分散式装置系统100而言,经由图1的编排器应用程序112执行演算法分配PCIe装置后的结果,将如图5所示。在图4、图5中,采用相同的识别码标示相似的元件。
在这个例子中,PCIe装置170、172、180为GPU。系统管理者可能会想要将GPU分配至其中一个主服务器(例如:主服务器130),用以支持主服务器130执行图形处理的任务。因此,系统管理者经由编排器应用程序112,请求将GPU装置分配至主服务器130。采用距离演算法,编排器应用程序112将决定在PCIe光纤盒120中尚未被分配的GPU装置,以及这些尚未被分配的GPU装置与该被请求主服务器130之间的路径距离。编排器应用程序112将致能PCIe光纤控制器122用以对PCIe交换器进行适当的设定,进而完成对装置的分配。在这个例子中,PCIe装置170、172与主服务器130的路径距离均为1。另一方面,因为主服务器130与交换器124的上游端口140相连的缘故,PCIe装置180与主服务器130的路径距离为2个单位。如图5的选取范围190所示,PCIe装置170因而经由PCIe交换器124连接至主服务器130。
其后,系统管理者可能想将GPU装置分配至其他的主服务器(例如,主服务器134)。系统管理者将经由编排器应用程序112,请求将GPU装置分配至主服务器134。编排器应用程序112将决定有哪些尚未被分配的GPU装置,以及该些未被分配的GPU装置与被请求主服务器134间的路径距离。在这个例子中,可用的PCIe装置172至主服务器134的路径距离为2个单位。另一方面,因为主服务器134直接连接至PCIe交换器126的上游端口144的缘故,可用的PCIe装置180与主服务器134间的路径距离为1个单位。如图5的选取范围192所示,PCIe装置180因而经由PCIe交换器126连接至主服务器134。
图6所示为另一个最小化装置资源库的路径距离的分散式装置系统200。分散式装置系统200包含编排器应用程序212,编排器应用程序212允许组态数据经由路由器214被传送被传送至PCIe光纤盒220。PCIe光纤盒220包含可被同样位于数据中心内的其他PCIe装置所存取的PCIe装置。在此例中,PCIe光纤盒220包含可经由网络215,自路由器214接收组态数据的PCIe光纤控制器222。PCIe光纤控制器222执行控制应用程序,使用最佳化路径距离将PCIe装置分配至主服务器。PCIe光纤盒220包含PCIe交换器(例如,PCIe交换器224、226)。PCIe交换器224、226分别具有上游端口230、232。上游端口230连接至智能型网络接口卡(NIC)234。上游端口232连接至智能型NIC 236。智能型NIC 234、236连接至网络交换器238的端口。
网络交换器238的其他端口与主机(例如,主服务器240、242、244、246)连接。在这个分散式装置系统200中,网络216a、216b、216c、216d经由网络交换器238,将主机连接至PCIe光纤盒220。主服务器240、242、244、246可经由交换器224、226与智能型NIC 234、236而连接至不同的PCIe装置。在这个例子中,PCIe光纤盒220内有些PCIe装置耦接于PCIe交换器224、226。
基于网络组态,此处假设主服务器240、242经由智能型NIC 234耦接于PCIe交换器224,而主服务器244、246经由智能型NIC 236耦接于交换器226。或者,也可采用其他的网络组态。例如,有三个主服务器分别经由NIC而被耦接于其中一个PCIe交换器。PCIe交换器224包含下游端口250、252、254、256。PCIe交换器226包含下游端口260、262、264、266。在这个例子中,PCIe装置270、272、274、276分别经由下游端口250、252、254、256而耦接于PCIe交换器224。PCIe装置280、282、284、286分别经由下游端口260、262、264、266而耦接于PCIe交换器226。在这个例子中,PCIe交换器224、226的其中一个上游端口连接至智能型NIC 234、236的其中一者,用以经由PCIe交换器224、226将装置分享至主机。在每一个智能型NIC230、236中,存放着主服务器至不同PCIe装置的不同路径距离。因此,当一个将PCIe装置分配到主服务器的请求发生时,可基于相同的演算法,从智能型NIC 230、236其中一者取得距离信息。
在这个例子中,PCIe装置270、276、282为存储器装置(例如NVMe装置)。系统管理者可能会希望将NVMe装置分配至其中一个主服务器(例如,主服务器240),用以协助主服务器240增加存储容量。因此,系统管理者将经由编排器应用程序212,请求将NVMe装置分配至主服务器240。利用距离演算法,编排器应用程序212将决定PCIe光纤盒220内有哪些NVMe装置尚未被分配,以及这些NVMe装置与发出请求的主服务器240间的路径距离。在这个例子中,PCIe装置270、276至主服务器240间的路径距离为1个单位,PCIe装置282主服务器240间的路径距离为2个单位。这是因为主服务器240经由智能型NIC 234与网络交换器238而连接至PCIe交换器224的上游端口230的缘故。装置270因而经由PCIe交换器224与智能型NIC 234连接至主服务器240。
其后,系统管理者可能会希望将NVMe装置分配至另一个主服务器(例如,主服务器244)。系统管理者通过编排器应用程序212,请求将一个NVMe装置分配至主服务器244。编排器应用程序212将决定有哪些NVMe装置尚未被分配,以及该些NVMe装置和发出请求的主服务器244间的路径距离。在这个例子中,可用的PCIe装置276与主服务器244间的路径距离为2个单位,可用的PCIe装置282与主服务器244间的路径距离为1个单位。这是因为主服务器244经由智能型NIC 236连接至PCIe交换器226的上游端口232,而PCIe装置282需经由PCIe交换器226与智能型NIC 236连接至主服务器244。
请参见图7,其在PCIe光纤盒系统中,将装置分配至主机以达到最佳化路径距离分配的流程图。此流程图为图4的PCIe光纤控制器122或编排器应用程序112所采用的机器可读取指令的举例,用以对装置进行有效率的分配在这个例子中,机器可读取指令包含由(a)处理器;(b)控制器;及/或(c)一个或多个其他合适的处理装置所执行的演算法。演算法可嵌入于存储在实体媒介(例如,闪存存储器(flash memory)、光盘片(CD-ROM)、软盘(floppydisk)、硬盘(hard drive)、数字影像(挥发性)磁盘(digital video(versatile)disk,简称为DVD),或其他存储器装置)的软件内。然而,本案所属技术领域中具有通常知识者可轻易理解,众所皆知地,其他非处理器的装置及/或嵌入式固件、专用硬件等,也可用于执行整个及/或部分的演算法。例如,可由特殊应用集成电路(application specific integratedcircuit,简称为ASIC)、装置(programmable logic device,简称为PLD)、装置(fieldprogrammable logic device,简称为FPLD)、可编程逻辑门阵列、分散式逻辑(discretelogic)等。例如,任何可由软件、硬件及/或固件实现的接口的所有元件。另,此流程图所示的一部分或全部的机器可读取指令可被手动实现。再者,尽管图7是用于参考而作为演算法的举例,本案所属技术领域中具有通常知识者应可知悉,此处也可采用其他实现此处举例的机器可读取指令的方法。例如,步骤的执行顺序可能改变及/或所述的部分方块可能改变、删除,或彼此组合。
首先,PCIe光纤控制器122判断与PCIe交换器124、126的每个端口相连的装置与主机(步骤700)。PCIe光纤控制器122将判断在PCIe光纤盒120内的PCIe装置类型,并将信息传送至编排器应用程序112(步骤702)。接着,PCIe光纤控制器122接收每一个下游端口至每一个上游端口的路径距离信息(步骤704)。
PCIe光纤控制器122经由路由器114接收由编排器应用程序112发出的分配请求(步骤706)。PCIe光纤控制器122读取被请求的主机与PCIe装置之间的路径距离,决定可符合分配请求的PCIe装置(步骤708)。PCIe光纤控制器122接着决定有哪些PCIe装置具有最短路径距离,并从其中选择一个PCIe装置(步骤710)。PCIe光纤控制器122接着设定适当的PCIe交换器,用以提供被选定的PCIe装置与主机间的连线(步骤712)。
应用程序所使用的词汇如“元件”、“模块”、“系统”等,通常指与计算机相关的实体(computer-related entity),无论是硬件(例如,电路)、硬件与的组合软件的组合、软件、或是与具有一个或多个功能的运算机器(operational machine)相关的实体。例如,元件可以是,但不限于:由处理器(例如,数字信号处理器)、处理器、物件、可执行程序、可执行程序的执行绪(线程)、程序,及/或计算机所执行的程序。通过解释,控制器所执行的应用程序,以及控制器本身,也都可以当作元件。一个或多个元件可能指一个程序及/或执行程序的执行绪,且元件可能位于一台计算机及/或分散在两个或更多台计算机间。再者,“装置”可指经特别设计的硬件;专别用于执行软件并可致能硬件实现特定功能的通用硬件;存储在计算机可读接口的软件或其组合。
本文使用的术语仅基于描述特定实施方案的考虑,并非用于限制本发明。在本文中,除非上下文另有明确说明,单数形式的“一”,“一个”和“该”,其实也包括多个形式。再者,无论是详细描述和/或权利要求中,在某种程度上,“包括”,“具有”,“具有”,“含有”或其可能变形的词语,其意涵类似于“包含”一词。
除非另行定义,本文所使用的全部用语(包含技术用语与科学用语),具有与本案所属技术领域中具有通常知识者所理解的相同含意。再者,例如,在常用词典所定义的词汇,除非在本文中明确地定义,否则应依据与该些词汇的相关领域的上下文相符的意思解释,而不是以理想或过于正式的方式解释该些词汇。
综上所述,虽然结合以上实施例公开了本发明,然而其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,可作各种的更动与润饰。因此,本发明的保护范围应当以附上的权利要求所界定的为准。
Claims (10)
1.一种光纤盒,其特征在于,包含:
多个光纤交换器,各该光纤交换器分别具有与主机耦接的至少一上游端口;
多个装置,耦接于该多个光纤交换器之一者的多个下游端口;
光纤控制器,耦接于该多个光纤交换器,该光纤控制器可操作而决定在该多个光纤交换器的该多个上游端口与该多个下游端口之间的路径距离,以及随着接收将该多个装置之一者分配至该主机的请求,自该多个装置中,选择与该主机间具有最短路径距离之一被选择装置,并通过设定该多个光纤交换器之一者而将该主机连接至该被选择装置。
2.如权利要求1所述的光纤盒,其中该多个装置包含非挥发性存储器(non-volatilememory,简称为NVMe)、图形处理单元(graphic processing unit,简称为GPU)、现场编程可编程逻辑门阵列(field programmable gate array,简称为FPGA)、网络接口卡(networkinterface card,NIC),以及容错式磁盘阵列(redundant array of independent disks,简称为RAID)接口卡中的至少两者。
3.如权利要求1所述的光纤盒,其中还包含多个网络接口卡,其中各该网络接口卡耦接于该多个光纤交换器之一者的该多个上游端口之一者,以及该主机之一者间,其中该多个光纤交换器的至少一者包含提供给多个附加装置的至少一开放式下游端口,且该光纤交换器与该多个装置是通过一快速外设元件互连标准(Peripheral Component InterconnectExpress,简称为PCIe)协议链接而相连接。
4.如权利要求1所述的光纤盒,其中该光纤控制器可操作地将各该装置的路径距离信息传送至编排器应用程序,且该光纤控制器可操作地自该编排器应用程序接收与该被选择装置与该主机相关之一分配指令。
5.一种经由光纤盒而将装置分配至主机的方法,其中该光纤盒包含:多个光纤交换器,各该交换器具有耦接于该主机的至少一上游端口;多个装置,其与该多个光纤交换器之一者的多个下游端口耦接;以及光纤控制器,其耦接于该多个光纤交换器,其中该方法包含以下步骤:
决定在各该下游端口与各该上游端口间的多个路径距离;
接收将该多个装置之一者分配至该主机的请求;
依据至该主机的该多个路径距离中的最短路径距离而选择被选择装置;以及
经由位于该被选择装置与该主机之间的该多个光纤交换器之一者而启动一连接。
6.如权利要求5所述的方法,其中该多个装置包含非挥发性存储器(non-volatilememory,简称为NVMe)、图形处理单元(graphic processing unit,简称为GPU)、现场编程可编程逻辑门阵列(field programmable gate array,简称为FPGA)、网络接口卡(networkinterface card,NIC),以及容错式磁盘阵列(redundant array of independent disks,简称为RAID)接口卡中的至少两者。
7.如权利要求5所述的方法,其中各该光纤交换器耦接于多个网络接口卡,且其中该主机耦接于与该多个网络接口卡耦接的一网络,其中该交换器与该多个装置通过快速外设元件互连标准(Peripheral Component Interconnect Express,简称为PCIe)协议链接而相连接,且该方法还包含以下步骤:
将附加装置连接至位于该多个光纤交换器之一者的开放式下游端口;以及
决定在该附加装置与该主机间的多个路径距离。
8.如权利要求5所述的方法,其中还包含:
将与各该装置对应的路径距离信息传送至编排器应用程序;以及
自该编排器应用程序接收与该被选择装置与该主机相关之一分配指令。
9.一种分配装置资源的系统,其特征在于,该系统包含:
编排器应用程序,其由管理控制器所执行;
光纤盒,包含多个光纤交换器与光纤控制器;
网络,其耦接于该管理控制器与该光纤盒;
多个主服务器,其中各该主服务器耦接于该多个光纤交换器之一者的上游端口;以及
多个装置资源,其中各该装置资源耦接于该多个光纤交换器之一者的下游端口,
其中该光纤控制器可操作而决定在该多个光纤交换器的该多个上游端口与该多个下游端口之间的路径距离,且其中该编排器应用程序回应分配指令,可操作地基于与发出请求的主机间的最短路径距离而选择被选择装置。
10.如权利要求9所述的系统,其中该多个装置包含非挥发性存储器(non-volatilememory,简称为NVMe)、图形处理单元(graphic processing unit,简称为GPU)、现场编程可编程逻辑门阵列(field programmable gate array,简称为FPGA)、网络接口卡(networkinterface card,NIC),以及容错式磁盘阵列(redundant array of independent disks,简称为RAID)接口卡中的至少两者。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862649212P | 2018-03-28 | 2018-03-28 | |
US62/649,212 | 2018-03-28 | ||
US16/018,998 | 2018-06-26 | ||
US16/018,998 US10728172B2 (en) | 2018-03-28 | 2018-06-26 | Method and system for allocating system resources |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110324264A true CN110324264A (zh) | 2019-10-11 |
CN110324264B CN110324264B (zh) | 2022-02-22 |
Family
ID=63490332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811024329.6A Active CN110324264B (zh) | 2018-03-28 | 2018-09-04 | 分配系统资源的方法与系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10728172B2 (zh) |
EP (1) | EP3547151B1 (zh) |
JP (1) | JP2019175415A (zh) |
CN (1) | CN110324264B (zh) |
TW (1) | TWI672028B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102304692B1 (ko) * | 2018-09-21 | 2021-09-24 | 주식회사 럭스로보 | 소스 코드 및 모듈 추천 시스템 및 모듈 어셈블리 |
US11962518B2 (en) | 2020-06-02 | 2024-04-16 | VMware LLC | Hardware acceleration techniques using flow selection |
US11829793B2 (en) | 2020-09-28 | 2023-11-28 | Vmware, Inc. | Unified management of virtual machines and bare metal computers |
US11636053B2 (en) | 2020-09-28 | 2023-04-25 | Vmware, Inc. | Emulating a local storage by accessing an external storage through a shared port of a NIC |
US11792134B2 (en) | 2020-09-28 | 2023-10-17 | Vmware, Inc. | Configuring PNIC to perform flow processing offload using virtual port identifiers |
US11593278B2 (en) | 2020-09-28 | 2023-02-28 | Vmware, Inc. | Using machine executing on a NIC to access a third party storage not supported by a NIC or host |
US11736566B2 (en) | 2020-09-28 | 2023-08-22 | Vmware, Inc. | Using a NIC as a network accelerator to allow VM access to an external storage via a PF module, bus, and VF module |
US11503140B2 (en) * | 2020-12-11 | 2022-11-15 | Western Digital Technologies, Inc. | Packet processing by programmable network interface |
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 |
US11677649B1 (en) * | 2021-09-13 | 2023-06-13 | Amazon Technologies, Inc. | Backbone network performance analysis |
US11863376B2 (en) | 2021-12-22 | 2024-01-02 | Vmware, Inc. | Smart NIC leader election |
US11899594B2 (en) | 2022-06-21 | 2024-02-13 | VMware LLC | Maintenance of data message classification cache on smart NIC |
US11928062B2 (en) | 2022-06-21 | 2024-03-12 | VMware LLC | Accelerating data message classification with smart NICs |
US11928367B2 (en) | 2022-06-21 | 2024-03-12 | VMware LLC | Logical memory addressing for network devices |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030233382A1 (en) * | 2002-06-14 | 2003-12-18 | Hitachi, Ltd. | Information processing method and system |
US20070136458A1 (en) * | 2005-12-12 | 2007-06-14 | Boyd William T | Creation and management of ATPT in switches of multi-host PCI topologies |
CN101141384A (zh) * | 2006-09-08 | 2008-03-12 | 华为技术有限公司 | 最短路径桥中对称树的生成方法 |
CN102263807A (zh) * | 2010-05-31 | 2011-11-30 | 国际商业机器公司 | 在存储区域网络保持通信路径畅通的方法和存储区域网络 |
US9003090B1 (en) * | 2014-03-25 | 2015-04-07 | DSSD, Inc. | PCI express fabric routing for a fully-connected mesh topology |
US20160335216A1 (en) * | 2013-08-09 | 2016-11-17 | Inphi Corporation | Pcie lane aggregation over a high speed link |
CN107170474A (zh) * | 2016-03-07 | 2017-09-15 | 广达电脑股份有限公司 | 可扩展存储盒、计算机实施方法以及计算机可读存储装置 |
CN107851043A (zh) * | 2015-08-10 | 2018-03-27 | 华为技术有限公司 | 快捷外围部件互连网络中资源组的动态分配 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7519734B1 (en) * | 2006-03-14 | 2009-04-14 | Amazon Technologies, Inc. | System and method for routing service requests |
US9699117B2 (en) * | 2011-11-08 | 2017-07-04 | Brocade Communications Systems, Inc. | Integrated fibre channel support in an ethernet fabric switch |
WO2013140509A1 (ja) | 2012-03-19 | 2013-09-26 | 富士通株式会社 | クロスバースイッチ、情報処理装置、及び情報処理装置の制御方法 |
US9148350B1 (en) * | 2013-03-11 | 2015-09-29 | Amazon Technologies, Inc. | Automated data synchronization |
US9672167B2 (en) | 2013-07-22 | 2017-06-06 | Futurewei Technologies, Inc. | Resource management for peripheral component interconnect-express domains |
US9648148B2 (en) * | 2013-12-24 | 2017-05-09 | Intel Corporation | Method, apparatus, and system for QoS within high performance fabrics |
WO2015167489A1 (en) * | 2014-04-30 | 2015-11-05 | Hewlett-Packard Development Company, L.P. | Network fabric control |
US9645902B2 (en) * | 2014-06-23 | 2017-05-09 | Liqid Inc. | Modular switched fabric for data storage systems |
KR101631461B1 (ko) | 2014-09-30 | 2016-06-17 | 주식회사 네오셈 | 메모리 소자 테스트 장치 및 방법 |
TWI556599B (zh) | 2015-06-30 | 2016-11-01 | 財團法人工業技術研究院 | 網路控制方法及網路控制器 |
US20180046338A1 (en) | 2016-08-12 | 2018-02-15 | Liqid Inc. | Disaggregated Fabric-Switched Computing User Interfaces |
US10713203B2 (en) * | 2017-02-28 | 2020-07-14 | Cisco Technology, Inc. | Dynamic partition of PCIe disk arrays based on software configuration / policy distribution |
US20180276161A1 (en) * | 2017-03-27 | 2018-09-27 | Sk Hynix Memory Solutions Inc. | PCIe VIRTUAL SWITCHES AND AN OPERATING METHOD THEREOF |
US10855581B2 (en) * | 2017-11-10 | 2020-12-01 | Fabriscale Technologies AS | System and method of computing ethernet routing paths |
-
2018
- 2018-06-26 US US16/018,998 patent/US10728172B2/en active Active
- 2018-08-16 TW TW107128603A patent/TWI672028B/zh active
- 2018-09-03 EP EP18192257.6A patent/EP3547151B1/en active Active
- 2018-09-03 JP JP2018164517A patent/JP2019175415A/ja active Pending
- 2018-09-04 CN CN201811024329.6A patent/CN110324264B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030233382A1 (en) * | 2002-06-14 | 2003-12-18 | Hitachi, Ltd. | Information processing method and system |
US20070136458A1 (en) * | 2005-12-12 | 2007-06-14 | Boyd William T | Creation and management of ATPT in switches of multi-host PCI topologies |
CN101141384A (zh) * | 2006-09-08 | 2008-03-12 | 华为技术有限公司 | 最短路径桥中对称树的生成方法 |
CN102263807A (zh) * | 2010-05-31 | 2011-11-30 | 国际商业机器公司 | 在存储区域网络保持通信路径畅通的方法和存储区域网络 |
US20160335216A1 (en) * | 2013-08-09 | 2016-11-17 | Inphi Corporation | Pcie lane aggregation over a high speed link |
US9003090B1 (en) * | 2014-03-25 | 2015-04-07 | DSSD, Inc. | PCI express fabric routing for a fully-connected mesh topology |
CN107851043A (zh) * | 2015-08-10 | 2018-03-27 | 华为技术有限公司 | 快捷外围部件互连网络中资源组的动态分配 |
CN107170474A (zh) * | 2016-03-07 | 2017-09-15 | 广达电脑股份有限公司 | 可扩展存储盒、计算机实施方法以及计算机可读存储装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3547151A1 (en) | 2019-10-02 |
CN110324264B (zh) | 2022-02-22 |
US10728172B2 (en) | 2020-07-28 |
TWI672028B (zh) | 2019-09-11 |
US20190306083A1 (en) | 2019-10-03 |
JP2019175415A (ja) | 2019-10-10 |
TW201943241A (zh) | 2019-11-01 |
EP3547151B1 (en) | 2021-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110324264A (zh) | 分配系统资源的方法与系统 | |
US7664909B2 (en) | Method and apparatus for a shared I/O serial ATA controller | |
CN106020854B (zh) | 将固件更新应用在具有零停机时间的系统中 | |
CN105335168B (zh) | 实现操作系统远程配置的系统、方法及装置 | |
US20180189109A1 (en) | Management system and management method for computer system | |
US7730205B2 (en) | OS agnostic resource sharing across multiple computing platforms | |
TWI297838B (en) | Method and apparatus for shared i/o in a load/store fabric | |
CN110825670A (zh) | 基于NVMe协议的主机与固态驱动器(SSD)之间的受管理交换 | |
US8332542B2 (en) | Communication with input/output system devices | |
US11182322B2 (en) | Efficient component communication through resource rewiring in disaggregated datacenters | |
US20080065874A1 (en) | System and method for dynamic determination of system topology in a multiple building block server system | |
US20110145452A1 (en) | Methods and apparatus for distribution of raid storage management over a sas domain | |
CN101273338A (zh) | 数据集及数据集“异或”的dma传送 | |
US20200097428A1 (en) | Dynamic component communication using general purpose links between respectively pooled together of like typed devices in disaggregated datacenters | |
CN101983377A (zh) | 为pci设备保留pci存储空间 | |
US10540185B1 (en) | Software deployment in disaggregated computing platforms | |
KR20010050507A (ko) | 자원 할당 방법, 시스템 및 저장 매체 | |
US9547616B2 (en) | High bandwidth symmetrical storage controller | |
US11341032B1 (en) | Testing in a disaster recovery computer system | |
KR101714412B1 (ko) | 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법 및 장치 | |
CN103649923A (zh) | 一种numa系统内存镜像配置方法、解除方法、系统和主节点 | |
CN107315697A (zh) | 用于减少管理端口的计算机可读取存储装置、系统及方法 | |
US20230051825A1 (en) | System supporting virtualization of sr-iov capable devices | |
US7877471B2 (en) | Detecting system reconfiguration and maintaining persistent I/O configuration data in a clustered computer system | |
US10802988B2 (en) | Dynamic memory-based communication in disaggregated datacenters |
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 |