CN115202856A - 资源分配系统、方法、装置、计算机设备和存储介质 - Google Patents
资源分配系统、方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115202856A CN115202856A CN202110387784.8A CN202110387784A CN115202856A CN 115202856 A CN115202856 A CN 115202856A CN 202110387784 A CN202110387784 A CN 202110387784A CN 115202856 A CN115202856 A CN 115202856A
- Authority
- CN
- China
- Prior art keywords
- resource
- target
- container
- identifier
- resource identifier
- 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.)
- Pending
Links
Images
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种资源分配系统、方法、装置、计算机设备和存储介质。所述系统包括:分配器,用于确定资源分配请求所对应的资源容器,从候选资源标识集合中确定资源容器对应的目标资源标识;资源插件,用于响应于分配指示消息,触发建立目标资源标识与容器标识对应的资源容器的资源关联关系;资源容器,用于在进行业务处理时,根据资源关联关系获取目标资源标识,根据位置对应关系确定目标资源标识对应的目标安装位置,调用目标安装位置中安装的目标业务处理器对业务数据进行处理。上述方案,即使目标安装位置中的业务处理器被替换,资源容器依然能够调用新的目标业务处理器进行业务处理,可以保证资源使用的有序性,提高计算资源的使用效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种资源分配系统、方法、装置、计算机设备和存储介质。
背景技术
随着网络技术的发展,对数据进行快速处理的需求越来越高。在很多情况下需要通过大量的计算资源来集中进行对数据进行处理。例如,在对人工智能模型训练时,需要大量的计算资源来完成模型训练过程。
目前,可以分配一个或者多个芯片资源进行业务处理。对于传统对资源进行分配的技术,当已分配的芯片资源因故障等被替换时,容易出现业务处理过程中计算资源使用混乱的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种资源分配系统、方法、装置、计算机设备和存储介质。
一种资源分配系统,所述系统包括:分配器,用于接收资源分配请求,确定所述资源分配请求所对应的资源容器,从候选资源标识集合中确定所述资源容器对应的目标资源标识;所述候选资源标识集合中的资源标识与业务处理器的安装位置具有位置对应关系;资源插件,用于接收所述分配器发送的分配指示消息,所述分配指示消息携带所述目标资源标识以及所述资源容器的容器标识,响应于所述分配指示消息,触发建立所述目标资源标识与所述容器标识对应的资源容器的资源关联关系;所述资源容器,用于在进行业务处理时,根据所述资源关联关系获取所述目标资源标识,根据所述位置对应关系确定所述目标资源标识对应的目标安装位置,调用所述目标安装位置中安装的目标业务处理器对业务数据进行处理。
一种资源分配方法,所述方法包括:接收资源分配请求,所述资源分配请求用于请求为资源容器分配业务处理资源;响应于所述资源分配请求,从候选资源标识集合中确定所述资源容器对应的目标资源标识;所述候选资源标识集合中的资源标识与业务处理器的安装位置具有位置对应关系;触发建立所述目标资源标识与所述容器标识对应的资源容器的资源关联关系;其中,所述资源关联关系用于触发所述资源容器在进行业务处理时,根据所述资源关联关系获取所述目标资源标识,根据所述位置对应关系确定所述目标资源标识对应的目标安装位置,调用所述目标安装位置中安装的目标业务处理器对业务数据进行处理。
一种资源分配装置,所述装置包括:分配请求接收模块,用于接收资源分配请求,所述资源分配请求用于请求为资源容器分配业务处理资源;资源标识确定模块,用于响应于所述资源分配请求,从候选资源标识集合中确定所述资源容器对应的目标资源标识;所述候选资源标识集合中的资源标识与业务处理器的安装位置具有位置对应关系;关联关系建立模块,用于触发建立所述目标资源标识与所述容器标识对应的资源容器的资源关联关系;其中,所述资源关联关系用于触发所述资源容器在进行业务处理时,根据所述资源关联关系获取所述目标资源标识,根据所述位置对应关系确定所述目标资源标识对应的目标安装位置,调用所述目标安装位置中安装的目标业务处理器对业务数据进行处理。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:接收资源分配请求,所述资源分配请求用于请求为资源容器分配业务处理资源;响应于所述资源分配请求,从候选资源标识集合中确定所述资源容器对应的目标资源标识;所述候选资源标识集合中的资源标识与业务处理器的安装位置具有位置对应关系;触发建立所述目标资源标识与所述容器标识对应的资源容器的资源关联关系;其中,所述资源关联关系用于触发所述资源容器在进行业务处理时,根据所述资源关联关系获取所述目标资源标识,根据所述位置对应关系确定所述目标资源标识对应的目标安装位置,调用所述目标安装位置中安装的目标业务处理器对业务数据进行处理。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:接收资源分配请求,所述资源分配请求用于请求为资源容器分配业务处理资源;响应于所述资源分配请求,从候选资源标识集合中确定所述资源容器对应的目标资源标识;所述候选资源标识集合中的资源标识与业务处理器的安装位置具有位置对应关系;触发建立所述目标资源标识与所述容器标识对应的资源容器的资源关联关系;其中,所述资源关联关系用于触发所述资源容器在进行业务处理时,根据所述资源关联关系获取所述目标资源标识,根据所述位置对应关系确定所述目标资源标识对应的目标安装位置,调用所述目标安装位置中安装的目标业务处理器对业务数据进行处理。
上述资源分配系统、方法、装置、计算机设备和存储介质,响应于为资源容器分配业务处理资源的资源分配请求,从候选资源标识集合中确定资源容器对应的目标资源标识;其中,候选资源标识集合中的资源标识与业务处理器的安装位置具有位置对应关系;能基于业务处理器的安装位置建立目标资源标识与容器标识对应的资源容器的资源关联关系;以触发资源容器在进行业务处理时,根据资源关联关系获取目标资源标识,根据资源标识与业务处理器的安装位置的位置对应关系确定目标资源标识对应的目标安装位置,基于目标安装位置调用目标业务处理器对业务数据进行处理。由于资源标识与业务处理器的安装位置具有位置对应关系,而且资源容器在调用业务处理器进行业务处理时,是基于位置对应关系调用目标资源标识对应的目标安装位置的业务处理器的,因此即使目标安装位置中的业务处理器被替换为新的目标业务处理器,资源容器依然能够调用新的目标业务处理器进行业务处理,进而可以保证业务处理过程中资源使用的有序性,提高计算资源的使用效率。
附图说明
图1为一个实施例中资源分配系统的结构框图;
图2为一个实施例中图形处理器与中央处理器之间的连接关系图;
图3为一个实施例中模型训练的流程示意图;
图4为另一个实施例中资源分配系统的结构框图;
图5为一个实施例中资源分配方法的应用环境图;
图6为一个实施例中资源分配方法的流程示意图;
图7为另一个实施例中资源分配方法的流程示意图;
图8为一个实施例中资源分配装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的各个实施例,可以基于云技术(Cloud technology)实现。其中,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云计算(Cloud Computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池【简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台】,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。在一个实施例中,可以从云计算资源池中划分资源,并将所划分的资源分配到容器中,以使得该容器基于所分配的资源完成对应的业务处理。
按照逻辑功能划分,在IaaS层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web(World Wide Web,即全球广域网)容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。
本申请提供的各个实施例也可以应用于人工智能技术实现。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
其中,计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR(Optical Character Recognition,光学文字识别)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D(三维)技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
在一个实施例中,如图1所示,提供了一种资源分配系统100,包括以下组件:分配器102、资源插件104和资源容器106。资源分配系统可以为配置在某一计算机设备上的系统,该计算机设备可以称为母机。进一步地,分配器102、资源插件104和资源容器106之间可以分别通过网络在母机上进行通信。
其中,分配器102可以为资源分配系统中进行资源分配控制的器件。分配器可以通过计算机设备上的处理器实现,也可以通过独立的计算机设备实现。分配器也可以称为分配中心(master)。分配器可以与资源插件和资源容器分别进行网络连接。该分配器可以确定资源容器对应的目标资源标识,之后可以直接建立目标资源标识与容器标识对应的资源容器的资源关联关系,也可以通过资源插件建立目标资源标识与容器标识对应的资源容器的资源关联关系。
资源插件可以为对资源分配起到辅助作用的器件,可以为加载在应用程序中的插件,而该应用程序安装在母机上。在某些实施例中,资源插件也可以通过母机上独立的处理器实现,也可以通过独立于母机的计算机设备实现。资源插件可以是独立地部署在各个业务处理器上,各个资源插件分别与对应的业务处理器进行单线交互,当业务处理器为多个时,资源插件就对应有多个,此时可以将所有资源插件构成的组合作为插件层。当然,资源插件也可以同时部署在各个业务处理器上,即,一个资源插件同时对接各个业务处理器,并与各个业务处理器进行交互。在某些实施例中,资源插件也可以称为设备插件(device-plugin)。在辅助资源分配的过程中,资源插件可以建立资源标识与资源容器之间的资源关联关系,也可以对各个安装位置中的业务处理器的分配状态进行记录和更新。
资源容器(docker)可以为当前资源分配过程所针对的资源容器,此时可以称为当前资源容器。资源容器可以为单独划分的用于完成特定业务的资源,例如,单独划分的用于完成特定业务的芯片。具体地,容器是在母机上隔离出来的一组资源,容器内有独立的文件和进程空间。容器启动以后,处于运行状态的容器可以称为运行态容器。资源容器可以基于对应的资源来完成业务,例如:借助图形处理器对应的资源来完成图形数据分析业务。资源容器的数量可以为至少一个。当资源容器为至少两个时,这些资源容器之间可以配置为物理隔离状态,各个资源容器之间不能进行数据交互,各个资源容器之间的运算结果不相互影响。通过资源容器的设置,能够使得不同资源容器之间的业务处理过程相互隔离,保证不同业务处理结果的独立性和可靠性。进一步地,可以建立目标资源标识与资源容器之间的关联关系,以使得资源容器可以基于目标资源标识对应的业务处理器来完成业务处理。
需要说明的是,资源分配系统可以包含分配器、资源插件和资源容器。另外,该资源分配系统中也可以包含资源容器(此时可以称为当前资源容器)之外的其他资源容器。分配器可以向其他资源容器分配资源。
对各个组件执行的步骤说明如下:
分配器102,用于接收资源分配请求,确定资源分配请求所对应的资源容器,从候选资源标识集合中确定当前资源容器对应的目标资源标识;候选资源标识集合中的资源标识与业务处理器的安装位置具有位置对应关系。
其中,资源是计算机设备进行运算所需的业务处理资源。业务处理资源是业务处理器提供的。业务处理资源表征计算机设备的计算能力。计算能力可以简称为算力,算力可以体现业务处理器的业务处理能力,因此可以通过对业务处理器的分配实现算力分配。进行资源分配也可以称为进行算力分配,对应的资源容器可以称为算力容器。
在一个实施例中,业务处理器可以为能够通过资源完成对应的业务处理的处理器。进一步地,业务处理器可以通过芯片实现。业务处理器可以是中央处理器之外的处理器,此时可以称为异构处理器。其中,业务处理器所执行的业务处理可以是以下至少一种:图形分析、语音信息分析或者模型训练等。进一步地,业务处理器可以为GPU(GraphicsProcessing Unit,图形处理器)或者其他类型的处理器。不同安装位置上安装的业务处理器的业务处理性能可以相同也可以不同。其中,业务处理性能可以表征为处理器对应的存储空间大小。当业务处理性能相同时,可以根据业务处理器的数量来完成资源的分配,例如:基于各个业务处理器的安装位置的资源标识构建候选资源标识集合,候选资源标识集合可以有多个,每个候选资源标识可以表示一个安装位置中的业务处理器。当需要一个业务处理器时,从候选资源标识集合中选择一个资源标识,作为目标资源标识;当需要多个业务处理器时,从候选资源标识集合中选择对应数量的多个目标资源标识,其中,多个可以为两个或者两个以上。当业务处理性能不同时,可以根据业务处理器的业务处理性能需求来完成资源的分配,例如:确定能够满足资源分配请求对应的性能需求的业务处理器,据此从候选资源标识集合中选择对应的目标资源标识。具体地,假设未分配的业务处理的总内存带宽为500GB/s(千兆字节/每秒),其中包含:内存带宽为50GB/s的业务处理器A,内存带宽为200GB/s的业务处理器B,以及,内存带宽为250GB/s的业务处理器C。当资源分配请求对应的性能需求为450GB/s的内存带宽时,从候选资源标识集合中选择业务处理器B和C对应的资源标识,作为目标资源标识。
资源分配请求为向资源容器分配业务处理资源的请求。因此,资源分配请求中可以携带资源容器的容器标识。该容器标识为对资源容器进行唯一性区分的信息,可以通过特定的编号来表示。资源分配请求中也可以携带资源容器的数量,分配器基于资源容器的数量分配对应份数的资源,以向各个资源容器分配对应的资源。
其中,资源标识为对资源进行唯一性区分的信息,可以通过特定的编号来表示。而资源为特定安装位置上的资源,因此,资源标识也可以理解为安装位置对应的标识。候选资源标识集合为由至少一个资源标识组成的集合。本申请实施例中,资源标识与业务处理器的安装位置具有位置对应关系,该位置对应关系可以是一对一的关系,也可以是多对一的关系。通过资源标识与业务处理器的安装位置的位置对应关系,分配器或者资源容器等可以基于资源标识定位到对应的安装位置,并触发该安装位置上的业务处理器进行业务处理。在一个实施例中,当业务处理器为GPU时,资源标识可以称为GPU序列号或者GPU卡序列号。进一步地,GPU卡序列号在计算机设备上的安装位置装配好之后可以保持固定不变,不会随着硬件换卡或者卡替换而变化。
其中,安装位置的数量可以为一个或者多个。一个安装位置可以对应安装一个业务处理器。进一步地,业务处理器可以通过特定的接口安装于对应的安装位置中。其中,接口可以是PCIE(Peripheral Component Interconnect Express,高速串行计算机扩展总线标准)的插槽。更进一步地,可以在计算机设备上配置设定数量的插槽,每个插槽上可以安插对应的业务处理器。其中,插槽的数量可以根据实际情况确定,例如为:6个、8个等。
目标业务处理器可以为目标安装位置中最新安装的业务处理器。因此,资源容器可以调用到目标安装位置中最新安装的业务处理器来对业务数据进行处理。
在一个实施例中,分配器可以接收终端设备发送的资源分配请求,基于资源分配请求中携带的容器标识确定所对应的资源容器,从候选资源标识集合中确定资源容器对应的目标资源标识,也即确定与资源分配请求匹配的目标资源标识。该目标资源标识用于发送给资源容器,进而将与目标资源标识对应的资源挂载到资源容器上。
资源插件104,用于接收分配器发送的分配指示消息,分配指示消息携带目标资源标识以及资源容器的容器标识,响应于分配指示消息,触发建立目标资源标识与容器标识对应的资源容器的资源关联关系。
其中,分配指示消息为用于触发建立资源关联关系的消息。进一步地,在资源插件触发建立资源关联关系之后,可以认为已经完成资源分配过程,此时资源容器可以基于目标资源标识确定所分配的目标安装位置,进而可以调用目标安装位置中的目标业务处理器来对业务数据进行处理。
资源关联关系的建立可以由资源插件实现,也可以由分配器实现,还可以由资源分配系统中的其他组件实现。在一个实施例中,资源插件响应于分配指示消息,建立目标资源标识与容器标识对应的资源容器的资源关联关系。在另一个实施例中,资源插件响应于分配指示消息,触发分配器建立目标资源标识与容器标识对应的资源容器的资源关联关系。
在某些实施例中,分配指示消息也可以是用于触发分配状态修改的消息。分配器在确定目标资源标识之后,直接建立目标资源标识与容器标识对应的资源容器的资源关联关系,并向资源插件发送分配指示消息,以使得资源插件对目标资源标识对应的分配状态进行更新,例如:修改为已分配状态。
在一个实施例中,触发建立目标资源标识与容器标识对应的资源容器的资源关联关系,包括:触发建立目标资源标识与资源容器的绑定关系,以将目标资源标识所对应的目标安装位置中的目标业务处理器挂载(mount)至资源容器中。经过挂载处理,资源容器在启动后就能访问目标安装位置中的目标业务处理器,并基于目标业务处理器对业务数据进行处理。
进一步地,分配器可以生成分配指示消息,将分配指示消息发送至对应的资源容器中,以将目标安装位置中的目标业务处理器挂载至资源容器的业务处理文件中。其中,可以将目标资源标识作为挂载参数,资源容器的容器标识作为设备名称,资源容器中特定的业务处理文件的文件名作为挂载点,按照[参数][设备名称][挂载点]的形式生成分配指示消息。
资源容器106,用于在进行业务处理时,根据资源关联关系获取目标资源标识,根据位置对应关系确定目标资源标识对应的目标安装位置,调用目标安装位置中安装的目标业务处理器对业务数据进行处理。
其中,业务数据可以为与业务处理相关的数据,具体的数据形式和内容可以根据业务处理的内容的确定。当业务处理为图形分析时,业务数据可以为待分析的图像,当业务处理为模型训练时,业务数据可以为待训练的样本数据。
在一个实施例中,建立目标资源标识与容器标识对应的资源容器的资源关联关系之后,目标资源标识与对应的资源容器之间建立了直接的资源关联关系,而目标资源标识与安装位置具有位置对应关系,因此可以认为目标安装位置与对应的资源容器之间建立了直接的资源关联关系。直接的资源关联关系可以为一种固定的稳定的关联关系,不会随着安装位置中安装的业务处理器的变化而变化。另外,由于安装位置中安装有业务处理器,而业务处理器可能会发生更换,因此,可以认为目标安装位置中安装的目标业务处理器(即,最新安装的业务处理器)与资源容器之间建立了间接的资源关联关系。资源容器可以基于与目标安装位置之间所建立的直接的资源关联关系定位到目标安装位置,并基于与目标业务处理器之间建立的间接的资源关联关系访问最新安装的业务处理器,即访问目标业务处理器,进而基于目标业务处理器对业务数据进行处理。
在一个实施例中,调用目标业务处理器的过程可以为:定位目标安装位置,确定目标安装位置中安装的当前业务处理器,作为目标业务处理器,调用目标业务处理器以对业务数据进行处理。在某些情况下,业务处理器可能会发生损坏,发生损坏的异常业务处理器可能无法正常对业务数据进行处理,因此,此时需要将目标安装位置中安装的异常业务处理器替换下来,而将新的业务处理器安装在目标安装位置中。通过上述实施例的处理方式,资源容器以目标安装位置为定位信息,如果目标安装位置中安装的业务处理器发生了替换,资源容器也能调用到最新的目标业务处理器,而不会尝试调用已被替换下来的业务处理器。进一步地,当目标业务处理器通过芯片来实现时,资源容器调用目标业务处理器的过程可以为对对应的目标芯片进行访问操作,以基于目标芯片的算力进行业务处理。
在一个实施例中,资源容器可以默认处于关闭状态,在接收到终端设备发送的业务处理请求时启动,在启动后对业务数据进行处理。
在一个实施例中,资源容器可以在接收到终端设备发送的业务处理请求时,确定该业务处理请求对应的业务数据,根据资源关联关系获取目标资源标识,根据资源标识与业务处理器的安装位置的位置对应关系确定目标资源标识对应的目标安装位置,调用目标安装位置中安装的目标业务处理器对业务数据进行处理。
上述实施例,分配器响应于为资源容器分配业务处理资源的资源分配请求,从候选资源标识集合中确定资源容器对应的目标资源标识;其中,候选资源标识集合中的资源标识与业务处理器的安装位置具有位置对应关系;资源插件能基于业务处理器的安装位置建立目标资源标识与容器标识对应的资源容器的资源关联关系;以触发资源容器在进行业务处理时,根据资源关联关系获取目标资源标识,根据资源标识与业务处理器的安装位置的位置对应关系确定目标资源标识对应的目标安装位置,基于目标安装位置调用目标业务处理器对业务数据进行处理。由于资源标识与业务处理器的安装位置具有位置对应关系,而且资源容器在调用业务处理器进行业务处理时,是基于位置对应关系调用目标资源标识对应的目标安装位置的业务处理器的,因此即使目标安装位置中的业务处理器被替换为新的目标业务处理器,资源容器依然能够调用新的目标业务处理器进行业务处理,进而可以保证业务处理过程中资源使用的有序性,提高计算资源的使用效率。另外,分配器不会将新的目标业务处理器分配至其他的资源容器,能防止目标业务处理器被多个资源容器重复使用,进而可以保证业务处理过程中资源使用的有序性。
在一个实施例中,资源容器可以是从计算机设备中划分出的资源空间。可以是预先为资源分配系统划分得到的资源空间,也可以是资源分配系统在进行资源分配过程中划分得到的资源空间。进一步地,资源容器还可以是资源分配系统中的分配器在接收到资源分配请求时划分得到的资源空间。
在一个实施例中,分配器用于:响应于资源分配请求,创建资源分配请求所对应的资源容器;资源插件用于:响应于分配指示消息,在创建资源容器的过程中,触发建立目标资源标识与容器标识对应的资源容器的资源关联关系。
在一个实施例中,资源容器的创建过程可以为:分配器在计算机设备中划分独立的运行空间,将该独立运行空间作为资源容器。在创建资源容器之后,分配器可以触发启动资源容器,进而触发资源容器调用目标安装位置中安装的目标业务处理器对业务数据进行处理。分配器所创建的资源容器的数量可以为至少一个,这些资源容器之间处于物理隔离状态。
在一个实施例中,分配器在创建资源分配请求所对应的资源容器时,可以向资源插件发送容器创建完成消息。该容器创建完成消息携带资源容器的容器标识。资源插件可以在接收到分配器发送的容器创建完成消息时,确定容器创建完成消息携带的容器标识,触发建立目标资源标识与容器标识对应的资源容器的资源关联关系。
上述实施例,由分配器在接收到资源分配请求后创建资源容器,而在分配器创建资源容器的过程中,资源插件触发建立目标资源标识与容器标识对应的资源容器的资源关联关系,使得资源容器的创建过程和资源关联关系的建立过程同步进行,提高资源分配过程的效率。
在一个实施例中,资源插件用于:获取各个安装位置对应的资源标识的当前分配状态;向分配器发送处理器状态信息,处理器状态信息包括当前分配状态以及安装位置对应的候选资源标识;分配器用于:根据候选资源标识对应的当前分配状态,从候选资源标识集合中获取当前分配状态为未分配的候选资源标识,作为资源容器对应的目标资源标识。
其中,资源标识与业务处理器的安装位置具有位置对应关系,因此资源标识的当前分配状态可以为对应的安装位置的分配状态,也可以为安装位置中安装的业务处理器对应的分配状态。当前分配状态可以包括未分配、已分配或者中间状态等中的至少一种。在一个实施例中,当当前分配状态为安装位置的分配状态时,如果某一安装位置对应的当前分配状态为已分配,则该安装位置中安装的业务处理器发生替换时,当前分配状态依旧为已分配。当当前分配状态为业务处理器对应的分配状态时,如果某一安装位置中安装的业务处理器对应的当前分配状态为已分配,则该安装位置中安装的业务处理器发生替换时,当前分配状态从已分配被修改为未分配或者待分配,只有当新的业务处理器被重新分配到资源容器中,其对应的当前分配状态才会重新修改为已分配。
其中,处理器状态信息可以为表征业务处理器是否被分配的状态信息,可以包含以下至少一项:各个业务处理器对应的分配状态、已分配业务处理器的数量、未分配业务处理器的数量。其中,已分配业务处理器为已经被分配的业务处理器,未分配业务处理器为暂未被分配且可以被分配的业务处理器。处理器状态信息中,候选资源标识与当前分配状态之间可以存在对应关系。
在一个实施例中,资源插件用于记录各个安装位置对应的候选资源标识以及各个候选资源标识的当前分配状态,并基于所记录的信息生成处理器状态信息,进而向分配器发送处理器状态信息。
在一个实施例中,资源插件可以生成安装位置与当前分配状态的映射表。资源插件定期遍历各个安装位置,以得到各个安装位置对应的候选资源标识最新的当前分配状态,并基于最新的当前分配状态对映射表进行更新。当需要向分配器上报处理器状态信息时,资源插件通过查询映射表来获取各个安装位置对应的当前分配状态,并据此生成处理器状态信息。
在一个实施例中,分配器确定各个候选资源标识对应的当前分配状态,进而确定未分配业务处理器,基于未分配业务处理器从候选资源标识集合中获取当前分配状态为未分配的候选资源标识,作为资源容器对应的目标资源标识。
上述实施例,分配器根据资源插件发送的处理器状态信息来进行目标资源标识的分配,能够防止将已分配的资源标识分配给资源容器,保证资源分配的有序性。同时,资源插件集中对各个安装位置中的业务处理器进行更新,分配器集中完成目标资源标识的分配,通过各个组件的相互协作来保证资源分配的有序性。
在一个实施例中,资源插件也可以不通过处理器状态信息的形式来向分配器发送当前分配状态以及候选资源标识,而是直接向分配器发送当前分配状态以及候选资源标识。进一步地,资源插件用于获取各个安装位置对应的资源标识的当前分配状态;向分配器发送各个安装位置对应的候选资源标识以及候选资源标识对应的当前分配状态;分配器用于:根据候选资源标识对应的当前分配状态,从候选资源标识集合中获取当前分配状态为未分配的候选资源标识,作为资源容器对应的目标资源标识。
在一个实施例中,触发建立所述目标资源标识与所述容器标识对应的资源容器的资源关联关系之后,资源插件用于:将目标业务处理器的当前分配状态修改为已分配状态;当确定目标安装位置中的目标业务处理器被替换为新业务处理器时,将新业务处理器的当前分配状态确定为已分配状态,并触发资源容器调用新业务处理器对对应的业务数据进行处理。
在一个实施例中,资源插件还用于:在确定业务数据的业务处理结束时将目标业务处理器的分配状态修改为未分配状态,并生成新的处理器状态信息,将新的处理器状态信息发送给分配器,以触发分配器基于新的处理器状态信息选择资源标识,并向资源容器分配对应的资源。
在一个实施例中,处理器状态信息还包括待分配的第一处理器数量;分配器用于:确定资源分配请求所对应的第二处理器数量;当第二处理器数量小于或等于第一处理器数量时,根据候选资源标识对应的当前分配状态,从候选资源标识集合中获取当前分配状态为未分配的候选资源标识,作为资源容器对应的目标资源标识。
其中,待分配的第一处理器数量为待分配的业务处理器的数量。具体地,第一处理器数量可以为待分配的业务处理器的处理器个数。第二处理器数量为资源分配请求所请求业务处理器的处理器个数。
在一个实施例中,第一处理器数量可以为待分配的业务处理器的资源容量大小,第二处理器数量也可以为所请求的业务处理器的资源容量大小。进一步地,分配器确定未分配的各个业务处理器的资源容量,整合得到剩余资源容量总和,作为第一处理器数量。资源分配请求中也可以携带资源容量需求信息,分配器根据资源容量需求信息确定对应的需求资源容量,作为第二处理器数量。
在一个实施例中,当第二处理器数量小于或等于第一处理器数量时,分配器判定未分配的业务处理器能够满足资源分配请求的处理器数量需求,因此,从候选资源标识集合中选择得到目标资源标识。
在一个实施例中,当第二处理器数量大于第一处理器数量时,分配器判定未分配的业务处理器无法满足资源分配请求的处理器数量需求,此时可以终止进行资源分配,并输出资源分配终止提示消息。另外,分配器也可以进行等待,随着业务处理器对业务处理过程执行的结束,业务处理器会被回收,对应的第一处理器数量会增加,分配器在确定第二处理器数量小于或等于第一处理器数量时,再确定资源容器对应的目标资源标识。
上述实施例,基于处理器数量的比对结果来确定是否要获取目标资源标识,在业务处理器能够满足资源分配请求的处理器数量需求时才进行目标资源标识的确定,防止出现资源分配之后无法使用的问题,保证业务处理过程的有序进行。
在一个实施例中,当资源分配请求对应的第二处理器数量为一个时,可以从候选资源标识集合中随机选取获取当前分配状态为未分配的候选资源标识,作为资源容器对应的目标资源标识,也可以按照特定的方式来选择目标资源标识。当资源分配请求对应的第二处理器数量为两个或者两个以上时,可以从候选资源标识集合中随机选取获取对应数量的当前分配状态为未分配的候选资源标识,作为资源容器对应的目标资源标识,也可以按照特定的方式来选择目标资源标识,以使得对应的业务处理器之间能够更为便捷地进行通信。其中,按照特定的方式来选择目标资源标识,可以是按顺序来选择目标资源标识。
在一个实施例中,分配器用于:从候选资源标识集合中获取当前分配状态为未分配的候选资源标识,组成中间资源标识集合;获取中间资源标识集合中各个候选资源标识对应的业务处理器之间的亲和度;根据业务处理器之间的亲和度从中间资源标识集合中选取满足亲和度条件的候选资源标识,作为资源容器对应的目标资源标识;亲和度条件包括亲和度大于亲和度阈值或者亲和度排序在排序阈值之前的至少一个。
在一个实施例中,可以确定两两业务处理器之间的亲和度,进而基于亲和度选取至少两个候选资源标识,作为资源容器对应的目标资源标识。进一步地,当某一亲和度满足亲和度条件时,则将该亲和度对应的两个业务处理器的候选资源标识都作为资源容器对应的目标资源标识。
其中,业务处理器之间的亲和度为各个业务处理器之间关联性。亲和度可以通过业务处理器之间的通信便捷度来表征,通信越便捷,对应的亲和度越高。在一个实施例中,可以根据业务处理器的硬件属性信息等确定业务处理器之间的亲和度。其中,硬件属性信息可以为存储空间、内存带宽等中的至少一项。当业务处理器A的存储空间和内存带宽均足够大时,将业务处理器A与其他业务处理器之间的亲和度均设置为一个较大的值,因为这种情况下,业务处理器A能尽可能包容其他业务处理器硬件属性上的不足,因此它们之间的通信便捷度较高,对应的亲和度可以为较高的值。
在一个实施例中,亲和度可以根据业务处理器之间的连接关系确定,所连接的中间器件越少亲和度越高。据此可以将业务处理器之间的连接线的数量的倒数作为亲和度,当两个业务处理器之间通过一条连接线连接时它们的亲和度为1,当两个业务处理器之间通过两条连接线连接时它们的亲和度为1/2,当两个业务处理器之间通过三条连接线连接时它们的亲和度为1/3,以此类推,不再赘述。
在很多场景下,业务处理器需要连接于中央处理器,而业务处理器之间需要基于中央处理器进行通信。在一个实施例中,对于业务处理器A和业务处理器B:情况1)当它们共同连接于一个中央处理器时,业务处理器A和业务处理器B之间的连接线为两条,则亲和度为1/2;情况2)当它们分别连接于一个中央处理器,而这两个中央处理器通过一条连接线连接时,业务处理器A和业务处理器B之间的连接线为三条,则亲和度为1/3。可见,情况1)的亲和度大于情况2)的亲和度。其中,连接线可以是有线连接,例如实体电线;也可以是无线连接,例如器件之间的网络连接线路。
在一个实施例中,还可以确定业务处理器之间的连接度,根据连接度得到业务处理器之间的亲和度。其中,业务处理器之间的连接度可以按照以下方式确定:当两个业务处理器之间存在连接关系时,例如:若通过一条连接线直接连接在一起,则这两个业务处理器之间的连接度为1,若通过一条以上的连接线连接在一起,则这两个业务处理器之间的连接度为0和1之间的数值,该数值与连接线的数量成正相关关系;当两个业务处理器之间不存在连接关系时,这两个业务处理器之间的连接度为0。之后对连接度进行统计,以确定两两业务处理器之间的亲和度。
在一个实施例中,亲和度阈值的数值范围可以为[0,1]。具体地,亲和度阈值可以为0.5或者0.6等固定值,也可以根据业务处理器的数量动态变化,例如:亲和度阈值与业务处理器的数量成正相关关系,当业务处理器的数量增加时,亲和度阈值也随之增加。排序阈值可以是4或者6等固定值,也可以根据业务处理器的数量动态变化,例如:排序阈值与业务处理器的数量成正相关关系,当业务处理器的数量增加时,排序阈值也随之增加。
在一个实施例中,将各个亲和度与亲和度阈值进行比较,当亲和度大于亲和度阈值时,将对应的两个业务处理器之间的候选资源标识从中间资源标识集合中选取出,作为资源容器对应的目标资源标识。例如,当亲和度阈值为0.8时,如果确定业务处理器1与业务处理器2之间的亲和度为0.9,大于0.8,将业务处理器1与业务处理器2之间的候选资源标识从中间资源标识集合中选取出,作为资源容器对应的目标资源标识。
在一个实施例中,对各个亲和度按照降序进行排序,即按照从大到小的顺序进行排序,亲和度越大,则排序越前。当两个业务处理器之间的亲和度的排序在排序阈值之前时,将对应的两个业务处理器的候选资源标识从中间资源标识集合中选取出,作为资源容器对应的目标资源标识。例如,排序阈值为4时,当确定业务处理器1与业务处理器2之间的亲和度排在第二时,将业务处理器1与业务处理器2之间的候选资源标识从中间资源标识集合中选取出,作为资源容器对应的目标资源标识;当确定业务处理器1与业务处理器3之间的亲和度排在第三时,将业务处理器1与业务处理器3之间的候选资源标识从中间资源标识集合中选取出,作为资源容器对应的目标资源标识。
在一个实施例中,当根据资源分配请求确定业务处理器的需求数量为至少两个时,根据业务处理器之间的亲和度从中间资源标识集合中选取满足亲和度条件的至少两个候选资源标识,作为资源容器对应的目标资源标识。
上述实施例,分配器根据业务处理器之间的亲和度来确定与资源分配请求匹配的目标资源标识,亲和度越高的业务处理器之间通信越便捷,能使得分配给资源容器的业务处理器之间尽可能便捷地进行通信,保证业务处理的效率。
在一个实施例中,图像处理器和中央处理器之间可以通过PCIE交换器(PCIEswitch)连接。在中央处理器所连接的图形处理器数量增加时,PCIE switch依然能够保证对图像处理器的交互信息的快速转换,进而保证对中央处理器和图形处理器之间的交互效率。
在一个实施例中,分配器用于:确定满足亲和度条件的业务处理器的第一处理器数量;当第二处理器数量小于或等于第一处理器数量时,从中间资源标识集合中确定与第二处理器数量匹配的候选资源标识,作为资源容器对应的目标资源标识。在业务处理器的数量以及业务处理器之间的亲和度均满足要求时再确定目标资源标识的分配,即,在业务处理器的数量以及业务处理器之间的亲和度均满足要求时才进行资源的分配,能保证所分配资源的有效性。
在一个实施例中,分配器用于:获取业务处理器与中央处理器之间的拓扑连接信息;中央处理器用于与多个业务处理器连接并对业务处理器进行控制;根据拓扑连接信息确定业务处理器之间的亲和度,其中,连接于同一中央处理器的业务处理器之间的亲和度大于连接于不同中央处理器的业务处理器之间的亲和度。
其中,拓扑连接信息为业务处理器之间的连接关系,可以包括连接状态、连接线的数量等中的至少一项。在一个实施例中,各个处理器之间可以通过特定的连接方式连接在一起。例如:业务处理器和中央处理器之间可以基于PCIE连接,业务处理器之间可以基于NVLink(一种总线及其通信协议)连接,中央处理器之间可以基于QPI(又名CSI,CommonSystem Interface,公共系统接口)连接。
如果业务处理器挂载在相同的中央处理器上,这些业务处理器可直接通信;若非挂载在同一中央处理器,业务处理器通信时需要做中转,此时通信调数增加,通信便捷度较低。因此,可以根据业务处理器与中央处理器之间的拓扑连接状态来确定业务处理器之间的亲和度。
在一个实施例中,如图2所示,业务处理器包括图形处理器1~8,中央处理器包括中央处理器1和2。其中,图形处理器1~4通过一条连接线连接于中央处理器1,图形处理器5~8通过一条连接线连接于中央处理器2。因此,图形处理器1~4之间的亲和度为1/2,图形处理器5~8之间的亲和度也为1/2,而图形处理器1与图形处理器5之间的亲和度则为1/3。需要说明的是,图形处理器之间可以存在连接关系,例如可以两两连接,图2中未示出图形处理器之间的连接。
在一个实施例中,中央处理器可以为多个,多个中央处理器可以构成中央处理器核心。在这种情况下,资源分配的过程可以为:假设有CPU核心A和CPU核心B这2个CPU核心,每个CPU核心各连接有4个GPU:CPU核心A连接GPU 1~4,CPU核心B连接GPU 5~8。如果CPU核心A所连接的GPU 1~3已经被分配出去。当接收到资源分配请求时,如果分配器确定需要分配2个GPU,则从与CPU核心B连接的GPU 5-8中随机选择两个GPU,而不是按顺序选择GPU 4和GPU 5,因为GPU 4和GPU 5不是与同一个CPU核心连接,它们之间的亲和度低于GPU 5-8之间的亲和度。假设分配器选择GPU 5和GPU 6,则分配器将GPU 5和GPU 6对应的GPU卡序列号发送给资源插件,以触发资源插件将GPU卡序列号挂载到对应的资源容器中。
上述实施例,基于业务处理器与中央处理器之间的拓扑连接信息来确定业务处理器之间的亲和度,能在资源分配过程中尽可能将连接于同一中央处理器的业务处理器的资源分配到资源容器中。在资源容器进行业务处理过程中,所分配的业务处理器之间可以通过尽可能小的时延完成通信,进而可以提高业务处理的效率。
在一个实施例中,分配器用于:将目标资源标识所对应的分配状态由未分配状态切换为中间状态,其中,处于中间状态的资源标识停止进行分配;资源插件用于:当建立资源关联关系后,向分配器发送目标资源标识对应的分配完成消息;分配器用于:当接收到分配完成消息时,确定目标资源标识对应的当前分配状态,当目标资源标识对应的当前分配状态为中间状态时,将目标资源标识所对应的分配状态由中间状态切换为已分配状态。
其中,处于中间状态的资源标识将不会分配给其他资源容器。分配完成消息用于表示资源标识中的业务处理器已完成挂载。分配完成消息中可以携带目标资源标识以及挂载完成的指示信息。
分配器在接收到资源分配请求时确定目标资源标识,将目标资源标识所对应的分配状态由未分配状态切换为中间状态,此时如果需要进行资源标识的分配则先过滤掉候选资源标识集合中处于中间状态的资源标识,再进行资源标识的分配,此时中间状态的资源标识不会作为目标资源标识。另外,当接收到资源插件在建立资源关联关系后发送的分配完成消息时,分配器中间状态的资源标识的分配状态由中间状态切换为已分配状态,此时可以将对应的资源标识作为目标资源标识。
在一个实施例中,如果分配器在预设时长内没有接收到目标资源标识对应的分配完成消息时,可以直接将目标资源标识的分配状态由中间状态切换为未分配状态,也可以是向资源插件发送分配状态查询消息,基于资源插件返回的状态进行分配状态的切换,从而保证状态切换的准确性。其中,预设时长可以根据实际情况确定。
在一个实施例中,分配中心在确定所分配的GPU卡后,将对应的GPU卡序列号的当前分配状态设置为中间状态,只有在插件层完成挂载操作才将GPU卡序列号的当前分配状态调整为已分配,以防止该GPU卡在挂载过程未完成时被分配到其他容器中。
在某些情况下,容易出现资源插件中记录到的资源标识已被分配,而分配器由于未及时更新分配状态将对应的资源标识分配给资源容器,导致资源被多个资源容器重复使用的问题。上述实施例,通过资源标识的分配状态的切换,将中间状态的资源标识从候选资源标识集合中滤除,能控制资源标识的分配过程,防止出现资源被多个资源容器重复使用的问题,保证资源分配过程的可靠性。
在一个实施例中,资源插件用于:当确定目标安装位置发生业务处理器替换操作时,生成新的处理器状态信息,该新的处理器状态信息携带新的业务处理器的硬件属性信息,并将新的处理器状态信息发送至分配器。由于目标安装位置并未发生变化,因此,新的处理器状态信息中的当前分配状态保持不变。分配器用于:接收新的处理器状态信息,当接收到新的资源分配请求时,从候选资源标识集合中过滤掉前述目标资源标识,该目标资源标识可以记为第一目标资源标识,并确定与新的资源分配请求对应的目标资源标识,该目标资源标识可以记为第二目标资源标识,之后基于第二目标资源标识完成后续的资源分配过程。
在一个实施例中,当目标资源标识为一个时,可以判定需要向资源容器挂载一个业务处理器;资源容器用于:接收模型训练请求,获取模型训练请求对应的训练样本集合,训练样本集合包括多个训练图像样本;根据位置对应关系确定目标资源标识对应的目标安装位置,将训练样本集合发送至目标安装位置中安装的目标业务处理器,目标业务处理器将训练样本集合中的训练图像样本输入到待训练的图像处理模型中进行处理,得到处理结果;获取模型损失值,模型损失值是结合目标业务处理器所得到的处理结果得到的;基于模型损失值对待训练的图像处理模型进行参数调整,得到已训练的图像处理模型。
其中,训练图像样本可以为各种类型各种格式各种尺寸的图像。在一些实施例中,训练图像样本也可以替换为声音样本或者文本样本等。
其中,图像处理模型可以为人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术下的网络模型。对图像处理模型进行参数调整可以是调整图像处理模型中的图像特征提取权重。
其中,资源容器还可以将待训练的图像处理模型的模型数据发送给目标业务处理器。目标业务处理器基于模型数据构建对应的待训练的图像处理模型,将训练样本集合中的训练图像样本输入到待训练的图像处理模型中进行处理。
上述实施例,资源容器基于所分配的目标业务处理器完成对应的图像处理模型的训练,能得到能够对图像类别进行准确分类的已训练的图像处理模型。同时,由于资源容器是母机上独立的资源,因此,训练过程不会受到母机上其他运行进程的影响,保证图像处理模型的稳定训练,进而提高图像处理模型的训练效率。
在一个实施例中,目标资源标识为多个;资源容器用于:接收模型训练请求,获取模型训练请求对应的训练样本集合,训练样本集合包括多个训练图像样本;将训练样本集合切分为多个子训练样本集合,子训练样本集合的数量与目标资源标识的数量一致;根据位置对应关系确定目标资源标识对应的目标安装位置,将子训练样本集合发送至目标安装位置中安装的目标业务处理器,目标业务处理器将子训练样本集合中的训练图像样本输入到待训练的图像处理模型中进行处理,得到处理结果;获取模型损失值,模型损失值是结合各个目标业务处理器所得到的处理结果得到的;基于模型损失值对待训练的图像处理模型进行参数调整,得到已训练的图像处理模型。
在一个实施例中,各个目标业务处理器基于所分配到的训练图像样本对待训练的图像处理模型进行训练,训练结束可以得到对应的损失值。资源容器可以对各个目标业务处理器对应的损失值进行整合,例如进行加权求和运算,将整合得到的损失值作为模型损失值,进而基于模型损失值对待训练的图像处理模型进行参数调整,得到已训练的图像处理模型。
在一个实施例中,如图3所示,假设给资源容器分配了两个GPU卡:GPU1和GPU 2。当接收中终端设备发送的模型训练请求时,资源容器把训练样本以及模型数据构成的训练样本集合分为两组,得到训练样本子集合1和训练样本子集合2。这两组分别发送到GPU 1和GPU 2中进行运算。GPU 1和GPU 2基于模型数据构建模型,并基于训练样本对模型进行训练,并分别得到运算结果,比如损失函数的损失值:损失值1和损失值2,将运算结果返回给容器。容器对这两个GPU的运算结果进行整合,比如对损失值1和损失值2进行整合得到总的损失值,如果根据整合结果确定已经满足训练结束条件,例如总的损失值足够小则判定已经满足训练结束条件,结束训练过程,并向终端设备输出已训练的图像处理模型。在某些实施例中,资源容器也可以接收终端设备输入的待预测图像,将待预测图像输入到已训练的图像处理模型中,根据已训练的图像处理模型的输出确定待预测图像对应的图像类别。
上述实施例,资源容器基于所分配的业务处理器对待训练的图像处理模型进行参数调整,得到已训练的图像处理模型。能够充分利用各个业务处理器完成大数据的分析运算,各个业务处理器可以并行完成业务处理过程,保证图像处理模型的训练效率。
本申请还提供一种应用场景,该应用场景应用上述的资源分配系统。具体地,该资源分配系统在该应用场景的应用如下:
如图4所示,资源分配系统的架构分为控制层和执行层,其中控制层通过分配中心实现,执行层通过插件和容器实现,插件也称为device-plugin,容器也称为docker。其中,分配中心、插件和容器可以是配置在母机上的器件。插件层配置在N个GPU上,N的大小可以根据实际情况确定。资源分配系统在运行过程中可以包括三个工作流程:分配流程、上报流程和挂载流程。以下对各个架构组件以及三个工作流程进行详细说明:
分配中心:分配中心是架构的核心,各个GPU卡的硬件信息和卡间的拓扑结构信息都会上报到该中心,由分配中心做管理。分配中心主要的职责是做GPU卡分配的决策,维护GPU卡的状态为已分配状态或者未分配状态,维护GPU卡和CPU之间的亲和性等信息,根据母机上的安装位置确定GPU卡序列号并将GPU卡序列号传到插件层,以使插件层在容器内完成GPU算力的挂载过程。当某个安装位置上的GPU卡发生替换时,对应安装位置的GPU卡序列号保持不变,且保证该安装位置上的新的GPU卡不会分配给其他的容器。分配中心进行资源分配可以通过以下分配流程(Allocate流程)实现:分配中心下发分配指令到插件层,分配指令中携带GPU卡序列号,插件层依据分配中心指定的GPU卡序列号完成GPU卡的分配操作。
插件层:插件层中的各个插件部署在各张GPU卡上,实现分配中心和GPU卡之间的通信。插件层上报各张GPU卡的状态给分配中心,分配中心通过插件层管理各张GPU卡以执行具体的分配操作。插件层接收分配中心传过来的GPU卡序列号,在容器内完成GPU卡绑定操作,以使得对应安装位置上的GPU卡挂载到对应的容器内。插件层进行GPU卡的状态上报可以通过以下上报流程(List And Watch流程)实现:插件层基于GPU卡的硬件属性生成上报信息,该上报信息中包含:GPU卡的数量、已用GPU卡的数量、可分配GPU卡的数量以及各GPU卡的状态信息,插件层将所生成的上报信息发送给分配中心。插件层进行GPU卡的绑定操作可以通过以下挂载流程(Mount流程)实现:分配中心下发分配创建请求,插件层接收分配创建请求,在容器中完成绑定挂载的操作,该流程完成后,容器会交付给终端设备的业务使用。
容器:容器所在的层级为算力容器的交付层。在完成GPU卡的挂载时,容器启动即可见已分配的GPU卡,并可以基于所分配的GPU卡完成业务处理。如果对应位置上的GPU卡发生更换,容器也能访问到对应安装位置上的新GPU卡,进而基于新GPU卡完成业务处理。
对于业务使用容器,可以通过GPU卡的UUID(Universally Unique Identifier,通用唯一识别码)或者PCIE(Peripheral Component Interconnect Express,高速串行计算机扩展总线标准)实现分配和交付的过程。其中,UUID是GPU卡的出厂标识,而且每张GPU卡有独自的UUID。对于UUID这种分配方式,若GPU卡因硬件问题被更换了,故障卡的UUID已是脏数据,但运行态的容器无法感知UUID的变化。同一安装位置上的新GPU卡的UUID会被分配中心认为没被分配过。因此,接收到创建请求后,分配中心可能会将新GPU卡分配给其他容器,而之前的容器仍可以通过硬件总线等信息访问到新GPU卡。此时会出现同一张卡被2个运行态的容器共享使用的情况,进而存在两个容器相互竞争新GPU卡的算力的情况,导致系统的运行速度变慢。
本申请实施例,在交付时考虑即使出现GPU卡更换,容器内的设备信息也要保证准确可用,因此至少具有以下有益效果:1)基于GPU卡序列号的方式实现GPU算力容器的分配交付,能避免更换GPU卡后UUID或者PCIE发生变化时出现容器内已挂载算力出现脏数据的情况,也不会存在同一张卡被2个容器共享的情况。2)容器对GPU卡的使用和GPU卡的UUID等属性是解耦的,GPU卡发生故障更换时不会对当前运行态的容器产生影响。3)故障的GPU卡修复后可以持续投入到资源池中使用,保证资源池的持续性。4)分配中心通过GPU序列号做卡分配的管理,有利于硬件卡的资源流转使用,提升资源池的易用性。
基于与上述实施例中的资源分配系统相同的思想,本申请还提供资源分配方法,该方法可基于上述资源分配系统实现。
本申请提供的资源分配方法,可以应用于如图5所示的应用环境中。该应用环境中包含服务器502、终端设备504以及资源容器506。其中,服务器502、终端设备504以及资源容器506可以分别通过网络进行通信。服务器中包含目标安装位置,该目标安装位置中安装有能够进行业务处理的业务处理器。终端设备向服务器发送资源分配请求,服务器确定资源分配请求所对应的资源容器,并确定资源容器对应的目标资源标识,触发建立目标资源标识与资源容器的资源关联关系。资源容器在进行业务处理时,根据资源关联关系获取目标资源标识,根据确定目标资源标识对应的目标安装位置,调用目标安装位置中安装的目标业务处理器对业务数据进行处理。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一个实施例中,如图6所示,提供了一种资源分配方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。该方法包括以下步骤:
S602,接收资源分配请求,资源分配请求用于请求为资源容器分配业务处理资源。
S604,响应于资源分配请求,从候选资源标识集合中确定资源容器对应的目标资源标识;候选资源标识集合中的资源标识与业务处理器的安装位置具有位置对应关系。
S606,触发建立目标资源标识与容器标识对应的资源容器的资源关联关系。其中,资源关联关系用于触发资源容器在进行业务处理时,根据资源关联关系获取目标资源标识,根据位置对应关系确定目标资源标识对应的目标安装位置,调用目标安装位置中安装的目标业务处理器对业务数据进行处理。
上述资源分配方法中,由于资源标识与业务处理器的安装位置具有位置对应关系,而且资源容器在调用业务处理器进行业务处理时,是基于位置对应关系调用目标资源标识对应的目标安装位置的业务处理器的,因此即使目标安装位置中的业务处理器被替换为新的目标业务处理器,资源容器依然能够调用新的目标业务处理器进行业务处理,进而可以保证业务处理过程中资源使用的有序性,提高计算资源的使用效率。另外,分配器不会将新的目标业务处理器分配至其他的资源容器,能防止目标业务处理器被多个资源容器重复使用,进而可以保证业务处理过程中资源使用的有序性。
在一个实施例中,接收资源分配请求,包括:接收资源分配请求,响应于资源分配请求,创建资源分配请求所对应的资源容器;触发建立目标资源标识与容器标识对应的资源容器的资源关联关系,包括:向资源插件发送分配指示消息,以触发资源插件响应于分配指示消息,在创建资源容器的过程中,建立目标资源标识与容器标识对应的资源容器的资源关联关系。
上述实施例,在接收到资源分配请求后创建资源容器,而在创建资源容器的过程中,触发资源插件建立目标资源标识与容器标识对应的资源容器的资源关联关系,使得资源容器的创建和资源关联关系的建立过程可以同步进行,提高资源分配过程的效率。
在一个实施例中,响应于资源分配请求,从候选资源标识集合中确定资源容器对应的目标资源标识,包括:接收资源插件发送的处理器状态信息;处理器状态信息由资源插件基于各个安装位置对应的业务处理器的当前分配状态发送,处理器状态信息包括当前分配状态以及安装位置对应的候选资源标识;根据候选资源标识对应的当前分配状态,从候选资源标识集合中获取当前分配状态为未分配的候选资源标识,作为资源容器对应的目标资源标识。
上述实施例,根据资源插件发送的处理器状态信息来进行目标资源标识的分配,能够防止将已分配的资源标识分配给资源容器,保证资源分配的有序性。
在一个实施例中,响应于资源分配请求,从候选资源标识集合中确定资源容器对应的目标资源标识,包括:从候选资源标识集合中获取当前分配状态为未分配的候选资源标识,组成中间资源标识集合;获取中间资源标识集合中各个候选资源标识对应的业务处理器之间的亲和度;根据业务处理器之间的亲和度从中间资源标识集合中选取满足亲和度条件的候选资源标识,作为资源容器对应的目标资源标识;亲和度条件包括亲和度大于亲和度阈值或者亲和度排序在排序阈值之前的至少一个。
上述实施例,根据业务处理器之间的亲和度来确定与资源分配请求匹配的目标资源标识,亲和度越高的业务处理器之间通信越便捷,能使得分配给资源容器的业务处理器之间尽可能便捷地进行通信,保证业务处理的效率。
在一个实施例中,处理器状态信息还包括待分配的第一处理器数量;响应于资源分配请求,从候选资源标识集合中确定资源容器对应的目标资源标识,包括:确定资源分配请求所对应的第二处理器数量;当第二处理器数量小于或等于第一处理器数量时,根据候选资源标识对应的当前分配状态,从候选资源标识集合中获取当前分配状态为未分配的候选资源标识,作为资源容器对应的目标资源标识。
上述实施例,基于处理器数量的比对结果来确定是否要获取目标资源标识,在业务处理器能够满足资源分配请求的处理器数量需求时才进行目标资源标识的确定,防止出现资源分配之后无法使用的问题,保证业务处理过程的有序进行。
在一个实施例中,响应于资源分配请求,从候选资源标识集合中确定资源容器对应的目标资源标识,包括:从候选资源标识集合中获取当前分配状态为未分配的候选资源标识,组成中间资源标识集合;获取中间资源标识集合中各个候选资源标识对应的业务处理器之间的亲和度;根据业务处理器之间的亲和度从中间资源标识集合中选取满足亲和度条件的候选资源标识,作为资源容器对应的目标资源标识;亲和度条件包括亲和度大于亲和度阈值或者亲和度排序在排序阈值之前的至少一个。
上述实施例,服务器根据业务处理器之间的亲和度来确定与资源分配请求匹配的目标资源标识,能使得分配给资源容器的业务处理器之间尽可能便捷地进行通信,保证业务处理的效率。
在一个实施例中,获取中间资源标识集合中各个候选资源标识对应的业务处理器之间的亲和度,包括:获取业务处理器与中央处理器之间的拓扑连接信息;中央处理器用于与多个业务处理器连接并对业务处理器进行控制;根据拓扑连接信息确定业务处理器之间的亲和度,其中,连接于同一中央处理器的业务处理器之间的亲和度大于连接于不同中央处理器的业务处理器之间的亲和度。
上述实施例,服务器基于业务处理器与中央处理器之间的拓扑连接信息来确定业务处理器之间的亲和度,能在资源分配过程中尽可能将连接于同一中央处理器的业务处理器的资源分配到资源容器中,进而在资源容器进行业务处理过程中,所分配的业务处理器之间可以通过尽可能小的时延完成通信,进而可以提高业务处理的效率。
在一个实施例中,方法还包括:将目标资源标识所对应的分配状态由未分配状态切换为中间状态,其中,处于中间状态的资源标识停止进行分配;当接收到资源插件在建立资源关联关系后发送的目标资源标识对应的分配完成消息时,确定目标资源标识对应的当前分配状态,当目标资源标识对应的当前分配状态为中间状态时,将目标资源标识所对应的分配状态由中间状态切换为已分配状态。
上述实施例,通过资源标识的分配状态的切换,将中间状态的资源标识从候选资源标识集合中滤除,能控制资源标识的分配过程,防止出现资源被多个资源容器重复使用的问题,保证资源分配过程的可靠性。
在一个实施例中,目标资源标识为多个;触发资源容器:接收模型训练请求,获取模型训练请求对应的训练样本集合,训练样本集合包括多个训练图像样本;将训练样本集合切分为多个子训练样本集合,子训练样本集合的数量与目标资源标识的数量一致;根据位置对应关系确定目标资源标识对应的目标安装位置,将子训练样本集合发送至目标安装位置中安装的目标业务处理器,目标业务处理器将子训练样本集合中的训练图像样本输入到待训练的图像处理模型中进行处理,得到处理结果;获取模型损失值,模型损失值是结合各个目标业务处理器所得到的处理结果得到的;基于模型损失值对待训练的图像处理模型进行参数调整,得到已训练的图像处理模型。
上述实施例,服务器触发资源容器基于所分配的业务处理器对待训练的图像处理模型进行参数调整,得到已训练的图像处理模型。能够充分利用各个业务处理器完成大数据的分析运算,各个业务处理器可以并行完成业务处理过程,保证图像处理模型的训练效率。
本申请还提供一种应用场景,该应用场景应用上述的资源分配方法。具体地,如图7所示,该资源分配方法在该应用场景的应用如下:
S702,终端设备基于用户提交资源分配创建操作创建资源分配任务。资源分配任务创建后,会触发向容器分配GPU卡的过程。资源分配任务创建操作中携带GPU卡需求量。
S704,分配中心根据GPU卡需求量判断插件层上报的剩余GPU卡资源是否满足需求量。
S706,如果不能满足,则分配中心向终端设备返回用户资源不足的提示信息。
S708,如果可以满足,则分配中心依据所管控的设备资源信息执行GPU卡的分配流程。具体地,以单机node 8卡、已用4卡为例,插件层会上报node总量是8卡(0-7),已使用4卡(0-3),可用4卡(4-7)。若接收到分配2卡的需求,分配中心会从GPU 4-7里按照顺序筛选出2张卡,假设这2张卡为:GPU4和GPU5,基于GPU4和GPU5的安装位置生成GPU卡序列号。其中,一个GPU卡可以认为是资源分配系统中的一个节点(node)。
S710,分配中心将被分配的GPU卡序列号下发到对应节点的插件层。具体地,分配中心将GPU4和GPU5对应的GPU卡序列号下发到插件层。
S712,在容器启动过程中,插件层将GPU卡序列号在容器内完成绑定,实现GPU卡在容器内的挂载操作。具体地,当容器启动时,插件层将GPU4和GPU5 mount到容器中。
S714,容器被交付使用并基于所分配的GPU卡完成业务处理。具体地,当容器接收到终端设备发送的模型训练请求时,对所挂载的GPU4和GPU5进行访问,以基于GPU4和GPU5完成对应的模型训练过程,得到已训练的模型。
当训练任务结束后,容器内的GPU卡会被分配中心回收,回收的流程由List AndWatch流程触发,被释放的GPU卡会被当成空闲可用的资源上报到分配中心,服务下一次的资源分配需求。
上述实施例,实现GPU卡硬件信息和分配中心的解耦。分配中心基于GPU卡序列号来管理算力资源,通过在分配流程中通过GPU卡序列号来实现算力资源的分配,即使出现了GPU硬件卡更换的情况,分配中心也无需关注旧卡的UUID脏数据,有利于GPU卡资源在算力资源池的流转,提升资源池的易用性和可运营性。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
关于资源分配方法的具体限定可以参见上文中对于资源分配系统的限定,在此不再赘述。
基于与上述实施例中的资源分配方法相同的思想,本申请还提供资源分配装置,该装置可用于执行上述资源分配方法。为了便于说明,资源分配装置实施例的结构示意图中,仅仅示出了与本申请实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在一个实施例中,如图8所示,提供了一种资源分配装置800,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:分配请求接收模块802、资源标识确定模块804和关联关系建立模块806,其中:
分配请求接收模块802,用于接收资源分配请求,所述资源分配请求用于请求为资源容器分配业务处理资源。
资源标识确定模块804,用于响应于所述资源分配请求,从候选资源标识集合中确定所述资源容器对应的目标资源标识;所述候选资源标识集合中的资源标识与业务处理器的安装位置具有位置对应关系。
关联关系建立模块806,用于触发建立所述目标资源标识与所述容器标识对应的资源容器的资源关联关系;其中,所述资源关联关系用于触发所述资源容器在进行业务处理时,根据所述资源关联关系获取所述目标资源标识,根据所述位置对应关系确定所述目标资源标识对应的目标安装位置,调用所述目标安装位置中安装的目标业务处理器对业务数据进行处理。
上述资源分配装置中,在目标安装位置中的业务处理器被替换为目标业务处理器时,目标业务处理器无法被分配至其他的资源容器,而资源容器能基于与目标安装位置的位置对应关系调用到目标业务处理器,进而可以保证业务处理过程中资源使用的有序性。
在一个实施例中,分配请求接收模块,还用于接收资源分配请求,响应于所述资源分配请求,创建所述资源分配请求所对应的资源容器;关联关系建立模块,还用于向资源插件发送分配指示消息,以触发所述资源插件响应于所述分配指示消息,在创建所述资源容器的过程中,建立所述目标资源标识与所述容器标识对应的资源容器的资源关联关系。
在一个实施例中,资源标识确定模块,包括:状态信息接收子模块,用于接收资源插件发送的处理器状态信息;所述处理器状态信息由所述资源插件基于各个安装位置对应的业务处理器的当前分配状态发送,所述处理器状态信息包括所述当前分配状态以及所述安装位置对应的候选资源标识;资源标识确定子模块,用于根据所述候选资源标识对应的当前分配状态,从候选资源标识集合中获取当前分配状态为未分配的候选资源标识,作为所述资源容器对应的目标资源标识。
在一个实施例中,资源标识确定模块,包括:标识集合确定子模块,用于从候选资源标识集合中获取当前分配状态为未分配的候选资源标识,组成中间资源标识集合;亲和度获取子模块,用于获取所述中间资源标识集合中各个候选资源标识对应的业务处理器之间的亲和度;资源标识选取子模块,用于根据所述业务处理器之间的亲和度从所述中间资源标识集合中选取满足亲和度条件的候选资源标识,作为所述资源容器对应的目标资源标识;所述亲和度条件包括亲和度大于亲和度阈值或者亲和度排序在排序阈值之前的至少一个。
在一个实施例中,亲和度获取子模块,包括:拓扑信息获取单元,用于获取所述业务处理器与中央处理器之间的拓扑连接信息;所述中央处理器用于与多个业务处理器连接并对所述业务处理器进行控制;亲和度确定单元,用于根据所述拓扑连接信息确定所述业务处理器之间的亲和度,其中,连接于同一中央处理器的业务处理器之间的亲和度大于连接于不同中央处理器的业务处理器之间的亲和度。
在一个实施例中,所述装置还包括:第一状态切换模块,用于将所述目标资源标识所对应的分配状态由未分配状态切换为中间状态,其中,处于中间状态的资源标识停止进行分配;第二状态切换模块,用于当接收到所述资源插件在建立所述资源关联关系后发送的所述目标资源标识对应的分配完成消息时,确定所述目标资源标识对应的当前分配状态,当所述目标资源标识对应的当前分配状态为中间状态时,将所述目标资源标识所对应的分配状态由中间状态切换为已分配状态。
在一个实施例中,所述目标资源标识为多个;所述装置还包括触发资源容器执行以下步骤的模块:接收模型训练请求,获取所述模型训练请求对应的训练样本集合,所述训练样本集合包括多个训练图像样本;将所述训练样本集合切分为多个子训练样本集合,所述子训练样本集合的数量与所述目标资源标识的数量一致;根据所述位置对应关系确定所述目标资源标识对应的目标安装位置,将所述子训练样本集合发送至所述目标安装位置中安装的目标业务处理器,所述目标业务处理器将所述子训练样本集合中的训练图像样本输入到待训练的图像处理模型中进行处理,得到处理结果;获取模型损失值,所述模型损失值是结合各个所述目标业务处理器所得到的处理结果得到的;基于所述模型损失值对所述待训练的图像处理模型进行参数调整,得到已训练的图像处理模型。
关于资源分配装置的具体限定可以参见上文中对于资源分配方法的限定,在此不再赘述。上述资源分配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储资源关联关系等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种资源分配方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种资源分配系统,其特征在于,所述系统包括:
分配器,用于接收资源分配请求,确定所述资源分配请求所对应的资源容器,从候选资源标识集合中确定所述资源容器对应的目标资源标识;所述候选资源标识集合中的资源标识与业务处理器的安装位置具有位置对应关系;
资源插件,用于接收所述分配器发送的分配指示消息,所述分配指示消息携带所述目标资源标识以及所述资源容器的容器标识,响应于所述分配指示消息,触发建立所述目标资源标识与所述容器标识对应的资源容器的资源关联关系;
所述资源容器,用于在进行业务处理时,根据所述资源关联关系获取所述目标资源标识,根据所述位置对应关系确定所述目标资源标识对应的目标安装位置,调用所述目标安装位置中安装的目标业务处理器对业务数据进行处理。
2.根据权利要求1所述的系统,其特征在于,
所述分配器用于:响应于所述资源分配请求,创建所述资源分配请求所对应的资源容器;
所述资源插件用于:响应于所述分配指示消息,在创建所述资源容器的过程中,触发建立所述目标资源标识与所述容器标识对应的资源容器的资源关联关系。
3.根据权利要求1所述的系统,其特征在于,
所述资源插件用于:
获取各个安装位置对应的资源标识的当前分配状态;
向所述分配器发送处理器状态信息,所述处理器状态信息包括所述当前分配状态以及所述安装位置对应的候选资源标识;
所述分配器用于:
根据所述候选资源标识对应的当前分配状态,从候选资源标识集合中获取当前分配状态为未分配的候选资源标识,作为所述资源容器对应的目标资源标识。
4.根据权利要求3所述的系统,其特征在于,所述处理器状态信息还包括待分配的第一处理器数量;所述分配器用于:
确定所述资源分配请求所对应的第二处理器数量;
当所述第二处理器数量小于或等于所述第一处理器数量时,根据所述候选资源标识对应的当前分配状态,从候选资源标识集合中获取当前分配状态为未分配的候选资源标识,作为所述资源容器对应的目标资源标识。
5.根据权利要求1所述的系统,其特征在于,所述分配器用于:
从候选资源标识集合中获取当前分配状态为未分配的候选资源标识,组成中间资源标识集合;
获取所述中间资源标识集合中各个候选资源标识对应的业务处理器之间的亲和度;
根据所述业务处理器之间的亲和度从所述中间资源标识集合中选取满足亲和度条件的候选资源标识,作为所述资源容器对应的目标资源标识;
所述亲和度条件包括亲和度大于亲和度阈值或者亲和度排序在排序阈值之前的至少一个。
6.根据权利要求5所述的系统,其特征在于,所述分配器用于:
获取所述业务处理器与中央处理器之间的拓扑连接信息;所述中央处理器用于与多个业务处理器连接并对所述业务处理器进行控制;
根据所述拓扑连接信息确定所述业务处理器之间的亲和度,其中,连接于同一中央处理器的业务处理器之间的亲和度大于连接于不同中央处理器的业务处理器之间的亲和度。
7.根据权利要求1所述的系统,其特征在于,
所述分配器用于:将所述目标资源标识所对应的分配状态由未分配状态切换为中间状态,其中,处于中间状态的资源标识停止进行分配;
所述资源插件用于:当建立所述资源关联关系后,向所述分配器发送所述目标资源标识对应的分配完成消息;
所述分配器用于:当接收到所述分配完成消息时,确定所述目标资源标识对应的当前分配状态,当所述目标资源标识对应的当前分配状态为中间状态时,将所述目标资源标识所对应的分配状态由中间状态切换为已分配状态。
8.根据权利要求1所述的系统,其特征在于,所述目标资源标识为多个;所述资源容器用于:
接收模型训练请求,获取所述模型训练请求对应的训练样本集合,所述训练样本集合包括多个训练图像样本;
将所述训练样本集合切分为多个子训练样本集合,所述子训练样本集合的数量与所述目标资源标识的数量一致;
根据所述位置对应关系确定所述目标资源标识对应的目标安装位置,将所述子训练样本集合发送至所述目标安装位置中安装的目标业务处理器,所述目标业务处理器将所述子训练样本集合中的训练图像样本输入到待训练的图像处理模型中进行处理,得到处理结果;
获取模型损失值,所述模型损失值是结合各个所述目标业务处理器所得到的处理结果得到的;
基于所述模型损失值对所述待训练的图像处理模型进行参数调整,得到已训练的图像处理模型。
9.一种资源分配方法,其特征在于,所述方法包括:
接收资源分配请求,所述资源分配请求用于请求为资源容器分配业务处理资源;
响应于所述资源分配请求,从候选资源标识集合中确定所述资源容器对应的目标资源标识;所述候选资源标识集合中的资源标识与业务处理器的安装位置具有位置对应关系;
触发建立所述目标资源标识与所述容器标识对应的资源容器的资源关联关系;
其中,所述资源关联关系用于触发所述资源容器在进行业务处理时,根据所述资源关联关系获取所述目标资源标识,根据所述位置对应关系确定所述目标资源标识对应的目标安装位置,调用所述目标安装位置中安装的目标业务处理器对业务数据进行处理。
10.根据权利要求9所述的方法,其特征在于,所述接收资源分配请求,包括:
接收资源分配请求,响应于所述资源分配请求,创建所述资源分配请求所对应的资源容器;
所述触发建立所述目标资源标识与所述容器标识对应的资源容器的资源关联关系,包括:
向资源插件发送分配指示消息,以触发所述资源插件响应于所述分配指示消息,在创建所述资源容器的过程中,建立所述目标资源标识与所述容器标识对应的资源容器的资源关联关系。
11.根据权利要求9所述的方法,其特征在于,所述响应于所述资源分配请求,从候选资源标识集合中确定所述资源容器对应的目标资源标识,包括:
接收资源插件发送的处理器状态信息;所述处理器状态信息由所述资源插件基于各个安装位置对应的业务处理器的当前分配状态发送,所述处理器状态信息包括所述当前分配状态以及所述安装位置对应的候选资源标识;
根据所述候选资源标识对应的当前分配状态,从候选资源标识集合中获取当前分配状态为未分配的候选资源标识,作为所述资源容器对应的目标资源标识。
12.根据权利要求9所述的方法,其特征在于,所述响应于所述资源分配请求,从候选资源标识集合中确定所述资源容器对应的目标资源标识,包括:
从候选资源标识集合中获取当前分配状态为未分配的候选资源标识,组成中间资源标识集合;
获取所述中间资源标识集合中各个候选资源标识对应的业务处理器之间的亲和度;
根据所述业务处理器之间的亲和度从所述中间资源标识集合中选取满足亲和度条件的候选资源标识,作为所述资源容器对应的目标资源标识;
所述亲和度条件包括亲和度大于亲和度阈值或者亲和度排序在排序阈值之前的至少一个。
13.一种资源分配装置,其特征在于,所述装置包括:
分配请求接收模块,用于接收资源分配请求,所述资源分配请求用于请求为资源容器分配业务处理资源;
资源标识确定模块,用于响应于所述资源分配请求,从候选资源标识集合中确定所述资源容器对应的目标资源标识;所述候选资源标识集合中的资源标识与业务处理器的安装位置具有位置对应关系;
关联关系建立模块,用于触发建立所述目标资源标识与所述容器标识对应的资源容器的资源关联关系;
其中,所述资源关联关系用于触发所述资源容器在进行业务处理时,根据所述资源关联关系获取所述目标资源标识,根据所述位置对应关系确定所述目标资源标识对应的目标安装位置,调用所述目标安装位置中安装的目标业务处理器对业务数据进行处理。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求9至12中任一项所述方法的步骤。
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求9至12中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110387784.8A CN115202856A (zh) | 2021-04-12 | 2021-04-12 | 资源分配系统、方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110387784.8A CN115202856A (zh) | 2021-04-12 | 2021-04-12 | 资源分配系统、方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115202856A true CN115202856A (zh) | 2022-10-18 |
Family
ID=83570982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110387784.8A Pending CN115202856A (zh) | 2021-04-12 | 2021-04-12 | 资源分配系统、方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115202856A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116560861A (zh) * | 2023-07-11 | 2023-08-08 | 苏州浪潮智能科技有限公司 | 资源分配方法、装置、电子设备、存储介质及节点 |
-
2021
- 2021-04-12 CN CN202110387784.8A patent/CN115202856A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116560861A (zh) * | 2023-07-11 | 2023-08-08 | 苏州浪潮智能科技有限公司 | 资源分配方法、装置、电子设备、存储介质及节点 |
CN116560861B (zh) * | 2023-07-11 | 2023-09-29 | 苏州浪潮智能科技有限公司 | 资源分配方法、装置、电子设备、存储介质及节点 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210224101A1 (en) | Method, System and Apparatus for Creating Virtual Machine | |
US10700947B2 (en) | Life cycle management method and device for network service | |
CN108287669B (zh) | 数据存储方法、装置及存储介质 | |
CN112465146B (zh) | 一种量子与经典混合云平台以及任务执行方法 | |
CN114244717B (zh) | 虚拟网卡资源的配置方法、装置、计算机设备及介质 | |
CN114416352A (zh) | 算力资源分配方法、装置、电子设备及储存介质 | |
CN111309440B (zh) | 一种多类型gpu的管理调度的方法和设备 | |
EP3442201A1 (en) | Cloud platform construction method and cloud platform | |
US20190004844A1 (en) | Cloud platform construction method and cloud platform | |
CN113674131A (zh) | 硬件加速器设备管理方法、装置及电子设备和存储介质 | |
CN115033340A (zh) | 一种宿主机的选择方法及相关装置 | |
CN109818880B (zh) | 动态分派工作及提供资源的方法、装置及其系统 | |
CN115118784A (zh) | 算力资源的调度方法、装置及系统 | |
CN115202856A (zh) | 资源分配系统、方法、装置、计算机设备和存储介质 | |
CN113886086A (zh) | 云平台计算资源分配方法、系统、终端及存储介质 | |
CN108667750B (zh) | 虚拟资源管理方法及装置 | |
WO2019034084A1 (zh) | 公共服务资源申请方法、相关设备及系统 | |
CN109005071B (zh) | 一种决策部署方法和调度设备 | |
CN110113217B (zh) | 微服务管理方法、装置、管理平台及存储介质 | |
CN116095007A (zh) | 负载调度方法、装置、计算机设备及存储介质 | |
CN114461149B (zh) | 一种基于K8s的分布式数据存储方法及装置 | |
US11729080B2 (en) | Agentless method to automatically detect low latency groups in containerized infrastructures | |
CN114237902A (zh) | 一种服务部署方法、装置、电子设备及计算机可读介质 | |
CN113691575A (zh) | 通信方法、装置及系统 | |
CN113032141B (zh) | 一种ai平台资源切换方法、系统及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40074967 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |