CN115269130A - 算力资源调度方法与装置、介质及电子设备 - Google Patents

算力资源调度方法与装置、介质及电子设备 Download PDF

Info

Publication number
CN115269130A
CN115269130A CN202110474436.4A CN202110474436A CN115269130A CN 115269130 A CN115269130 A CN 115269130A CN 202110474436 A CN202110474436 A CN 202110474436A CN 115269130 A CN115269130 A CN 115269130A
Authority
CN
China
Prior art keywords
resource
target
name
computing
address information
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
Application number
CN202110474436.4A
Other languages
English (en)
Inventor
查冲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110474436.4A priority Critical patent/CN115269130A/zh
Publication of CN115269130A publication Critical patent/CN115269130A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本公开提供一种算力资源调度方法、装置、介质以及电子设备,涉及云技术领域。该方法包括:接收资源消费端发送的关于算力资源的目标申请请求,目标申请包含关于算力资源的:目标类型和目标规模量;根据目标类型和目标规模量,在与算力资源的地址信息具有映射关系的名字列表中确定出目标名字;将与目标名字具有映射关系的目标算力资源的地址信息发送至资源消费端,以使资源消费端根据目标资源的地址信息获取目标资源。其中,上述算力资源可以以云服务器的方式提供。本公开提供的技术方案能够在一定程度上简化资源消费方在使用算力资源时的操作步骤,同时提升算力资源的的易用程度,有利于优化算力资源使用体验。

Description

算力资源调度方法与装置、介质及电子设备
技术领域
本公开涉及云技术领域,具体而言,涉及一种算力资源调度方法、算力资源调度装置,以及实现上述算力资源调度方法的计算机可读存储介质和电子设备。
背景技术
为了简便高效地将算力资源,例如,GPU(Graphics Processing Unit,图形处理器)资源、CPU(Central Processing Unit,中央处理器)资源等,提供给需要相关资源的应用场景,可以以云服务器的方式实现算力资源的提供。
相关技术中,使用算力资源的一方(资源消费方)在需要相关算力资源时,一般需要进行设备申请步骤、环境部署步骤、调试运行步骤等,在使用算力资源时还中需要不断优化迭代等步骤。可见,在申请使用算力资源时,不同的资源消费方均要经过相同或相似的研发环境部署的操作,操作过程繁琐且重复。
另一方面,在成功申请到相关计算机资源以后,一般将资源列表以地址信息列表的方式提供至资源消费端,则资源消费端需自行管理上述地址信息列表。但是,该方案易用程度较低,导致资源消费方的使用体验不佳。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种算力资源调度方法、算力资源调度装置、电子设备以及计算机可读存储介质,进而在一定程度上简化在使用算力资源时的操作步骤,以及提升算力资源的易用性,从而提升了资源消费端的使用体验。
根据本公开的一个方面,提供一种算力资源调度方法,该方法包括:接收资源消费端发送的关于算力资源的目标申请请求,上述目标申请包含关于算力资源的:目标类型和目标规模量;根据上述目标类型和上述目标规模量,在与算力资源的地址信息具有映射关系的名字列表中确定出目标名字;将与上述目标名字具有映射关系的目标算力资源的地址信息发送至上述资源消费端,以使上述资源消费端根据上述目标资源的地址信息获取上述目标资源。
根据本公开的一个方面,提供一种算力资源调度装置,包括:请求接收模块、名字确定模块以及地址信息发送模块。
其中,上述请求接收模块,被配置为:接收资源消费端发送的关于算力资源的目标申请请求,上述目标申请包含关于算力资源的:目标类型和目标规模量;上述名字确定模块,被配置为:根据上述目标类型和上述目标规模量,在与算力资源的地址信息具有映射关系的名字列表中确定出目标名字;上述地址信息发送模块,被配置为:将与上述目标名字具有映射关系的目标算力资源的地址信息发送至上述资源消费端,以使上述资源消费端根据上述目标资源的地址信息获取上述目标资源。
在示例性的实施例中,基于前述方案,上述装置还包括:名字列表确定模块。
其中,上述名字列表确定模块被配置为:获取关于资源提供端的N个算力设备的资源列表,以得到上述资源列表中第i算力设备的第i地址信息,i为不大于N的正整数,N为正整数;基于名字化服务的接口,根据上述第i算力设备的资源类型,建立上述第i地址信息与第j名字的映射关系,得到包含M个名字的上述名字列表,j为不大于M的正整数,M为正整数,上述第j名字对应于至少一个地址信息。
在示例性的实施例中,基于前述方案,上述装置还包括:名字列表更新模块。
其中,上述名字列表更新模块被配置为:获取上述资源提供端的算力设备的当前资源列表,并确定上述当前资源列表相较于上次获取的资源列表之间的变化信息;基于上述名字化服务的接口,根据上述变化信息更新上述名字列表。
在示例性的实施例中,基于前述方案,上述装置还包括:资源明细信息确定模块。
其中,上述资源明细信息确定模块被配置为:对于包含X个名字的名字列表中的第x名字,获取与上述第x名字具有映射关系的Y个地址信息所对应的Y个资源设备的资源类型和资源规模量,x为不大于X的正整数,y为不大于Y的正整数,X、Y为正整数;以上述第y地址信息为标识缓存第y算力设备对应的资源类型和资源规模量,以确定上述第x名字对应的资源明细信息;以上述第x名字为标识缓存第x名字对应的资源明细信息,以确定上述第x名字对应的资源明细信息,得到上述名字列表对应的资源明细信息。
在示例性的实施例中,基于前述方案,上述名字确定模块,被具体配置为:确定当前的资源明细信息中是否包含上述目标类型的算力资源;在确定当前的资源明细信息中包含上述目标类型的算力资源的情况下,确定当前的资源明细信息中所包含的上述目标类型的当前规模量是否不小于上述目标规模量;在确定上述当前规模量不小于上述目标规模量的情况下,根据上述目标规模量确定上述目标名字。
在示例性的实施例中,基于前述方案,上述装置还包括:建议信息确定模块。
其中,上述建议信息确定模块被配置为:在确定上述当前规模量小于上述目标规模量的情况下,根据上述当前规模量确定第一建议信息,并将上述第一建议信息发送至上述资源消费端;或,在确定当前的资源明细信息中不包含上述目标类型的算力资源的情况下,根据当前的资源明细信息所包含的其他类型的算力资源确定第二建议信息,并将上述第二建议信息发送至上述资源消费端。
在示例性的实施例中,基于前述方案,上述装置还包括:队列管理模块。
其中,上述队列管理模块被配置为:在与算力资源的地址信息具有映射关系的名字列表中确定出目标名字之后,以上述目标名字作为队首,上述目标申请请求入队资源申请请求队列,以通过上述资源申请请求队列管理接收到的多个算力资源申请。
在示例性的实施例中,基于前述方案,上述队列管理模块还被配置为:在上述目标申请请求出队的情况下,获取上述目标名字具有映射关系的目标算力资源的地址信息。
在示例性的实施例中,基于前述方案,上述资源消费端对应于集群;上述地址信息发送模块,被具体配置为:将与上述目标名字具有映射关系的目标算力资源的地址信息广播至上述集群中的每台设备,以使上述集群中每台设备获知上述目标算力资源的通信地址。
在示例性的实施例中,基于前述方案,上述资源消费端对应于CPU集群设备,上述算力资源为GPU算力;上述地址信息发送模块,还被具体配置为:将与上述目标名字具有映射关系的目标GPU算力的地址信息广播至上述CPU集群中的每台设备,以使上述目标GPU算力挂载至上述CPU集群设备;
上述装置还包括:任务执行模块,被配置为:通过上述CPU集群设备和挂载的上述目标GPU算力执行机器学习模型的训练任务。
在示例性的实施例中,基于前述方案,上述任务执行模块,被具体配置为:基于上述CPU集群设备进行数据清洗、序列化处理以确定训练样本;基于上述目标GPU算力,通过上述训练样本训练机器学习模型。
在示例性的实施例中,基于前述方案,上述装置还包括:构建模块。
其中,上述构建模块被配置为:在上述资源提供端,根据网络亲和性、机房亲和性和GPU卡类型中的一种信息或多种信息构建所述GPU算力集群。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意实施例所述的算力资源调度方法。
根据本公开的一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意实施例所述的算力资源调度方法。
根据本公开的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质中读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的算力资源调度方法。
本公开的一示例实施方式所提供的算力资源调度方案,可以应用于分别与申请计算资源的资源消费端与提供计算资源的资源提供端之间具有数据连接的中间服务节点,且中间服务节点处预存储有在与算力资源的地址信息具有映射关系的名字列表。具体地,通过该中间服务节点接收资源消费端发送的关于算力资源的目标申请请求,然后,根据目标申请请求中所需算力资源的类型和规模量,在上述名字列表中确定出目标名字。进一步地,将目标名字具有映射关系的目标算力资源的地址信息发送至资源消费端,以使资源消费端根据所述目标资源的地址信息获取所述目标资源。
可见,本技术方案将算力资源的通信地址进行名字化,进而中间服务节点可以以名字的方式将算力资源列表返回给资源消费端。从而各个资源消费端用户无需亲自管理获取到的资源列表,进而提升了易用程度,优化了算力资源使用体验。同时,能够将算力资源在不同资源消费端进行动态调度,实现算力资源用时挂载及用完解挂,即实现算力资源的即插即用功能。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本公开实施例的一种算力资源调度系统的示意图。
图2示意性示出了根据本公开的一实施例的算力资源调度方法的流程示意图。
图3示意性示出了根据本公开的算力资源调度系统的结构示意图。
图4示意性示出了根据本公开的一实施例的算力资源调度方法的信息交互图。
图5示意性示出了根据本公开的一实施例的资源申请请求的筛选方法的流程图。
图6示意性示出了根据本公开的再一实施例的算力资源调度方法的流程示意图。
图7示出了可以应用本公开一实施例的算力资源调度装置的结构示意图。
图8示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
本技术方案中,集群中的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
业务服务器终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本技术方案提供的算力资源调度系统的使用场景可以是:随着AI(ArtificialIntelligence,人工智能)技术的发展,机器学习模型的应用越来越广泛。而在机器学习模型的训练过程中需要相当大的算力资源,例如:神经网络模型的数据处理,需要使用异构计算。其中,异构计算是指利用CPU(Central Processing Unit,中央处理单元)与GPU的协同计算、APU(Accelerated Processing Units,CPU与GPU的融合)与其他设备(如,FPGA(FieldProgrammable Gate Array,现场可编程逻辑门阵列))的协同计算等,以通过多种计算设备的计算能力从而来提高系统的速度。
本技术方案提供的算力资源调度系统的使用场景还可以是:视频制作公司、直播平台等视频流量高并发且需要对视频进行实时编解码时,通过本技术方案提供算力资源调度系统来获取云服务器中的算力资源,如GPU(Graphic Processing Unit,图像处理单元)的算力。示例性的,通过本技术方案提供的算力资源调度方法来配置GPU算力,可以在保障资源消费端(即模型训练端)对业务流程无感知的情况下,方便快捷地使用GPU算力完成模型训练。其中,上述云服务器可以是区块链网路中的节点。
示例性的,在机器学习模型训练的场景中,相较于GPU算力资源,CPU算力资源数量较多且较易获得。因此,存在多个CPU资源需与分别同一GPU资源相匹配进而共同服务于不同一机器学习模型的训练。但是为了保障训练不同模型时GPU算力的物理隔离,因此,同一GPU算力资源不能够同时与多个CPU算力资源相匹配以同时训练多个机器学习模型。针对上述情况,传统的做法是将CPU算力集群和GPU算力集群部署到同一个资源池中,即对于不同CPU集群使用该同一GPU算力设备时,每次都将GPU设备上架到本CPU算力集群后使用,则存在流程长、耗时久且需要人工介入操作,可运营性差等弊端。
可见,在混用CPU和GPU算力时(如上述AI模型的训练场景),鉴于GPU算力的稀缺性,需要实现GPU算力被多个CPU算力集群动态使用,则CPU算力集群如何方便的获取GPU算力使用、用完归还,而且在使用中保持各CPU集群间的物理隔离性是是急需解决的技术问题。
针对相关技术中存在的上述技术问题,本技术方案提供算力资源调度方法、装置、计算机可读存储介质以及电子设备。具体的,图1示出了可以应用本公开实施例的一种算力资源调度系统的示例性应用环境的系统架构示意图。
如图1所示,算力资源调度系统100可以包括:作为资源消费端的终端设备101、102、103中的一个或多个、作为资源提供端的云服务器105以及布置在资源消费端和资源提供端之间的节点106。其中,网络104用以在资源消费端和节点106之间提供通信链路的介质、网络104还用以在节点106和云服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如节点106可以设置为虚拟节点,云服务器105是多个服务器组成的服务器集群等。
以下对本技术方案提供的算力资源调度方法的实施例进行详细阐述:
图2示意性示出了根据本公开的一实施例的算力资源调度方法的流程图。具体的,本实施例所提供的资源配置方式以布置于资源消费端与资源提供端之间的节点为执行主体。参考图2,该图所示实施例包括:
步骤S210,接收资源消费端发送的关于算力资源的目标申请请求,所述目标申请包含关于算力资源的:目标类型和目标规模量;
步骤S220,根据所述目标类型和所述目标规模量,在与算力资源的地址信息具有映射关系的名字列表中确定出目标名字;以及,
步骤S230,将与所述目标名字具有映射关系的目标算力资源的地址信息发送至所述资源消费端,以使所述资源消费端根据所述目标资源的地址信息获取所述目标资源。
其中,上述算力资源可以包括:GPU算力、CPU算力、现场可编程逻辑门阵列FPGA算力或专用集成电路ASIC(Application Specific Integrated Circuit,专用集成电路)芯片算力等,本技术方案对此不做限定。上述资源消费端可以是任何需要算力资源的终端。
在示例性的实施例中,可以以GPU算力运用至机器学习模型的训练场景为例对本技术方案提供的算力资源调度方案进行解释说明。则具体的,通过本技术方案提供的GPU算力资源调度方案获取GPU算力资源,然后通过获取到的GPU算力资源与既定GPU算力资源的配合以实现机器学习模型的训练。
在机器学习模型训练的场景中,上述资源消费端可以指已具备CPU算力集群且需GPU算力集群的终端。
可见,在图2所示实施例提供的算力资源调度方案中,通过对算力资源进行名字化可以实现算力资源的即插即用。如在机器学习模型训练的场景中,能够通过将GPU算力资源动态嵌入到资源消费端(包含CPU算力集群),从而实现GPU算力资源的用时挂载以及用完解挂,进而有效盘活GPU算力资源的使用。其中,使得GPU算力资源动态嵌入CPU算力集群则可称之为GPU算力资源的即插即用。
在示例性的实施例中,图3示意性示出了根据本公开的一实施例的算力资源调度系统的结构图。参考图3,算力资源调度系统包括:资源消费端(可以包括多个资源消费端)310、资源提供端330,以及布置于资源消费端310与资源提供端330之间的中间服务节点320。示例性的,图4示意性示出了根据本公开的一实施例的算力资源调度方法的时序图。具体为基于图示的算力资源调度系统的算力资源调度方法,以下可以结合图4对图2中各个步骤的具体实施方式进行解释说明。
为了实现图2所示实施例提供的技术方案,参考图3和图4,中间服务节点320通过名字化服务中心322来确定与算力资源的地址信息具有映射关系的名字列表。则示例性的,参考图4中间服务节点320执行步骤S41:获取资源列表中每个算力设备的地址信息。以及执行S42:根据地址信息确定名字列表。
在示例性的实施例中,参考图5,步骤S510和步骤S520可以作为确定名字列表的一种具体实施方式。
在步骤S510中,获取关于资源提供端的N个算力设备的资源列表,以得到所述资源列表中第i算力设备的第i地址信息,i为不大于N的正整数,N为正整数。以及,在步骤S520中,基于名字化服务的接口,根据所述第i算力设备的资源类型,建立所述第i地址信息与第j名字的映射关系,得到包含M个名字的所述名字列表,j为不大于M的正整数,M为正整数,所述第j名字对应于至少一个地址信息。
示例性的,GPU算力集群作为资源提供的提供上述算力资源。具体的,GPU设备初始化的过程中,根据网络亲和性、机房亲和性及GPU卡类型等因素来构建GPU算力集群,以实现同GPU集群的设备网络通信的时延小、且设备的卡类型相同。其中,将相同类型(如上述GPU卡的类型)的设备作为构建算力集群的一种考虑因素,可以有利于将处于同一集群且属于相同类型设备名字化为同一名字,进而在进行名字化之后,便于根据名字对应的资源明细信息来满足不同的算力资源申请请求。
示例性的,属于同一算力集群的N个设备,可以被名字化为M个名字。例如,该算力集群中包含两种卡类型的GPU设备,则可以确定两个名字。当然,不限于将同一资源类型的算力设备名字化为同一名字,还可以基于实际需求根据网络亲和性或机房亲和性进行名字化,本技术方案对此不作限定。
本技术方案中上述中心服务节点能够提供GPU算力资源列表的注册操作。具体的,在GPU算力集群构建时,将GPU算力设备的iplist通过名字化服务的接口完成注册操作。
示例性的,为了保证名字列表的实时性,上述中心服务节点可以多次获取资源提供端的算力设备的当前资源列表,并确定当前资源列表相较于上次获取的资源列表之间的变化信息,进一步地,基于上述名字化服务的接口,根据上述变化信息类更新名字列表。具体的,名字化服务通过定时轮询的方式能够获取GPU算力的资源列表的变动信息,进一步地将变动信息进行更新,从而实现名字类别的状态同步。
本技术方案中,还确定上述名字列表对应的资源明细信息,以基于资源明细信息为接收到的关于算力资源的申请请求来确定出较为合适的名字(具体实施方式将在下述实施例中进行介绍)。因此,参考图3和图4,中间服务节点320通过名字化服务中心322来确定上述名字列表对应的资源明细信息。则示例性的,参考图4中间服务节点320执行步骤S43:获取每个算力资源对应的资源类型和资源规模量。以及执行S44:根据每个算力资源对应的资源类型和资源规模量,确定资源明细信息。
在示例性的实施例中,参考图5,步骤S530、步骤S540以及步骤S550可以作为确定资源明细信息的一种具体实施方式。
在步骤S530中,对于包含X个名字的名字列表中的第x名字,获取与所述第x名字具有映射关系的Y个地址信息所对应的Y个资源设备的资源类型和资源规模量,x为不大于X的正整数,y为不大于Y的正整数,X、Y为正整数。在步骤S540中,以所述第y地址信息为标识缓存第y算力设备对应的资源类型和资源规模量,以确定所述第x名字对应的资源明细信息。以及,在步骤S550中,以所述第x名字为标识缓存第x名字对应的资源明细信息,以确定所述第x名字对应的资源明细信息,得到所述名字列表对应的资源明细信息。
示例性的,假如名字列表中的名字name1与设备a、设备b以及设备c的地址信息具有映射关系。则分别获取设备a、设备b以及设备c的资源类型和资源规模量,并对其进行汇总,即可以得到name1的名字信息。例如,设备a、设备b以及设备c的资源类型同属于类型s,并可以将设备a、设备b以及设备c的资源规模量求和得到总规模量,便得到name1的资源明细信息。示例性的,可以以mane1为标识的方式来缓存该名字对应的资源明细信息。同理,可以得到名字列表中的名字name2、name3……等各个名字的信息。
在示例性的实施例中,为了实现算力资源在不同资源消费端进行动态调度,以及为了满足算力资源被使用时的隔离性,本技术方案采用队列(记作“资源申请请求队列”)的方式管理来自资源消费端的资源申请请求。具体的,对于每个接收到的资源申请请求会被排到队尾等待,并执行pending排队操作。参考图4,本实施例中,资源申请请求队列可以设置于中间服务节点320。当然,资源申请请求队列还可以根据实际需要设置于其他计算节点,本申请对此不做限定。
在示例性的实施例中,参考图4,通过资源申请请求队列的管理模块(队列controller-master 321)实现对资源申请请求的筛选操作以及将满足要求的资源申请请求的入队操作等,则在步骤S45中,将上述名字列表和资源明细信息发送并缓存至队列controller-master 321。接下来对上述各操作的具体实施方式进行介绍:
示例性的,对于资源消费端310步骤S46中发送目标申请请求,中间服务节点320对接收到的目标申请请求通过上述队列controller-master 321实现对上述目标申请请求如下的筛选操作:步骤S47,根据当前的资源明细信息确定当前算力资源是否满足所述目标申请请求。其中,上述“当前算力资源”具体可以指当前可用的算力资源,即在已注册的算力资源中,除去非可用状态(如正在被使用中、维护中等)的资源。
在示例性的实施例中,参考图5,步骤S560及步骤S570可以作为确定当前算力资源是否满足上述目标申请请求的一种具体实施方式,示例性的,若当前算力资源满足上述目标申请请求,则进一步为其分配相关算力资源的名字,若当前算力资源不满足上述目标申请请求,则舍弃当前的资源申请请求并返回相关的建议信息,从而实现对资源申请请求的筛选。
在步骤S560中,判断当前的资源明细信息中是否包含所述目标类型的算力资源。
示例性的,在确定当前的资源明细信息中包含所述目标类型的算力资源的情况下,说明当前算力资源中具有与目标申请请求所要求的资源类型相匹配的资源,则需进一步确定当前算力资源中该资源类型的规模量是否达到目标申请请求的要求,如执行步骤S570,判断当前的资源明细信息中所包含的所述目标类型的当前规模量是否不小于所述目标规模量。
在示例性的实施例中,若在步骤S47中确定当前的资源明细信息确定当前算力资源满足所述目标申请请求。则执行:步骤S50,确定目标申请请求对应的目标名字。
示例性的,在确定所述当前规模量不小于所述目标规模量的情况下,说明当前算力资源中该资源类型的规模量达到目标申请请求的要求,则执行步骤S580,根据所述目标规模量确定所述目标名字。例如,若上述目标申请请求中包含的目标类型为:a型算力资源,目标规模量为“q+w1”,根据资源明细信息确定:name1的资源类型为a、资源规模量为q,name2的资源类型为a、资源规模量为q2,且q2大于q1,则说明当前算力资源能够满足上述目标申请请求。可见,CPU集群(资源消费端)挂载GPU算力资源,每次挂载并不受限一个名字,可依据申请请求中所需的GPU算力规模量,实现多个名字的同时挂载使用。从而有利于提升调度灵活性。
在示例性的实施例中,若在步骤S47中确定当前的资源明细信息确定当前算力资源不能满足所述目标申请请求。则执行:步骤S48,根据当前的资源明细信息和目标申请请求确定建议信息;以及,步骤S49,发送建议信息。
示例性的,在确定所述当前规模量小于所述目标规模量的情况下,说明当前算力资源中虽然存在与目标申请请求所要求的资源类型相匹配的资源,但是该资源类型的规模量未达到目标申请请求的要求,则执行步骤S590,根据所述当前规模量确定第一建议信息,并将所述第一建议信息发送至所述资源消费端。例如,上述目标申请请求中包含的目标类型为:a型算力资源,目标规模量为“q+w1”,根据资源明细信息确定:name1的资源类型为a、资源规模量为q,name2的资源类型为a、资源规模量为q3,且q3小于q1,则根据当前规模量“q+w3”确定第一建议信息(如“建议您将资源类型为a的资源规模量修改为‘q+w3’”),并将所述第一建议信息发送至所述资源消费端,以供资源消费端根据建议信息确定是否再次提出申请请求。
在另一示例性的实施例中,在确定当前的资源明细信息中不包含所述目标类型的算力资源的情况下,说明当前算力资源中不具有与目标申请请求所要求的资源类型相匹配的资源,则无需进一步确定当前算力资源中该资源类型的规模量是否达到目标申请请求的要求。进而执行步骤S5100,根据当前的资源明细信息所包含的其他类型的算力资源确定第二建议信息,并将所述第二建议信息发送至所述资源消费端。如,将当前算力资源所包含的资源类型以及各个类型的规模量作为上述第二建议信息发送至资源消费端。
在示例性的实施例中,在步骤S50中确定目标申请请求对应的目标名字之后,还执行:以目标名字作为队首,入队资源申请请求队列。示例性的,参考图3,队列的队首key是名字化服务的名字,如:“Name1”作为资源消费端“CPU-1-CPU-2…”的队首,“Name2”作为资源消费端“CPU-3-CPU-4…”的队首,“目标名字”作为资源消费端“CPU-x-CPU-y…”的队首,等。且队列的管理方式采用先到先得,新加入的申请请求会被排到队尾等待pending。
进一步地,参考图4,执行步骤S51:出队的目标申请请求发送至名字化服务中心322。执行步骤S52:获取目标名字具有映射关系的目标算力资源的地址信息。示例性的,对于资源消费端“CPU-3-CPU-4…”则可以获取与“Name2”具有映射关系的目标算力资源的地址信息。并执行步骤S53,将目标算力资源的地址信息发送至资源消费端。以使得资源消费端执行步骤S54:根据目标资源的地址信息获取所述目标资源。
示例性的,将与上述目标名字,如“Name2”,具有映射关系的目标算力资源的地址信息(如,GPU-iplist)广播至集群中的每台设备,如CPU-3-CPU-4…,以使所述集群中每台设备获知目标算力资源的通信地址,实现将GPU算力挂载至CPU集群设备,进而基于相关算力资源进行机器学习模型的训练任务等。在执行机器学习模型的训练任务的过程中,可以基于CPU集群设备进行数据清洗、序列化处理以确定训练样本,以及基于GPU算力,通过训练样本训练机器学习模型。
在示例性的实施例中,图6示出了示出了根据本公开的再一实施例的算力资源调度方法的流程示意图。参考图6,包括:
步骤S610:资源消费端发出关于GPU算力资源的额目标申请请求。
步骤S620,Master判断是否满足申请的需求。在满足其中申请的需求的情况下,执行步骤S630-步骤S650。在步骤S630中,入pending队列(如上述资源申请请求队列)。在步骤S640中,访问名字化服务中心。以及在步骤S650中,返回GPU-iplist。在不满足其中申请的需求的情况下,执行步骤S660,向资源消费端返回建议信息。
其中,上述各个步骤的具体实施方式在图4、图5对应的实施例中已经进行了介绍,在此不再赘述。
本技术方案适用于机器学习模型训练场景时混用CPU和GPU算力场景,实现了GPU算力被多个CPU算力集群动态使用,且无需人工介入操作。本技术方案通过增加名字化服务中心,基于名字化服务,将GPU算力集群的资源列表挂载到CPU算力集群,用时挂载、用完解挂。构建出的自动化处理流程支持GPU算力集群动态调度,保障GPU算力物理隔离的同时,盘活GPU算力共享使用,降低了资源调度成本。
同时,本技术方案中资源消费端并不需要直接与提供算力资源的资源提供端提供端进行信息交互,资源消费端的用户无需关注资源提供端相关资源的安装部署、调试运行等运维流程,从而简化了使用算力资源时的操作步骤。同时,资源提供端的资源升级更新等操作对资源消费端透明,即资源消费端无需处理资源提供端运行过程中的问题。
本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由处理器(包含CPU和GPU)执行的计算机程序。在该计算机程序被处理器执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
以下对本技术方案提供的算力资源调度装置进行介绍:
本示例实施方式中提供的一种算力资源调度装置。参考图7所示,该算力资源调度装置700包括:请求接收模块701、名字确定模块702以及地址信息发送模块703。
其中,上述请求接收模块701,被配置为:接收资源消费端发送的关于算力资源的目标申请请求,上述目标申请包含关于算力资源的:目标类型和目标规模量;上述名字确定模块702,被配置为:根据上述目标类型和上述目标规模量,在与算力资源的地址信息具有映射关系的名字列表中确定出目标名字;上述地址信息发送模块703,被配置为:将与上述目标名字具有映射关系的目标算力资源的地址信息发送至上述资源消费端,以使上述资源消费端根据上述目标资源的地址信息获取上述目标资源。
在示例性的实施例中,基于前述方案,上述装置还包括:名字列表确定模块704。
其中,上述名字列表确定模块704被配置为:获取关于资源提供端的N个算力设备的资源列表,以得到上述资源列表中第i算力设备的第i地址信息,i为不大于N的正整数,N为正整数;基于名字化服务的接口,根据上述第i算力设备的资源类型,建立上述第i地址信息与第j名字的映射关系,得到包含M个名字的上述名字列表,j为不大于M的正整数,M为正整数,上述第j名字对应于至少一个地址信息。
在示例性的实施例中,基于前述方案,上述装置还包括:名字列表更新模块705。
其中,上述名字列表更新模块705被配置为:获取上述资源提供端的算力设备的当前资源列表,并确定上述当前资源列表相较于上次获取的资源列表之间的变化信息;基于上述名字化服务的接口,根据上述变化信息更新上述名字列表。
在示例性的实施例中,基于前述方案,上述装置还包括:资源明细信息确定模块706。
其中,上述资源明细信息确定模块706被配置为:对于包含X个名字的名字列表中的第x名字,获取与上述第x名字具有映射关系的Y个地址信息所对应的Y个资源设备的资源类型和资源规模量,x为不大于X的正整数,y为不大于Y的正整数,X、Y为正整数;以上述第y地址信息为标识缓存第y算力设备对应的资源类型和资源规模量,以确定上述第x名字对应的资源明细信息;以上述第x名字为标识缓存第x名字对应的资源明细信息,以确定上述第x名字对应的资源明细信息,得到上述名字列表对应的资源明细信息。
在示例性的实施例中,基于前述方案,上述名字确定模块702,被具体配置为:确定当前的资源明细信息中是否包含上述目标类型的算力资源;在确定当前的资源明细信息中包含上述目标类型的算力资源的情况下,确定当前的资源明细信息中所包含的上述目标类型的当前规模量是否不小于上述目标规模量;在确定上述当前规模量不小于上述目标规模量的情况下,根据上述目标规模量确定上述目标名字。
在示例性的实施例中,基于前述方案,上述装置还包括:建议信息确定模块707。
其中,上述建议信息确定模块707被配置为:在确定上述当前规模量小于上述目标规模量的情况下,根据上述当前规模量确定第一建议信息,并将上述第一建议信息发送至上述资源消费端;或,在确定当前的资源明细信息中不包含上述目标类型的算力资源的情况下,根据当前的资源明细信息所包含的其他类型的算力资源确定第二建议信息,并将上述第二建议信息发送至上述资源消费端。
在示例性的实施例中,基于前述方案,上述装置还包括:队列管理模块708。
其中,上述队列管理模块708被配置为:在与算力资源的地址信息具有映射关系的名字列表中确定出目标名字之后,以上述目标名字作为队首,上述目标申请请求入队资源申请请求队列,以通过上述资源申请请求队列管理接收到的多个算力资源申请。
在示例性的实施例中,基于前述方案,上述队列管理模块708还被配置为:在上述目标申请请求出队的情况下,获取上述目标名字具有映射关系的目标算力资源的地址信息。
在示例性的实施例中,基于前述方案,上述资源消费端对应于集群;上述地址信息发送模块703,被具体配置为:将与上述目标名字具有映射关系的目标算力资源的地址信息广播至上述集群中的每台设备,以使上述集群中每台设备获知上述目标算力资源的通信地址。
在示例性的实施例中,基于前述方案,上述资源消费端对应于CPU集群设备,上述算力资源为GPU算力;上述地址信息发送模块703,还被具体配置为:将与上述目标名字具有映射关系的目标GPU算力的地址信息广播至上述CPU集群中的每台设备,以使上述目标GPU算力挂载至上述CPU集群设备;
上述装置还包括:任务执行模块709,被配置为:通过上述CPU集群设备和挂载的上述目标GPU算力执行机器学习模型的训练任务。
在示例性的实施例中,基于前述方案,上述任务执行模块709,被具体配置为:基于上述CPU集群设备进行数据清洗、序列化处理以确定训练样本;基于上述目标GPU算力,通过上述训练样本训练机器学习模型。
在示例性的实施例中,基于前述方案,上述装置还包括:构建模块710。
其中,上述构建模块710被配置为:在上述资源提供端,根据网络亲和性、机房亲和性和GPU卡类型中的一种信息或多种信息构建所述GPU算力集群。
上述算力资源调度装置中各模块或单元的具体细节已经在对应的算力资源调度方法中进行了详细的描述,因此此处不再赘述。
图8示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图8示出的电子设备的计算机系统800仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括处理器801,其中处理器801可以包含:图形处理单元(Graphics Processing Unit,GPU)、中央处理单元(Central Processing Unit,CPU),其可以根据存储在只读存储器(Read-Only Memory,ROM)802中的程序或者从储存部分808加载到随机访问存储器(Random Access Memory,RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统操作所需的各种程序和数据。处理器(GPU/CPU)801、ROM802以及RAM 803通过总线804彼此相连。输入/输出(Input/Output,I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分807;包括硬盘等的储存部分808;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入储存部分808。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被处理器(GPU/CPU)801执行时,执行本申请的系统中限定的各种功能。在一些实施例中,计算机系统800还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名字在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
例如,所述的电子设备可以实现如图2中所示的:步骤S210,接收资源消费端发送的关于算力资源的目标申请请求,所述目标申请包含关于算力资源的:目标类型和目标规模量;步骤S220,根据所述目标类型和所述目标规模量,在与算力资源的地址信息具有映射关系的名字列表中确定出目标名字;以及,步骤S230,将与所述目标名字具有映射关系的目标算力资源的地址信息发送至所述资源消费端,以使所述资源消费端根据所述目标资源的地址信息获取所述目标资源。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由上面的权利要求指出。应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。

Claims (15)

1.一种算力资源调度方法,其特征在于,所述方法包括:
接收资源消费端发送的关于算力资源的目标申请请求,所述目标申请包含关于算力资源的:目标类型和目标规模量;
根据所述目标类型和所述目标规模量,在与算力资源的地址信息具有映射关系的名字列表中确定出目标名字;
将与所述目标名字具有映射关系的目标算力资源的地址信息发送至所述资源消费端,以使所述资源消费端根据所述目标资源的地址信息获取所述目标资源。
2.根据权利要求1所述的算力资源调度方法,其特征在于,所述方法还包括:
获取关于资源提供端的N个算力设备的资源列表,以得到所述资源列表中第i算力设备的第i地址信息,i为不大于N的正整数,N为正整数;
基于名字化服务的接口,根据所述第i算力设备的资源类型,建立所述第i地址信息与第j名字的映射关系,得到包含M个名字的所述名字列表,j为不大于M的正整数,M为正整数,所述第j名字对应于至少一个地址信息。
3.根据权利要求2所述的算力资源调度方法,其特征在于,所述方法还包括:
获取所述资源提供端的算力设备的当前资源列表,并确定所述当前资源列表相较于上次获取的资源列表之间的变化信息;
基于所述名字化服务的接口,根据所述变化信息更新所述名字列表。
4.根据权利要求1所述的算力资源调度方法,其特征在于,所述方法还包括:
对于包含X个名字的名字列表中的第x名字,获取与所述第x名字具有映射关系的Y个地址信息所对应的Y个资源设备的资源类型和资源规模量,x为不大于X的正整数,y为不大于Y的正整数,X、Y为正整数;
以所述第y地址信息为标识缓存第y算力设备对应的资源类型和资源规模量,以确定所述第x名字对应的资源明细信息;
以所述第x名字为标识缓存第x名字对应的资源明细信息,以确定所述第x名字对应的资源明细信息,得到所述名字列表对应的资源明细信息。
5.根据权利要求4所述的算力资源调度方法,其特征在于,根据所述目标类型和所述目标规模量,在与算力资源的地址信息具有映射关系的名字列表中确定出目标名字,包括:
确定当前的资源明细信息中是否包含所述目标类型的算力资源;
在确定当前的资源明细信息中包含所述目标类型的算力资源的情况下,确定当前的资源明细信息中所包含的所述目标类型的当前规模量是否不小于所述目标规模量;
在确定所述当前规模量不小于所述目标规模量的情况下,根据所述目标规模量确定所述目标名字。
6.根据权利要求5所述的算力资源调度方法,其特征在于,所述方法还包括:
在确定所述当前规模量小于所述目标规模量的情况下,根据所述当前规模量确定第一建议信息,并将所述第一建议信息发送至所述资源消费端;
或,在确定当前的资源明细信息中不包含所述目标类型的算力资源的情况下,根据当前的资源明细信息所包含的其他类型的算力资源确定第二建议信息,并将所述第二建议信息发送至所述资源消费端。
7.根据权利要求1所述的算力资源调度方法,其特征在于,在与算力资源的地址信息具有映射关系的名字列表中确定出目标名字之后,所述方法还包括:
以所述目标名字作为队首,所述目标申请请求入队资源申请请求队列,以通过所述资源申请请求队列管理接收到的多个算力资源申请。
8.根据权利要求7所述的算力资源调度方法,其特征在于,所述方法还包括:
在所述目标申请请求出队的情况下,获取所述目标名字具有映射关系的目标算力资源的地址信息。
9.根据权利要求1所述的算力资源调度方法,其特征在于,所述资源消费端对应于集群;将与所述目标名字具有映射关系的目标算力资源的地址信息发送至所述资源消费端,包括:
将与所述目标名字具有映射关系的目标算力资源的地址信息广播至所述集群中的每台设备,以使所述集群中每台设备获知所述目标算力资源的通信地址。
10.根据权利要求1所述的算力资源调度方法,其特征在于,所述资源消费端对应于CPU集群设备,所述算力资源为GPU算力;将与所述目标名字具有映射关系的目标算力资源的地址信息发送至所述资源消费端,包括:
将与所述目标名字具有映射关系的目标GPU算力的地址信息广播至所述CPU集群设备中的每台设备,以使所述目标GPU算力挂载至所述CPU集群设备;
所述方法还包括:通过所述CPU集群设备和挂载的所述目标GPU算力执行机器学习模型的训练任务。
11.根据权利要求10所述的算力资源调度方法,其特征在于,通过所述CPU集群设备和挂载的所述目标GPU算力执行机器学习模型的训练任务,包括:
基于所述CPU集群设备进行数据清洗、序列化处理以确定训练样本;
基于所述目标GPU算力,通过所述训练样本训练机器学习模型。
12.根据权利要求10所述的算力资源调度方法,其特征在于,所述方法还包括:
在所述资源提供端,根据网络亲和性、机房亲和性和GPU卡类型中的一种信息或多种信息构建所述GPU算力集群。
13.一种算力资源调度装置,其特征在于,所述装置包括:
接收模块,被配置为:接收资源消费端发送的关于算力资源的目标申请请求,所述目标申请包含关于算力资源的:目标类型和目标规模量;
确定模块,被配置为:根据所述目标类型和所述目标规模量,在与算力资源的地址信息具有映射关系的名字列表中确定出目标名字;
发送模块,被配置为:将与所述目标名字具有映射关系的目标算力资源的地址信息发送至所述资源消费端,以使所述资源消费端根据所述目标资源的地址信息获取所述目标资源。
14.一种计算机可读存储介质,其特征在于,其上存储有计算机程序;
所述计算机程序被处理器执行时实现如权利要求1至12中任意一项所述的方法。
15.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至12所述的方法。
CN202110474436.4A 2021-04-29 2021-04-29 算力资源调度方法与装置、介质及电子设备 Pending CN115269130A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110474436.4A CN115269130A (zh) 2021-04-29 2021-04-29 算力资源调度方法与装置、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110474436.4A CN115269130A (zh) 2021-04-29 2021-04-29 算力资源调度方法与装置、介质及电子设备

Publications (1)

Publication Number Publication Date
CN115269130A true CN115269130A (zh) 2022-11-01

Family

ID=83745890

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110474436.4A Pending CN115269130A (zh) 2021-04-29 2021-04-29 算力资源调度方法与装置、介质及电子设备

Country Status (1)

Country Link
CN (1) CN115269130A (zh)

Similar Documents

Publication Publication Date Title
WO2021103479A1 (zh) 用于训练深度学习模型的方法和装置
WO2020258290A1 (zh) 日志数据收集方法、日志数据收集装置、存储介质和日志数据收集系统
CN108052615B (zh) 访问请求的处理方法、装置、介质及电子设备
CN114169427B (zh) 基于端到端自适应的分布式训练方法、装置、设备
CN109117252B (zh) 基于容器的任务处理的方法、系统及容器集群管理系统
CN114020470B (zh) 资源分配方法、装置、可读介质及电子设备
CN113094136A (zh) 页面显示控制方法、装置、存储介质及电子设备
WO2023174013A1 (zh) 显存分配方法、装置、介质及电子设备
CN111580974B (zh) Gpu实例分配方法、装置、电子设备和计算机可读介质
CN111680799A (zh) 用于处理模型参数的方法和装置
CN115237589A (zh) 一种基于sr-iov的虚拟化方法、装置和设备
CN112686528A (zh) 用于分配客服资源的方法、装置、服务器和介质
CN112152879A (zh) 网络质量确定方法、装置、电子设备和可读存储介质
CN112099957B (zh) 资源配置方法、系统、装置以及电子设备
CN115269130A (zh) 算力资源调度方法与装置、介质及电子设备
CN115378937A (zh) 任务的分布式并发方法、装置、设备和可读存储介质
CN111694670B (zh) 资源分配方法、装置、设备和计算机可读介质
CN111694672B (zh) 资源分配方法、任务提交方法、装置、电子设备和介质
CN114020469A (zh) 基于边缘节点的多任务学习方法、装置、介质与设备
CN113792869A (zh) 基于神经网络芯片的视频处理方法、装置和电子设备
CN112148448B (zh) 资源分配方法、装置、设备和计算机可读介质
CN116820354B (zh) 数据存储方法、数据存储装置和数据存储系统
CN115185667B (zh) 可视化应用的加速方法、装置、电子设备和存储介质
CN114385575A (zh) 数据存储系统、数据订阅方法及装置、电子设备
CN116700874A (zh) 一种异步渲染方法、装置、设备及存储介质

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: 40075004

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination