CN113452731B - 资源分配方法、装置、电子设备及计算机可读存储介质 - Google Patents
资源分配方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113452731B CN113452731B CN202010216693.3A CN202010216693A CN113452731B CN 113452731 B CN113452731 B CN 113452731B CN 202010216693 A CN202010216693 A CN 202010216693A CN 113452731 B CN113452731 B CN 113452731B
- Authority
- CN
- China
- Prior art keywords
- gpu
- resources
- resource allocation
- cpu
- cluster
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
Abstract
本发明实施例公开了一种资源分配方法、装置、电子设备及计算机可读存储介质,所述方法包括:响应于接收到携带有资源分配请求信息的资源分配请求,获取所述资源分配请求信息;根据所述资源分配请求信息确定所述资源分配系统中待分配的目标资源,以及不同目标资源之间的连接关系;根据所述不同目标资源之间的连接关系连接所述目标资源,得到可分配资源。该技术方案实现了不同目标资源之间的解耦,从而使得不同目标资源之间的连接和组合变得更为灵活,增强了资源与需求之间的匹配度,避免了资源的浪费,同时还使得异构资源的管理变得更为方便,提高了异构资源的管理效率,有利于提升异构资源的管理质量。
Description
技术领域
本发明实施例涉及资源分配技术领域,具体涉及一种资源分配方法、装置、电子设备及计算机可读存储介质。
背景技术
随着数据技术的发展,云计算技术,尤其是由不同元素的资源构成的异构云计算技术得到了广泛的应用。在目前的异构云计算技术中,不同元素资源的组合形式在设计之初已经进行了定义,形成了固化的异构组成,后续在使用时可直接根据使用的需要进行取用。虽然该种处理方式使用方便,但由于可选的异构组成已经固化,无法根据不同的应用场景选择更合适的异构组成,从而不可避免地会带来资源与需求的不匹配和资源的浪费。另外,若当前可选的异构组成中的某一资源进行了内容、版本或固件的更新,则无法针对更新的资源进行替换,而是需要重新定义一个与更新资源相应的异构组成,这就为异构资源的管理带来不便,从而降低了异构资源的管理效率,不利于提升异构资源的管理质量。
发明内容
本发明实施例提供一种资源分配方法、装置、电子设备及计算机可读存储介质。
第一方面,本发明实施例中提供了一种资源分配方法。
具体的,所述资源分配方法,包括:
响应于接收到携带有资源分配请求信息的资源分配请求,获取所述资源分配请求信息,其中,所述资源分配请求信息为请求对于至少两个资源进行分配的资源分配请求信息,所述资源分配请求信息至少包括请求分配资源标识信息和请求分配资源数量信息;
根据所述资源分配请求信息确定所述资源分配系统中待分配的目标资源,以及不同目标资源之间的连接关系;
根据所述不同目标资源之间的连接关系连接所述目标资源,得到可分配资源。
结合第一方面,本发明实施例在第一方面的第一种实现方式中,所述资源分配请求信息为请求对于CPU资源和GPU资源进行分配的资源分配请求信息。
结合第一方面和第一方面的第一种实现方式,本发明实施例在第一方面的第二种实现方式中,所述根据所述资源分配请求信息确定所述资源分配系统中待分配的目标资源,以及不同目标资源之间的连接关系,被实施为:
确定所述资源分配系统中可分配的CPU资源和GPU资源,其中,所述CPU资源包括一个或多个CPU服务器,所述GPU资源包括一个或多个单位GPU集群,所述CPU服务器和单位GPU集群均设置有相应的连接设备,所述单位GPU集群中包括一组或多组GPU设备,每组GPU设备均通过对应的交换机与所述连接设备连接;
基于所述资源分配系统中可分配的CPU资源和GPU资源,根据所述资源分配请求信息中的请求分配资源标识信息和请求分配资源数量信息确定满足所述资源分配请求要求的CPU服务器和单位GPU集群/GPU设备组数量,以及所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系。
结合第一方面、第一方面的第一种实现方式和第一方面的第二种实现方式,本公开在第一方面的第三种实现方式中,所述根据所述不同目标资源之间的连接关系连接所述目标资源,得到可分配资源,被实施为:
根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到可分配资源。
结合第一方面的第一种实现方式、第一方面的第二种实现方式和第一方面的第三种实现方式,本公开在第一方面的第四种实现方式中,当所述CPU服务器与单位GPU集群处于同一机架中时,所述连接设备为本地电缆数据传输控制连接设备;
所述根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到可分配资源,被实施为:
根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,控制所述CPU服务器和单位GPU集群/GPU设备组对应的本地电缆数据传输控制连接设备的开关,以将所述CPU服务器、单位GPU集群/GPU设备组与机架内电缆连接起来,得到可分配资源。
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式和第一方面的第四种实现方式,本公开在第一方面的第五种实现方式中,当所述CPU服务器与单位GPU集群处于不同机架中时,所述连接设备为异地网络数据传输控制连接设备;
所述根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到可分配资源,被实施为:
根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,控制所述CPU服务器和单位GPU集群/GPU设备组对应的异地网络数据传输控制连接设备的开关,以建立所述CPU服务器与所述单位GPU集群/GPU设备组之间的网络数据传输信道,得到可分配资源。
第二方面,本发明实施例中提供了一种资源分配装置。
具体的,所述资源分配装置,包括:
获取模块,被配置为响应于接收到携带有资源分配请求信息的资源分配请求,获取所述资源分配请求信息,其中,所述资源分配请求信息为请求对于至少两个资源进行分配的资源分配请求信息,所述资源分配请求信息至少包括请求分配资源标识信息和请求分配资源数量信息;
确定模块,被配置为根据所述资源分配请求信息确定所述资源分配系统中待分配的目标资源,以及不同目标资源之间的连接关系;
连接模块,被配置为根据所述不同目标资源之间的连接关系连接所述目标资源,得到可分配资源。
结合第二方面,本发明实施例在第二方面的第一种实现方式中,所述资源分配请求信息为请求对于CPU资源和GPU资源进行分配的资源分配请求信息。
结合第二方面和第二方面的第一种实现方式,本发明实施例在第二方面的第二种实现方式中,所述确定模块被配置为:
确定所述资源分配系统中可分配的CPU资源和GPU资源,其中,所述CPU资源包括一个或多个CPU服务器,所述GPU资源包括一个或多个单位GPU集群,所述CPU服务器和单位GPU集群均设置有相应的连接设备,所述单位GPU集群中包括一组或多组GPU设备,每组GPU设备均通过对应的交换机与所述连接设备连接;
基于所述资源分配系统中可分配的CPU资源和GPU资源,根据所述资源分配请求信息中的请求分配资源标识信息和请求分配资源数量信息确定满足所述资源分配请求要求的CPU服务器和单位GPU集群/GPU设备组数量,以及所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系。
结合第二方面、第二方面的第一种实现方式和第二方面的第二种实现方式,本公开在第二方面的第三种实现方式中,所述连接模块被配置为:
根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到可分配资源。
结合第二方面的第一种实现方式、第二方面的第二种实现方式和第二方面的第三种实现方式,本公开在第二方面的第四种实现方式中,当所述CPU服务器与单位GPU集群处于同一机架中时,所述连接设备为本地电缆数据传输控制连接设备;
所述根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到可分配资源的部分,被配置为:
根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,控制所述CPU服务器和单位GPU集群/GPU设备组对应的本地电缆数据传输控制连接设备的开关,以将所述CPU服务器、单位GPU集群/GPU设备组与机架内电缆连接起来,得到可分配资源。
结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式、第二方面的第三种实现方式和第二方面的第四种实现方式,本公开在第二方面的第五种实现方式中,当所述CPU服务器与单位GPU集群处于不同机架中时,所述连接设备为异地网络数据传输控制连接设备;
所述根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到可分配资源的部分,被配置为:
根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,控制所述CPU服务器和单位GPU集群/GPU设备组对应的异地网络数据传输控制连接设备的开关,以建立所述CPU服务器与所述单位GPU集群/GPU设备组之间的网络数据传输信道,得到可分配资源。
第三方面,本发明实施例中提供了一种资源分配系统。
具体的,所述资源分配系统,包括:
第一处理器资源和第二处理器资源,其中:
所述第一处理器资源包括一个或多个同类处理器的服务器;
所述第二处理器资源包括一个或多个单位与所述第一处理器异构的第二处理器集群,所述单位第二处理器集群中包括一组或多组第二处理器,第二处理器组中包括一个或多个第二处理器;
所述第一处理器的服务器和单位第二处理器集群均设置有相应的连接设备,每组第二处理器均通过对应的交换机与所述连接设备连接。
结合第三方面,本发明实施例在第三方面的第一种实现方式中,当所述第一处理器的服务器与单位第二处理器集群处于同一机架中时,所述连接设备为本地电缆数据传输控制连接设备,所述第一处理器的服务器和单位第二处理器集群还连接有PCIe总线延伸设备。
结合第三方面和第三方面的第一种实现方式,本发明实施例在第三方面的第二种实现方式中,所述资源分配装置还包括有线数据传输介质,用于连接所述第一处理器的服务器与单位第二处理器集群对应的连接设备,以联通所述第一处理器的服务器与单位第二处理器集群。
结合第三方面、第三方面的第一种实现方式和第三方面的第二种实现方式,本公开在第三方面的第三种实现方式中,当所述第一处理器的服务器与单位第二处理器集群处于不同机架中时,所述连接设备为异地网络数据传输控制连接设备,所述第一处理器的服务器和单位第二处理器集群还连接有PCIe总线网络延伸设备。
结合第三方面、第三方面的第一种实现方式、第三方面的第二种实现方式和第三方面的第三种实现方式,本公开在第三方面的第四种实现方式中,所述第一处理器为CPU,所述第二处理器为GPU。
第四方面,本发明实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条支持资源分配装置执行上述资源分配方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。所述资源分配装置还可以包括通信接口,用于资源分配装置与其他设备或通信网络通信。
第五方面,本发明实施例提供了一种计算机可读存储介质,用于存储资源分配装置所用的计算机指令,其包含用于执行上述资源分配方法为资源分配装置所涉及的计算机指令。
本发明实施例提供的技术方案可包括以下有益效果:
上述技术方案根据接收到的资源分配请求确定资源分配系统中的目标资源,以及不同目标资源之间的连接关系,进而根据所述连接关系连接所述目标资源,得到可分配资源。该技术方案实现了不同目标资源之间的解耦,从而使得不同目标资源之间的连接和组合变得更为灵活,增强了资源与需求之间的匹配度,避免了资源的浪费,同时还使得异构资源的管理变得更为方便,提高了异构资源的管理效率,有利于提升异构资源的管理质量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明实施例。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本发明实施例的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本发明一实施方式的资源分配方法的流程图;
图2示出根据本发明一实施方式的资源分配系统的结构示意图;
图3示出根据本发明一实施方式的资源分配装置的结构框图;
图4-图6示出根据本发明不同实施方式的资源分配系统的结构示意图;
图7是适于用来实现根据本发明一实施方式的资源分配方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本发明实施例的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本发明实施例中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明实施例。
本发明实施例提供的技术方案根据接收到的资源分配请求确定资源分配系统中的目标资源,以及不同目标资源之间的连接关系,进而根据所述连接关系连接所述目标资源,得到可分配资源。该技术方案实现了不同目标资源之间的解耦,从而使得不同目标资源之间的连接和组合变得更为灵活,增强了资源与需求之间的匹配度,避免了资源的浪费,同时还使得异构资源的管理变得更为方便,提高了异构资源的管理效率,有利于提升异构资源的管理质量。
图1示出根据本发明一实施方式的资源分配方法的流程图,适用于资源分配系统,如图1所示,所述资源分配方法包括以下步骤S101-S103:
在步骤S101中,响应于接收到携带有资源分配请求信息的资源分配请求,获取所述资源分配请求信息,其中,所述资源分配请求信息为请求对于至少两个资源进行分配的资源分配请求信息,所述资源分配请求信息至少包括请求分配资源标识信息和请求分配资源数量信息;
在步骤S102中,根据所述资源分配请求信息确定所述资源分配系统中待分配的目标资源,以及不同目标资源之间的连接关系;
在步骤S103中,根据所述不同目标资源之间的连接关系连接所述目标资源,得到可分配资源。
上文提及,随着数据技术的发展,云计算技术,尤其是由不同元素的资源构成的异构云计算技术得到了广泛的应用。在目前的异构云计算技术中,不同元素资源的组合形式在设计之初已经进行了定义,形成了固化的异构组成,后续在使用时可直接根据使用的需要进行取用。虽然该种处理方式使用方便,但由于可选的异构组成已经固化,无法根据不同的应用场景选择更合适的异构组成,从而不可避免地会带来资源与需求的不匹配和资源的浪费。另外,若当前可选的异构组成中的某一资源进行了内容、版本或固件的更新,则无法针对更新的资源进行替换,而是需要重新定义一个与更新资源相应的异构组成,这就为异构资源的管理带来不便,从而降低了异构资源的管理效率,不利于提升异构资源的管理质量。
考虑到上述问题,在该实施方式中,提出一种资源分配方法,该方法根据接收到的资源分配请求确定资源分配系统中的目标资源,以及不同目标资源之间的连接关系,进而根据所述连接关系连接所述目标资源,得到可分配资源。该技术方案实现了不同目标资源之间的解耦,从而使得不同目标资源之间的连接和组合变得更为灵活,增强了资源与需求之间的匹配度,避免了资源的浪费,同时还使得异构资源的管理变得更为方便,提高了异构资源的管理效率,有利于提升异构资源的管理质量。
在本发明一实施方式中,所述资源分配请求是由资源分配请求方发出的,所述资源分配请求方既可以为用户,还可以为某一应用,再或者也可以为其他能够发出资源分配请求的主体,比如某一客户端等等,本发明对其不作具体限定。
在本发明一实施方式中,所述资源分配请求信息指的是用于请求对于所述资源分配系统中所包含的至少两个资源进行分配的请求信息,其中,所述资源分配请求信息至少包括请求分配资源标识信息和请求分配资源数量信息,所述请求分配资源标识信息指的是用于对于所要请求分配的资源进行区别性标识的信息,比如可以为CPU、GPU等所要请求分配的资源名称,也可以为所要请求分配的资源的ID等等;所述请求分配资源数量信息指的是所要请求分配的资源的数量,其与所述资源分配请求方的需求以及可分配资源能够提供的能力有关。
在本发明一实施方式中,所述资源分配系统指的是包括不同元素资源、不同类型资源等异构资源,并且能够实现异构资源的组合与分配的系统,比如,所述资源分配系统中可以包括CPU资源和GPU资源两种异构资源,此时,所述资源分配请求信息即为请求对于CPU资源和GPU资源进行分配的资源分配请求信息。为了方便解释和说明,接下来以所述资源分配系统中包括CPU资源和GPU资源两种异构资源,所述资源分配请求信息为请求对于CPU资源和GPU资源进行分配的资源分配请求信息为例对于本公开进行详细描述。
在本发明一实施方式中,所述CPU资源进一步包括一个或多个CPU服务器,其中,与现有技术不同,所述CPU服务器为不包含、不携带GPU设备的CPU服务器。所述GPU资源进一步包括一个或多个单位GPU集群,其中,所述单位GPU集群指的是能够提供GPU资源的、包括一组或多组GPU设备的、最小单位的GPU设备集合,即所述单位GPU集群中包括一组或多组GPU设备,而每组GPU设备中又包括一个或多个GPU设备。其中,为了方便CPU资源和GPU资源的连接和组合,所述CPU服务器和单位GPU集群均设置有相应的连接设备,在所述单位GPU集群中,还设置有与GPU设备组数量相应的交换机,每个GPU设备组均通过对应的交换机与所述连接设备连接。也就是说,CPU服务器依次通过与其对应的连接设备、与单位GPU集群对应的连接设备、与GPU设备组对应的交换机,最终与GPU设备组实现连接。
在本发明一实施方式中,所述CPU资源与GPU资源可能处于同一机架中,也有可能存在于不同的机架中,其中,所述机架指的是可用于存放各种服务器、资源的机柜。若所述CPU资源与GPU资源处于同一机架中,则所述CPU资源与GPU资源可近距离连接进行数据传输,若所述CPU资源与GPU资源处于不同的机架中,则所述CPU资源与GPU资源需无线连接进行远距离数据传输。
在本发明一实施方式中,所述CPU服务器和单位GPU集群均设置有PCIe(peripheral component interconnect express,高速串行计算机扩展总线标准)接口。当所述CPU资源或单位GPU集群与其他需要连接的资源处于同一机架中时,所述CPU服务器或单位GPU集群中设置的连接设备可以为本地电缆数据传输控制连接设备,比如插在PCIe接口插槽中的PCIe总线扩展卡等,通过所述PCIe总线扩展卡即可实现PCIe总线的扩展,借助PCIe电缆进而可以实现所述CPU服务器或单位GPU集群与其他服务器或其他资源之间的连接。当所述CPU资源或单位GPU集群与其他需要连接的资源处于不同的机架中时,由于所述CPU资源或单位GPU集群与其他需要连接的资源之间的距离较远,无法借助有线连接实现信号的传输,因此此时所述CPU服务器或单位GPU集群中设置的连接设备可以为异地网络数据传输控制连接设备,比如插在PCIe接口插槽中的PCIe总线转网络扩展卡,比如PCIe总线转100G网络扩展卡、PCIe总线转200G网络扩展卡等,用于扩展PCIe协议,将待传输数据借助所述PCIe总线转网络扩展卡转换至外部数据网络中进行传输,其中,所述外部数据网络可以为100G带宽网络、200G带宽网络或者更高速网络,另外,所述外部数据网络传输所使用的物理链路层数据包还可根据实际应用的需要进行设置或选择。
在本发明一实施方式中,所述CPU服务器或单位GPU集群中设置的连接设备可实现为基于FPGA实现的控制设备,以PCIe卡的形式插在PCIe接口插槽中。通过改变所述控制设备的控制指令来控制其开关,可以实现所述CPU服务器或单位GPU集群与外界数据的联通,当然也可以通过改变所述控制设备的控制指令来实现所述单位GPU集群中GPU设备工作组的选择,即选择需要建立哪些GPU设备组与外界之间的数据连接。比如,若某一资源分配系统中包括一个CPU服务器和两个单位GPU集群,每个单位GPU集群中各包括两个GPU设备组,每个GPU设备组中各包括4个GPU设备,那么通过对于所述控制设备的控制,比如通过打开所述CPU服务器及单位GPU集群对应的控制设备,实现所述CPU服务器与单位GPU集群内对应交换机的连接,进而可实现1CPU+0GPU、1CPU+4GPU、1CPU+8GPU、1CPU+12GPU、1CPU+16GPU等多种配比要求。显然,单位GPU集群设置地越多、单位GPU集群内GPU设备组设置地越多,CPU资源与GPU资源之间的配比就越丰富,所能够适用的场景也就越丰富。
当所述CPU资源或单位GPU集群与其他需要连接的资源处于同一机架中时,所述CPU服务器和单位GPU集群还连接有PCIe总线延伸设备,其中,所述单位GPU集群连接的PCIe总线延伸设备的数量与所述单位GPU集群中GPU设备组的数量相应,所述控制设备根据接收到的控制指令控制其开关,以实现所述CPU服务器或单位GPU集群、所述CPU服务器或GPU设备组与PCIe总线延伸设备的联通。
当所述CPU资源或单位GPU集群与其他需要连接的资源处于不同机架中时,所述CPU服务器和单位GPU集群还连接有PCIe总线网络延伸设备,其中,所述单位GPU集群连接的PCIe总线网络延伸设备的数量与所述单位GPU集群中GPU设备组的数量相应,所述控制设备根据接收到的控制指令控制其开关,以实现所述CPU服务器或单位GPU集群、所述CPU服务器或GPU设备组与PCIe总线网络延伸设备的联通,进而控制所述CPU服务器或单位GPU集群与外部数据网络之间网络数据传输信道的建立,使得来自数据源端的符合PCIe协议的数据转换成网络分包,通过外部数据网络传输至数据宿端,并转换回符合PCIe协议的数据。
在接收到所述资源分配请求信息之后,就可以根据所述资源分配请求信息中包含的请求分配资源标识信息和请求分配资源数量信息来确定所述资源分配系统中与所述资源分配请求信息对应的、能够满足所述资源分配请求信息要求的目标资源,以及不同目标资源之间的连接关系。然后根据所述不同目标资源之间的连接关系对于所述目标资源进行连接,即可得到可分配给所述资源分配请求方的、能够满足所述资源分配请求信息要求的资源组合。
比如,以包括CPU资源和GPU资源两种异构资源的资源分配系统为例,如图2所示,若所述资源分配系统中包括CPU资源和GPU资源,其中,所述CPU资源包括两个CPU服务器:CPU服务器1和CPU服务器2,CPU服务器1和CPU服务器2分别设置有CPU连接设备1和CPU连接设备2,所述GPU资源包括两个单位GPU集群:单位GPU集群1和单位GPU集群2,单位GPU集群1和单位GPU集群2分别设置有GPU连接设备1和GPU连接设备2,单位GPU集群1中包括两组GPU设备:GPU设备组11和GPU设备组12,以及分别与GPU设备组11和GPU连接设备1连接的交换机11、分别与GPU设备组12和GPU连接设备1连接的交换机12,单位GPU集群2中包括两组GPU设备:GPU设备组21和GPU设备组22,以及分别与GPU设备组21和GPU连接设备2连接的交换机21、分别与GPU设备组22和GPU连接设备2连接的交换机22,每个GPU设备组中分别包括四个GPU设备,比如,GPU设备组11中包括GPU设备111、GPU设备112、GPU设备113和GPU设备114四个GPU设备,GPU设备组12中包括GPU设备121、GPU设备122、GPU设备123和GPU设备124四个GPU设备,GPU设备组21中包括GPU设备211、GPU设备212、GPU设备213和GPU设备214四个GPU设备,GPU设备组22中包括GPU设备221、GPU设备222、GPU设备223和GPU设备224四个GPU设备。若接收到的资源分配请求所携带的资源分配请求信息为CPU1个、GPU4个,则可选择所述资源分配系统中的CPU服务器1与GPU设备组12,并将所述CPU服务器1与GPU设备组12借助CPU连接设备1、GPU连接设备1、交换机12连接起来,得到满足所述资源分配请求要求的资源组合。
这样就实现了不同资源之间的解耦,使得不同资源之间的连接和组合变得更为灵活,从而增强了资源与需求之间的匹配度,避免了资源的浪费,同时当CPU服务器、单位GPU集群、GPU设备组或GPU设备需要进行更新时,只需要控制相应连接设备和/或交换机的连接与否即可实现,这就使得异构资源的管理变得更为方便,从而提高了异构资源的管理效率,有利于提升异构资源的管理质量。
在本发明一实施方式中,所述步骤S102,即根据所述资源分配请求信息确定所述资源分配系统中待分配的目标资源,以及不同目标资源之间的连接关系的步骤,可被实施为:
确定所述资源分配系统中可分配的CPU资源和GPU资源,其中,所述CPU资源包括一个或多个CPU服务器,所述GPU资源包括一个或多个单位GPU集群,所述CPU服务器和单位GPU集群均设置有相应的连接设备,所述单位GPU集群中包括一组或多组GPU设备,每组GPU设备均通过对应的交换机与所述连接设备连接;
基于所述资源分配系统中可分配的CPU资源和GPU资源,根据所述资源分配请求信息中的请求分配资源标识信息和请求分配资源数量信息确定满足所述资源分配请求要求的CPU服务器和单位GPU集群/GPU设备组数量,以及所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系。
考虑到所述资源分配系统中的某些CPU资源和GPU资源有可能已经分配给其他资源分配请求方,处于忙碌不可用的状态,因此在该实施方式中,首先需要确定所述资源分配系统中哪些CPU资源和GPU资源属于空闲可用,即可分配的资源;然后基于所述确定的可分配的资源,根据所述资源分配请求信息中的请求分配资源标识信息和请求分配资源数量信息确定满足所述资源分配请求要求的CPU服务器和单位GPU集群数量,并相应确定所述CPU服务器与单位GPU集群之间的连接关系。
以图2所示资源分配系统为例,若所述资源分配系统中所有资源均可用,接收到的资源分配请求信息为CPU1个、GPU4个,则可随机选择所述资源分配系统中的CPU服务器1与单位GPU集群1中的GPU设备组12作为分配给资源分配请求方的资源,而对应的连接关系即为CPU服务器1与单位GPU集群1中的GPU设备组12连接;若接收到的资源分配请求信息为CPU1个、GPU8个,则可随机选择所述资源分配系统中的CPU服务器1与单位GPU集群1中的GPU设备组11和GPU设备组12作为分配给资源分配请求方的资源,而对应的连接关系即为CPU服务器1与单位GPU集群1中的GPU设备组11和GPU设备组12连接。
在本发明一实施方式中,所述步骤S103,即根据所述不同目标资源之间的连接关系连接所述目标资源,得到可分配资源的步骤,可被实施为:
根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到可分配资源。
上文提及,所述CPU资源包括一个或多个CPU服务器,所述GPU资源包括一个或多个单位GPU集群,所述CPU服务器和单位GPU集群均设置有相应的连接设备,所述单位GPU集群中的GPU设备组均通过对应的交换机与所述连接设备连接,因此,在该实施方式中,在确定了所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系之后,就可以借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到满足所述资源分配请求要求的可分配资源。
需要注意的是,如上文所述,所述CPU资源与GPU资源可能处于同一机架中,也有可能存在于不同的机架中,而对于位置不同的所述CPU资源与GPU资源,其相互之间的连接方案也存在不同。
即在本发明一实施方式中,当所述CPU服务器与单位GPU集群处于同一机架中时,所述连接设备为本地电缆数据传输控制连接设备,比如PCIe总线扩展卡等等,此时,所述根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到可分配资源的步骤,可被实施为:
根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,控制所述CPU服务器和单位GPU集群/GPU设备组对应的本地电缆数据传输控制连接设备的开关,以将所述CPU服务器、单位GPU集群/GPU设备组与机架内电缆连接起来,得到可分配资源。
在本发明另一实施方式中,当所述CPU服务器与单位GPU集群处于不同机架中时,所述连接设备为异地网络数据传输控制连接设备,比如PCIe总线转网络扩展卡等等,此时,所述根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到可分配资源的步骤,可被实施为:
根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,控制所述CPU服务器和单位GPU集群/GPU设备组对应的异地网络数据传输控制连接设备的开关,以建立所述CPU服务器与所述单位GPU集群/GPU设备组之间的网络数据传输信道,即借助网络数据传输实现CPU服务器与单位GPU集群/GPU设备组之间的数据传输,得到可分配资源。
下述为本发明装置实施例,可以用于执行本发明方法实施例。
图3示出根据本发明一实施方式的资源分配装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部,可实现为资源分配系统。如图3所示,所述资源分配装置包括:
获取模块301,被配置为响应于接收到携带有资源分配请求信息的资源分配请求,获取所述资源分配请求信息,其中,所述资源分配请求信息为请求对于至少两个资源进行分配的资源分配请求信息,所述资源分配请求信息至少包括请求分配资源标识信息和请求分配资源数量信息;
确定模块302,被配置为根据所述资源分配请求信息确定所述资源分配系统中待分配的目标资源,以及不同目标资源之间的连接关系;
连接模块303,被配置为根据所述不同目标资源之间的连接关系连接所述目标资源,得到可分配资源。
上文提及,随着数据技术的发展,云计算技术,尤其是由不同元素的资源构成的异构云计算技术得到了广泛的应用。在目前的异构云计算技术中,不同元素资源的组合形式在设计之初已经进行了定义,形成了固化的异构组成,后续在使用时可直接根据使用的需要进行取用。虽然该种处理方式使用方便,但由于可选的异构组成已经固化,无法根据不同的应用场景选择更合适的异构组成,从而不可避免地会带来资源与需求的不匹配和资源的浪费。另外,若当前可选的异构组成中的某一资源进行了内容、版本或固件的更新,则无法针对更新的资源进行替换,而是需要重新定义一个与更新资源相应的异构组成,这就为异构资源的管理带来不便,从而降低了异构资源的管理效率,不利于提升异构资源的管理质量。
考虑到上述问题,在该实施方式中,提出一种资源分配装置,该装置根据接收到的资源分配请求确定资源分配系统中的目标资源,以及不同目标资源之间的连接关系,进而根据所述连接关系连接所述目标资源,得到可分配资源。该技术方案实现了不同目标资源之间的解耦,从而使得不同目标资源之间的连接和组合变得更为灵活,增强了资源与需求之间的匹配度,避免了资源的浪费,同时还使得异构资源的管理变得更为方便,提高了异构资源的管理效率,有利于提升异构资源的管理质量。
在本发明一实施方式中,所述资源分配请求是由资源分配请求方发出的,所述资源分配请求方既可以为用户,还可以为某一应用,再或者也可以为其他能够发出资源分配请求的主体,比如某一客户端等等,本发明对其不作具体限定。
在本发明一实施方式中,所述资源分配请求信息指的是用于请求对于所述资源分配系统中所包含的至少两个资源进行分配的请求信息,其中,所述资源分配请求信息至少包括请求分配资源标识信息和请求分配资源数量信息,所述请求分配资源标识信息指的是用于对于所要请求分配的资源进行区别性标识的信息,比如可以为CPU、GPU等所要请求分配的资源名称,也可以为所要请求分配的资源的ID等等;所述请求分配资源数量信息指的是所要请求分配的资源的数量,其与所述资源分配请求方的需求以及可分配资源能够提供的能力有关。
在本发明一实施方式中,所述资源分配系统指的是包括不同元素资源、不同类型资源等异构资源,并且能够实现异构资源的组合与分配的系统,比如,所述资源分配系统中可以包括CPU资源和GPU资源两种异构资源,此时,所述资源分配请求信息即为请求对于CPU资源和GPU资源进行分配的资源分配请求信息。为了方便解释和说明,接下来以所述资源分配系统中包括CPU资源和GPU资源两种异构资源,所述资源分配请求信息为请求对于CPU资源和GPU资源进行分配的资源分配请求信息为例对于本公开进行详细描述。
在本发明一实施方式中,所述CPU资源进一步包括一个或多个CPU服务器,其中,与现有技术不同,所述CPU服务器为不包含、不携带GPU设备的CPU服务器。所述GPU资源进一步包括一个或多个单位GPU集群,其中,所述单位GPU集群指的是能够提供GPU资源的、包括一组或多组GPU设备的、最小单位的GPU设备集合,即所述单位GPU集群中包括一组或多组GPU设备,而每组GPU设备中又包括一个或多个GPU设备。其中,为了方便CPU资源和GPU资源的连接和组合,所述CPU服务器和单位GPU集群均设置有相应的连接设备,在所述单位GPU集群中,还设置有与GPU设备组数量相应的交换机,每个GPU设备组均通过对应的交换机与所述连接设备连接。也就是说,CPU服务器依次通过与其对应的连接设备、与单位GPU集群对应的连接设备、与GPU设备组对应的交换机,最终与GPU设备组实现连接。
在本发明一实施方式中,所述CPU资源与GPU资源可能处于同一机架中,也有可能存在于不同的机架中,其中,所述机架指的是可用于存放各种服务器、资源的机柜。若所述CPU资源与GPU资源处于同一机架中,则所述CPU资源与GPU资源可近距离连接进行数据传输,若所述CPU资源与GPU资源处于不同的机架中,则所述CPU资源与GPU资源需无线连接进行远距离数据传输。
在本发明一实施方式中,所述CPU服务器和单位GPU集群均设置有PCIe(peripheral component interconnect express,高速串行计算机扩展总线标准)接口。当所述CPU资源或单位GPU集群与其他需要连接的资源处于同一机架中时,所述CPU服务器或单位GPU集群中设置的连接设备可以为本地电缆数据传输控制连接设备,比如插在PCIe接口插槽中的PCIe总线扩展卡等,通过所述PCIe总线扩展卡即可实现PCIe总线的扩展,借助PCIe电缆进而可以实现所述CPU服务器或单位GPU集群与其他服务器或其他资源之间的连接。当所述CPU资源或单位GPU集群与其他需要连接的资源处于不同的机架中时,由于所述CPU资源或单位GPU集群与其他需要连接的资源之间的距离较远,无法借助有线连接实现信号的传输,因此此时所述CPU服务器或单位GPU集群中设置的连接设备可以为异地网络数据传输控制连接设备,比如插在PCIe接口插槽中的PCIe总线转网络扩展卡,比如PCIe总线转100G网络扩展卡、PCIe总线转200G网络扩展卡等,用于扩展PCIe协议,将待传输数据借助所述PCIe总线转网络扩展卡转换至外部数据网络中进行传输,其中,所述外部数据网络可以为100G带宽网络、200G带宽网络或者更高速网络,另外,所述外部数据网络传输所使用的物理链路层数据包还可根据实际应用的需要进行设置或选择。
在本发明一实施方式中,所述CPU服务器或单位GPU集群中设置的连接设备可实现为基于FPGA实现的控制设备,以PCIe卡的形式插在PCIe接口插槽中。通过改变所述控制设备的控制指令来控制其开关,可以实现所述CPU服务器或单位GPU集群与外界数据的联通,当然也可以通过改变所述控制设备的控制指令来实现所述单位GPU集群中GPU设备工作组的选择,即选择需要建立哪些GPU设备组与外界之间的数据连接。比如,若某一资源分配系统中包括一个CPU服务器和两个单位GPU集群,每个单位GPU集群中各包括两个GPU设备组,每个GPU设备组中各包括4个GPU设备,那么通过对于所述控制设备的控制,比如通过打开所述CPU服务器及单位GPU集群对应的控制设备,实现所述CPU服务器与单位GPU集群内对应交换机的连接,进而可实现1CPU+0GPU、1CPU+4GPU、1CPU+8GPU、1CPU+12GPU、1CPU+16GPU等多种配比要求。显然,单位GPU集群设置地越多、单位GPU集群内GPU设备组设置地越多,CPU资源与GPU资源之间的配比就越丰富,所能够适用的场景也就越丰富。
当所述CPU资源或单位GPU集群与其他需要连接的资源处于同一机架中时,所述CPU服务器和单位GPU集群还连接有PCIe总线延伸设备,其中,所述单位GPU集群连接的PCIe总线延伸设备的数量与所述单位GPU集群中GPU设备组的数量相应,所述控制设备根据接收到的控制指令控制其开关,以实现所述CPU服务器或单位GPU集群、所述CPU服务器或GPU设备组与PCIe总线延伸设备的联通。
当所述CPU资源或单位GPU集群与其他需要连接的资源处于不同机架中时,所述CPU服务器和单位GPU集群还连接有PCIe总线网络延伸设备,其中,所述单位GPU集群连接的PCIe总线网络延伸设备的数量与所述单位GPU集群中GPU设备组的数量相应,所述控制设备根据接收到的控制指令控制其开关,以实现所述CPU服务器或单位GPU集群、所述CPU服务器或GPU设备组与PCIe总线网络延伸设备的联通,进而控制所述CPU服务器或单位GPU集群与外部数据网络之间网络数据传输信道的建立,使得来自数据源端的符合PCIe协议的数据转换成网络分包,通过外部数据网络传输至数据宿端,并转换回符合PCIe协议的数据。
在接收到所述资源分配请求信息之后,就可以根据所述资源分配请求信息中包含的请求分配资源标识信息和请求分配资源数量信息来确定所述资源分配系统中与所述资源分配请求信息对应的、能够满足所述资源分配请求信息要求的目标资源,以及不同目标资源之间的连接关系。然后根据所述不同目标资源之间的连接关系对于所述目标资源进行连接,即可得到可分配给所述资源分配请求方的、能够满足所述资源分配请求信息要求的资源组合。
比如,以包括CPU资源和GPU资源两种异构资源的资源分配系统为例,如图2所示,若所述资源分配系统中包括CPU资源和GPU资源,其中,所述CPU资源包括两个CPU服务器:CPU服务器1和CPU服务器2,CPU服务器1和CPU服务器2分别设置有CPU连接设备1和CPU连接设备2,所述GPU资源包括两个单位GPU集群:单位GPU集群1和单位GPU集群2,单位GPU集群1和单位GPU集群2分别设置有GPU连接设备1和GPU连接设备2,单位GPU集群1中包括两组GPU设备:GPU设备组11和GPU设备组12,以及分别与GPU设备组11和GPU连接设备1连接的交换机11、分别与GPU设备组12和GPU连接设备1连接的交换机12,单位GPU集群2中包括两组GPU设备:GPU设备组21和GPU设备组22,以及分别与GPU设备组21和GPU连接设备2连接的交换机21、分别与GPU设备组22和GPU连接设备2连接的交换机22,每个GPU设备组中分别包括四个GPU设备,比如,GPU设备组11中包括GPU设备111、GPU设备112、GPU设备113和GPU设备114四个GPU设备,GPU设备组12中包括GPU设备121、GPU设备122、GPU设备123和GPU设备124四个GPU设备,GPU设备组21中包括GPU设备211、GPU设备212、GPU设备213和GPU设备214四个GPU设备,GPU设备组22中包括GPU设备221、GPU设备222、GPU设备223和GPU设备224四个GPU设备。若接收到的资源分配请求所携带的资源分配请求信息为CPU1个、GPU4个,则可选择所述资源分配系统中的CPU服务器1与GPU设备组12,并将所述CPU服务器1与GPU设备组12借助CPU连接设备1、GPU连接设备1、交换机12连接起来,得到满足所述资源分配请求要求的资源组合。
这样就实现了不同资源之间的解耦,使得不同资源之间的连接和组合变得更为灵活,从而增强了资源与需求之间的匹配度,避免了资源的浪费,同时当CPU服务器、单位GPU集群、GPU设备组或GPU设备需要进行更新时,只需要控制相应连接设备和/或交换机的连接与否即可实现,这就使得异构资源的管理变得更为方便,从而提高了异构资源的管理效率,有利于提升异构资源的管理质量。
在本发明一实施方式中,所述确定模块302可被配置为:
确定所述资源分配系统中可分配的CPU资源和GPU资源,其中,所述CPU资源包括一个或多个CPU服务器,所述GPU资源包括一个或多个单位GPU集群,所述CPU服务器和单位GPU集群均设置有相应的连接设备,所述单位GPU集群中包括一组或多组GPU设备,每组GPU设备均通过对应的交换机与所述连接设备连接;
基于所述资源分配系统中可分配的CPU资源和GPU资源,根据所述资源分配请求信息中的请求分配资源标识信息和请求分配资源数量信息确定满足所述资源分配请求要求的CPU服务器和单位GPU集群/GPU设备组数量,以及所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系。
考虑到所述资源分配系统中的某些CPU资源和GPU资源有可能已经分配给其他资源分配请求方,处于忙碌不可用的状态,因此在该实施方式中,首先需要确定所述资源分配系统中哪些CPU资源和GPU资源属于空闲可用,即可分配的资源;然后基于所述确定的可分配的资源,根据所述资源分配请求信息中的请求分配资源标识信息和请求分配资源数量信息确定满足所述资源分配请求要求的CPU服务器和单位GPU集群数量,并相应确定所述CPU服务器与单位GPU集群之间的连接关系。
以图2所示资源分配系统为例,若所述资源分配系统中所有资源均可用,接收到的资源分配请求信息为CPU1个、GPU4个,则可随机选择所述资源分配系统中的CPU服务器1与单位GPU集群1中的GPU设备组12作为分配给资源分配请求方的资源,而对应的连接关系即为CPU服务器1与单位GPU集群1中的GPU设备组12连接;若接收到的资源分配请求信息为CPU1个、GPU8个,则可随机选择所述资源分配系统中的CPU服务器1与单位GPU集群1中的GPU设备组11和GPU设备组12作为分配给资源分配请求方的资源,而对应的连接关系即为CPU服务器1与单位GPU集群1中的GPU设备组11和GPU设备组12连接。
在本发明一实施方式中,所述连接模块303可被配置为:
根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到可分配资源。
上文提及,所述CPU资源包括一个或多个CPU服务器,所述GPU资源包括一个或多个单位GPU集群,所述CPU服务器和单位GPU集群均设置有相应的连接设备,所述单位GPU集群中的GPU设备组均通过对应的交换机与所述连接设备连接,因此,在该实施方式中,在确定了所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系之后,就可以借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到满足所述资源分配请求要求的可分配资源。
需要注意的是,如上文所述,所述CPU资源与GPU资源可能处于同一机架中,也有可能存在于不同的机架中,而对于位置不同的所述CPU资源与GPU资源,其相互之间的连接方案也存在不同。
即在本发明一实施方式中,当所述CPU服务器与单位GPU集群处于同一机架中时,所述连接设备为本地电缆数据传输控制连接设备,比如PCIe总线扩展卡等等,此时,所述根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到可分配资源的部分,可被配置为:
根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,控制所述CPU服务器和单位GPU集群/GPU设备组对应的本地电缆数据传输控制连接设备的开关,以将所述CPU服务器、单位GPU集群/GPU设备组与机架内电缆连接起来,得到可分配资源。
在本发明另一实施方式中,当所述CPU服务器与单位GPU集群处于不同机架中时,所述连接设备为异地网络数据传输控制连接设备,比如PCIe总线转网络扩展卡等等,此时,所述根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到可分配资源的部分,可被配置为:
根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,控制所述CPU服务器和单位GPU集群/GPU设备组对应的异地网络数据传输控制连接设备的开关,以建立所述CPU服务器与所述单位GPU集群/GPU设备组之间的网络数据传输信道,即借助网络数据传输实现CPU服务器与单位GPU集群/GPU设备组之间的数据传输,得到可分配资源。
图4示出根据本发明一实施方式的资源分配系统的结构示意图,如图4所示,所述资源分配系统包括:第一处理器资源410和第二处理器资源420,其中:
所述第一处理器资源410包括一个或多个同类处理器的服务器411;
所述第二处理器资源420包括一个或多个单位与所述第一处理器异构的第二处理器集群421,所述单位第二处理器集群421中包括一组或多组第二处理器422,第二处理器组422中包括一个或多个第二处理器423;
所述第一处理器的服务器411和单位第二处理器集群421均设置有相应的连接设备430,每组第二处理器均通过对应的交换机424与所述连接设备430连接。
基于上述结构的资源分配装置能够实现不同资源之间的解耦,使得不同资源之间的连接和组合变得更为灵活,从而增强了资源与需求之间的匹配度,避免了资源的浪费,同时当第一处理器的服务器、单位第二处理器集群、第二处理器组或第二处理器需要进行更新时,只需要控制相应连接设备和/或交换机的连接与否即可实现,这就使得异构资源的管理变得更为方便,从而提高了异构资源的管理效率,有利于提升异构资源的管理质量。
如图5所示,在本发明一实施方式中,当所述第一处理器的服务器与单位第二处理器集群处于同一机架中时,所述连接设备为本地电缆数据传输控制连接设备,比如插在PCIe接口插槽中的PCIe总线扩展卡等,通过所述PCIe总线扩展卡即可实现PCIe总线的扩展。在该实施方式中,所述资源分配装置还包括有线数据传输介质440,比如PCIe电缆等,用于连接所述第一处理器的服务器与单位第二处理器集群对应的连接设备,以联通所述第一处理器的服务器与单位第二处理器集群。
如图6所示,在本发明另一实施方式中,当所述第一处理器的服务器与单位第二处理器集群处于不同机架中时,所述连接设备为异地网络数据传输控制连接设备,比如插在PCIe接口插槽中的PCIe总线转网络扩展卡,比如PCIe总线转100G网络扩展卡、PCIe总线转200G网络扩展卡等,用于扩展PCIe协议,将待传输数据借助所述PCIe总线转网络扩展卡转换至外部数据网络中进行传输。
在本发明一实施方式中,所述第一处理器为CPU,所述第二处理器为GPU。
图4-图6所示实施方式中的部分技术特征与上文图1-图3所示实施方式中的部分技术特征相同或相似,对于该技术特征的具体解释和说明可参考上文对于图1-图3所示实施方式的描述,本发明在此对其不作赘述。
图7是适于用来实现根据本发明一实施方式的资源分配方法的计算机系统的结构示意图。
如图7所示,计算机系统700包括处理单元701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行上述实施方式中的各种处理。在RAM703中,还存储有系统700操作所需的各种程序和数据。处理单元701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。其中,所述处理单元701可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。
特别地,根据本发明的实施方式,上文描述的方法可以被实现为计算机软件程序。例如,本发明的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行所述资源分配方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
附图中的流程图和框图,图示了按照本发明各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本发明实施例的方法。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种资源分配方法,适用于资源分配系统,包括:
响应于接收到携带有资源分配请求信息的资源分配请求,获取所述资源分配请求信息,其中,所述资源分配请求信息为请求对于至少两个资源进行分配的资源分配请求信息,所述资源分配请求信息至少包括请求分配资源标识信息和请求分配资源数量信息;
根据所述资源分配请求信息确定所述资源分配系统中待分配的目标资源,以及不同目标资源之间的连接关系;
根据所述不同目标资源之间的连接关系连接所述目标资源,得到可分配资源,
其中,所述资源分配请求信息为请求对于CPU资源和GPU资源进行分配的资源分配请求信息,
其中,所述根据所述资源分配请求信息确定所述资源分配系统中待分配的目标资源,以及不同目标资源之间的连接关系,被实施为:
确定所述资源分配系统中可分配的CPU资源和GPU资源,其中,所述CPU资源包括一个或多个CPU服务器,所述GPU资源包括一个或多个单位GPU集群,所述CPU服务器和单位GPU集群均设置有相应的连接设备,所述单位GPU集群中包括一组或多组GPU设备,每组GPU设备均通过对应的交换机与所述连接设备连接;
基于所述资源分配系统中可分配的CPU资源和GPU资源,根据所述资源分配请求信息中的请求分配资源标识信息和请求分配资源数量信息确定满足所述资源分配请求要求的CPU服务器和单位GPU集群/GPU设备组数量,以及所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系。
2.根据权利要求1所述的方法,所述根据所述不同目标资源之间的连接关系连接所述目标资源,得到可分配资源,被实施为:
根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到可分配资源。
3.根据权利要求2所述的方法,当所述CPU服务器与单位GPU集群处于同一机架中时,所述连接设备为本地电缆数据传输控制连接设备;
所述根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到可分配资源,被实施为:
根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,控制所述CPU服务器和单位GPU集群/GPU设备组对应的本地电缆数据传输控制连接设备的开关,以将所述CPU服务器、单位GPU集群/GPU设备组与机架内电缆连接起来,得到可分配资源。
4.根据权利要求2或3所述的方法,当所述CPU服务器与单位GPU集群处于不同机架中时,所述连接设备为异地网络数据传输控制连接设备;
所述根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到可分配资源,被实施为:
根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,控制所述CPU服务器和单位GPU集群/GPU设备组对应的异地网络数据传输控制连接设备的开关,以建立所述CPU服务器与所述单位GPU集群/GPU设备组之间的网络数据传输信道,得到可分配资源。
5.一种资源分配装置,适用于资源分配系统,包括:
获取模块,被配置为响应于接收到携带有资源分配请求信息的资源分配请求,获取所述资源分配请求信息,其中,所述资源分配请求信息为请求对于至少两个资源进行分配的资源分配请求信息,所述资源分配请求信息至少包括请求分配资源标识信息和请求分配资源数量信息;
确定模块,被配置为根据所述资源分配请求信息确定所述资源分配系统中待分配的目标资源,以及不同目标资源之间的连接关系;
连接模块,被配置为根据所述不同目标资源之间的连接关系连接所述目标资源,得到可分配资源,
其中,所述资源分配请求信息为请求对于CPU资源和GPU资源进行分配的资源分配请求信息,
其中,所述确定模块被配置为:
确定所述资源分配系统中可分配的CPU资源和GPU资源,其中,所述CPU资源包括一个或多个CPU服务器,所述GPU资源包括一个或多个单位GPU集群,所述CPU服务器和单位GPU集群均设置有相应的连接设备,所述单位GPU集群中包括一组或多组GPU设备,每组GPU设备均通过对应的交换机与所述连接设备连接;
基于所述资源分配系统中可分配的CPU资源和GPU资源,根据所述资源分配请求信息中的请求分配资源标识信息和请求分配资源数量信息确定满足所述资源分配请求要求的CPU服务器和单位GPU集群/GPU设备组数量,以及所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系。
6.根据权利要求5所述的装置,所述连接模块被配置为:
根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到可分配资源。
7.根据权利要求6所述的装置,当所述CPU服务器与单位GPU集群处于同一机架中时,所述连接设备为本地电缆数据传输控制连接设备;
所述根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到可分配资源的部分,被配置为:
根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,控制所述CPU服务器和单位GPU集群/GPU设备组对应的本地电缆数据传输控制连接设备的开关,以将所述CPU服务器、单位GPU集群/GPU设备组与机架内电缆连接起来,得到可分配资源。
8.根据权利要求6或7所述的装置,当所述CPU服务器与单位GPU集群处于不同机架中时,所述连接设备为异地网络数据传输控制连接设备;
所述根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,借助所述CPU服务器和单位GPU集群对应的连接设备以及GPU设备组对应的交换机将所述CPU服务器与单位GPU集群/GPU设备组连接起来,得到可分配资源的部分,被配置为:
根据所述CPU服务器与单位GPU集群/GPU设备组之间的连接关系,控制所述CPU服务器和单位GPU集群/GPU设备组对应的异地网络数据传输控制连接设备的开关,以建立所述CPU服务器与所述单位GPU集群/GPU设备组之间的网络数据传输信道,得到可分配资源。
9.一种电子设备,包括存储器和处理器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1-4任一项所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现权利要求1-4任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010216693.3A CN113452731B (zh) | 2020-03-25 | 2020-03-25 | 资源分配方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010216693.3A CN113452731B (zh) | 2020-03-25 | 2020-03-25 | 资源分配方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113452731A CN113452731A (zh) | 2021-09-28 |
CN113452731B true CN113452731B (zh) | 2022-04-29 |
Family
ID=77807459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010216693.3A Active CN113452731B (zh) | 2020-03-25 | 2020-03-25 | 资源分配方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113452731B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500413B (zh) * | 2021-12-17 | 2024-04-16 | 阿里巴巴(中国)有限公司 | 设备连接方法及装置、设备连接芯片 |
CN114422419B (zh) * | 2021-12-17 | 2024-05-28 | 阿里巴巴(中国)有限公司 | 网络设备连接方法及装置 |
CN117472596B (zh) * | 2023-12-27 | 2024-03-22 | 苏州元脑智能科技有限公司 | 分布式资源管理方法、装置、系统、设备以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107343045A (zh) * | 2017-07-04 | 2017-11-10 | 北京百度网讯科技有限公司 | 云计算系统及用于控制服务器的云计算方法和装置 |
CN109240832A (zh) * | 2018-09-25 | 2019-01-18 | 中国电子科技集团公司电子科学研究院 | 一种硬件重构系统及方法 |
CN110704350A (zh) * | 2019-09-12 | 2020-01-17 | 苏州浪潮智能科技有限公司 | 一种资源管理方法、装置及电子设备和存储介质 |
-
2020
- 2020-03-25 CN CN202010216693.3A patent/CN113452731B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107343045A (zh) * | 2017-07-04 | 2017-11-10 | 北京百度网讯科技有限公司 | 云计算系统及用于控制服务器的云计算方法和装置 |
CN109240832A (zh) * | 2018-09-25 | 2019-01-18 | 中国电子科技集团公司电子科学研究院 | 一种硬件重构系统及方法 |
CN110704350A (zh) * | 2019-09-12 | 2020-01-17 | 苏州浪潮智能科技有限公司 | 一种资源管理方法、装置及电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113452731A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113452731B (zh) | 资源分配方法、装置、电子设备及计算机可读存储介质 | |
CN107343045B (zh) | 云计算系统及用于控制服务器的云计算方法和装置 | |
US7085805B1 (en) | Remote device management in grouped server environment | |
US7818424B2 (en) | Real-time storage area network | |
US11201836B2 (en) | Method and device for managing stateful application on server | |
US9386100B2 (en) | Real-time storage area network | |
CN111427706A (zh) | 数据处理方法、多服务器系统、数据库、电子设备及存储介质 | |
CN114020470A (zh) | 资源分配方法、装置、可读介质及电子设备 | |
CN114979024A (zh) | 算力网络交易方法、装置、计算机可读介质及电子设备 | |
CN111580974B (zh) | Gpu实例分配方法、装置、电子设备和计算机可读介质 | |
CN111246228A (zh) | 直播间礼物资源更新方法、装置、介质及电子设备 | |
CN114924751A (zh) | 一种业务访问请求流量分配的方法和装置 | |
CN115237589A (zh) | 一种基于sr-iov的虚拟化方法、装置和设备 | |
CN110113176B (zh) | 用于配置服务器的信息同步方法及装置 | |
CN109981778B (zh) | 内容分发网络的服务实现方法、装置、设备及存储介质 | |
CN109842665B (zh) | 用于任务分配服务器的任务处理方法和装置 | |
CN110827955A (zh) | 文件查阅方法、装置、计算机可读存储介质及电子设备 | |
CN109831467B (zh) | 数据传输方法、设备及系统 | |
CN113381939B (zh) | 数据传输方法、装置、电子设备及计算机可读存储介质 | |
CN108683608B (zh) | 分配流量的方法和装置 | |
CN109471574B (zh) | 用于配置资源的方法及装置 | |
CN115269130A (zh) | 算力资源调度方法与装置、介质及电子设备 | |
JP2002342193A (ja) | データ転送先サーバ選定方法及び装置及びデータ転送先サーバ選定プログラム及びデータ転送先サーバ選定プログラムを格納した記憶媒体 | |
CN113301074A (zh) | 数据请求负载调度方法、装置、电子设备及可读存储介质 | |
CN111782268B (zh) | 分配硬件资源的方法、装置、设备和计算机可读介质 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40062493 Country of ref document: HK |