CN113254218A - 模型的资源部署方法、系统、设备及存储介质 - Google Patents
模型的资源部署方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN113254218A CN113254218A CN202110690334.6A CN202110690334A CN113254218A CN 113254218 A CN113254218 A CN 113254218A CN 202110690334 A CN202110690334 A CN 202110690334A CN 113254218 A CN113254218 A CN 113254218A
- Authority
- CN
- China
- Prior art keywords
- resource
- target
- layer
- model
- matching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 5
- 238000013468 resource allocation Methods 0.000 abstract description 11
- 238000007726 management method Methods 0.000 abstract description 2
- 238000012827 research and development Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
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
- G06F9/5038—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 considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及研发管理领域,提供了一种模型的资源部署方法,所述方法包括:获取多个模型和多个资源,每个资源用于所述多个模型中的一个或多个模型;基于所述多个模型和所述多个资源,构建资源消耗图谱;根据所述资源消耗图谱获取多个资源消耗路径,选择所述多个资源消耗路径中路径最短的目标资源消耗路径;及根据所述目标资源消耗路径,为各个模型分别部署所述多个资源中的一个或多个资源。本发明解决了传统模型的独占资源的问题,提高了模型的资源分配效率和资源利用率,降低了资源使用成本。
Description
技术领域
本发明实施例涉及研发管理领域,尤其涉及一种模型的资源部署方法、系统、设备及存储介质。
背景技术
随着人工智能的快速发展,机器学习、深度学习等已经被应用到各个领域中。模型的资源部署为应用中非常重要的一个环节。例如,Facebook就需要部署成千上万的模型,以应对每天10万亿次查询。由于对各个模型的资源分配缺少统一规划,现有模型的资源分配往往会让某个模型独占资源,这样不仅资源利用率不高,还容易造成资源浪费问题。因此,如何解决各个模型的资源分配的问题,从而进一步地提高资源的利用率,成为了当前亟需解决的技术问题。
发明内容
有鉴于此,有必要提供一种模型的资源部署方法、系统、设备及可读存储介质,以解决各个模型的资源分配的问题。
为实现上述目的,本发明实施例提供了一种模型的资源部署方法,所述方法步骤包括:
获取多个模型和多个资源,每个资源用于所述多个模型中的一个或多个模型;
基于所述多个模型和所述多个资源,构建资源消耗图谱;
根据所述资源消耗图谱获取多个资源消耗路径,选择所述多个资源消耗路径中路径最短的目标资源消耗路径;及
根据所述目标资源消耗路径,为各个模型分别部署所述多个资源中的一个或多个资源。
可选的,所述基于所述多个模型和所述多个资源,构建资源消耗图谱的步骤,包括:
获取各个资源的资源信息和各个模型的消耗信息,以得到多个资源信息和多个消耗信息;
根据所述多个资源信息和所述多个消耗信息,确定各个模型在各个资源上所需的资源消耗;及
根据所述各个模型在各个资源上所需的资源消耗,构建所述资源消耗图谱。
可选的,所述根据所述各个模型在各个资源上所需的资源消耗,构建所述资源消耗图谱的步骤,包括:
执行第i次更新操作:将第i-1层的匹配结果中第一资源更新为第二资源,以得到第i-1层中的目标资源;i为正整数,所述i为1时,所述第i-1层的匹配结果为所述多个模型和所述多个资源;所述i为>1时,所述第i-1层的匹配结果为第i-1次匹配操作得到的匹配结果;其中,所述第一资源为资源余额小于预设阈值的资源,所述第二资源为所述第一资源的下一个资源,所述多个目标资源包括所述第二资源和第i-1层的匹配结果中资源余额不小于预设阈值的资源;
执行第i次匹配操作:为所述第i-1层的目标资源匹配目标模型,得到第i层的匹配结果;其中,所述目标模型为所述多个模型中未与所述第i-1层的目标资源匹配过的模型;
判断第i层的匹配结果中是否存在所述第一资源;
若所述第i层的匹配结果中存在所述第一资源,则执行第1+1次更新操作和第1+1次匹配操作;
若所述第i层的匹配结果中不存在所述第一资源,则不执行第1+1次更新操作和第1+1次匹配操作,并根据第1层到第i层的i个匹配结果构建具有i层结构的资源消耗图谱。
可选的,所述将第i-1层的匹配结果中第一资源更新为第二资源,以得到第i-1层中的目标资源的步骤,包括:
判断所述第一资源是否为所述多个资源中的最后一个资源;
若所述第一资源是所述多个资源中的最后一个资源,则不将所述第一资源更新为第二资源。
可选的,所述为所述第i-1层的目标资源匹配目标模型,得到第i层的匹配结果的步骤,包括:
判断所述多个模型中是否存在未与所述第i-1层的目标资源匹配过的模型;
若所述多个模型中不存在未与所述第i-1层的目标资源匹配过的模型,则不执行对所述第i-1层的目标资源的匹配操作。
可选的,所述根据第1层到第i层的i个匹配结果构建具有i层结构的资源消耗图谱的步骤,包括:
获取每层匹配结果中各个资源与各个模型的匹配关系,以得到多个匹配关系;
根据所述多个匹配关系生成多个匹配顶点,其中,每个匹配关系对应一个匹配顶点;
获取每层匹配结果的各个资源与其他层匹配结果的各个资源之间的更新关系,以得到多个更新关系,其中,同层之间的各个资源不存在更新关系;
根据多个更新关系连接各个匹配顶点,以得到多条资源消耗关系链,其中,所述多条资源消耗关系链中包括至少一条具有i层结构的资源消耗关系链;
将各条资源消耗关系链的第1层中的匹配顶点与预设的目标顶点进行连接,以生成所述资源消耗图谱。
可选的,每条资源消耗关系链对应一个资源消耗路径,同一条资源消耗关系链中的各个匹配顶点之间具有关联关系;所述根据所述资源消耗图谱获取多个资源消耗路径,选择所述多个资源消耗路径中路径最短的目标资源消耗路径的步骤,包括:
获取所述目标顶点;
基于所述目标顶点创建第1个目标集合;
基于其他顶点创建第1个其他集合,所述其他顶点为与所述目标顶点具有关联关系的顶点;
执行第j次选择操作:从所述第j个其他集合中选择第j层中与所述目标顶点距离最近的其他顶点,并将与所述目标顶点距离最近的其他顶点添加到所述第j个目标集合,以得到第j+1个目标集合,j为正整数;
执行第j次移除操作:从所述第j个其他集合中移除与所述目标顶点距离最近的其他顶点,以得到第j+1个其他集合,并更新所述第j+1个其他集合中各个其他顶点到所述第j+1个目标集合中各个目标顶点的距离;
判断所述第j+1个其他集合的第j+1层顶点中的是否存在匹配顶点;
若所述第j+1个其他集合的第j+1层顶点中的存在匹配顶点,则继续执行第j+2次选择操作和第j+2次移除操作;
若所述第j+1个其他集合的第j+1层顶点中的不存在匹配顶点,则不执行第j+2次选择操作和第j+2次移除操作,并从所述第j+1个目标集合中获取所述目标资源消耗路径,以将所述目标资源消耗路径上传到区块链。
为实现上述目的,本发明实施例还提供了一种模型的资源部署系统,包括:
第一获取模块,用于获取多个模型和多个资源,每个资源用于所述多个模型中的一个或多个模型;
图谱构建模块,用于基于所述多个模型和所述多个资源,构建资源消耗图谱;
第二获取模块,用于根据所述资源消耗图谱获取多个资源消耗路径,选择所述多个资源消耗路径中路径最短的目标资源消耗路径;及
资源部署模块,用于根据所述目标资源消耗路径,为各个模型分别部署所述多个资源中的一个或多个资源。
为实现上述目的,本发明实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现如上述的模型的资源部署方法的步骤。
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上述的模型的资源部署方法的步骤。
本发明实施例提供的模型的资源部署方法、系统、计算机设备及计算机可读存储介质,根据服务器当前所拥有的所有资源和模型一一对应地计算出所有的部署组合和资源消耗情况,根据各个模型在各个资源上所需的资源消耗构建资源消耗图谱,并从所述资源消耗图谱寻找资源消耗最短路径,解决了传统的部署模型独占资源的问题,提高了模型的资源分配效率和资源利用率,降低了资源使用成本。
附图说明
图1为本发明实施例模型的资源部署方法的流程示意图。
图2为本发明实施例一的资源消耗图谱的示意图。
图3为本发明模型的资源部署系统实施例二的程序模块示意图。
图4为本发明计算机设备实施例三的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
实施例一
参阅图1,示出了本发明实施例之模型的资源部署方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。本实施例中的模型的资源部署方法可以被执行在计算机设备2中,下面以计算机设备2为执行主体进行示例性描述。具体如下。
步骤S100,获取多个模型和多个资源,每个资源用于所述多个模型中的一个或多个模型。
所述多个模型包括模型S1,模型S2,…,模型Sn,其中,数字1~n可以用于表示各个模型的先后顺序,所述多个资源包括资源T1,资源T2,…,资源Tm,其中,数字1~m可以用于表示各个资源的先后顺序。其中,各个模型均为部署在服务器上的模型,用于为服务器提供推断、查询等服务,各个资源均为所述服务器上当前可用的计算资源。
需要说明的是,服务器可以为各个模型分配对应的资源(所述资源包括GPU资源和在CPU资源等),以通过各个模型为外部提供计算或者应用服务,如推断、查询等服务。以Facebook为例,Facebook需要通过大量不同的模型去支持每天10万亿次推断查询,若保证正常运行,需要为每个模型S分配给对应的资源。
步骤S102,基于所述多个模型和所述多个资源,构建资源消耗图谱。
本申请人发现,由于服务器对各个模型的资源分配缺少统一规划,模型的资源分配往往会让某个模型独占资源,这样不仅资源利用率不高,还容易造成资源浪费问题。为了解决上述问题本实施例通过构建资源消耗图谱的方式,并基于所述资源消耗图谱实现对各个模型的进行合理的资源分配;其中,构建所述资源消耗图谱的步骤如下:
在示例性的实施例中,所述步骤S102还包括步骤S200~步骤S204,其中:步骤S200,获取各个资源的资源信息和各个模型的消耗信息,以得到多个资源信息和多个消耗信息;步骤S202,根据所述多个资源信息和所述多个消耗信息,确定各个模型在各个资源上所需的资源消耗;及步骤S204,根据所述各个模型在各个资源上所需的资源消耗,构建所述资源消耗图谱。本实施例通过计算各个模型在各个资源上所需的资源消耗,并根据各个资源消耗构建资源消耗图谱,提高了资源消耗图谱的构建效率和图谱合理性。
所述资源信息包括该计算资源的算力信息、存储信息、内存信息等。所述消耗信息包括执行模型对应的服务时所需的算力信息、存储信息、内存信息等。由于,不同的计算资源的算力、存储、内存等是不同,而不同一模型部署不同的在不同的计算资源上的所需消耗的资源也是不同的,所以各个模型所需的资源消耗,需要根据对应的计算资源进行计算。例如,模型S1在计算资源T1上所需的资源消耗为C(S1,T1)。
当得到所述各个计算资源的资源信息和所述各个模型在各个计算资源时,本实施例可以根据所述各个计算资源的资源信息、所述各个模型的消耗信息以及所述各个模型在各个计算资源上所需的消耗信息,构建所述资源消耗图谱。
在示例性的实施例中,所述多个模型包括模型S1,模型S2,…,模型Sn,其中,数字1~n用于表示各个模型的先后顺序,所述多个资源包括资源T1,资源T2,…,资源Tm,其中,数字1~m用于表示各个资源的先后顺序。所述步骤S204还包括步骤S300~步骤S308,其中:步骤S300,执行第i次更新操作:将第i-1层的匹配结果中第一资源更新为第二资源,以得到第i-1层中的目标资源;i为正整数,所述i为1时,所述第i-1层的匹配结果为所述多个模型和所述多个资源;所述i为>1时,所述第i-1层的匹配结果为第i-1次匹配操作得到的匹配结果;其中,所述第一资源为资源余额小于预设阈值的资源,所述第二资源为所述第一资源的下一个资源,所述多个目标资源包括所述第二资源和第i-1层的匹配结果中资源余额不小于预设阈值的资源;步骤S302,执行第i次匹配操作:为所述第i-1层的目标资源匹配目标模型,得到第i层的匹配结果;其中,所述目标模型为所述多个模型中未与所述第i-1层的目标资源匹配过的模型;步骤S304,判断第i层的匹配结果中是否存在所述第一资源;步骤S306,若所述第i层的匹配结果中存在所述第一资源,则执行第1+1次更新操作和第1+1次匹配操作;步骤S308,若所述第i层的匹配结果中不存在所述第一资源,则不执行第1+1次更新操作和第1+1次匹配操作,并根据第1层到第i层的i个匹配结果构建具有i层结构的资源消耗图谱。本实施例通过重复执行更新操作和匹配操作,直至历遍所有模型和所有资源,确保了所述资源消耗图谱的完整性,提高了资源分配的准确率。
所述资源余额为资源当前可用的计算资源,例如,所述资源T1的C(T1),模型S1在资源T1上所需的资源消耗为C(S1,T1),那么当执行第1次更新操作时,模型S1选择了资源T1承担计算,那么,资源T1的资源余额为C(T1)-C(S1,T1)。所述预设阈值可以是0,即,当资源Tj的剩余量C(Tj)-C(Si,Tj)大于0(即,所述资源T1还可用于承担除模型S1之外的模型的计算服务),则服务器不用对资源T1执行更新操作,该资源T1可以参与第二次匹配操作。
在示例性的实施例中,所述步骤S300还包括步骤S400~步骤S402,其中:步骤S500,判断所述第一资源是否为所述多个资源中的最后一个资源;步骤S502,若所述第一资源是所述多个资源中的最后一个资源,则不将所述第一资源更新为第二资源。为了避免出现无限循环执行更新操作和匹配操作的问题,本实施通过判断所述第一资源是否为所述多个资源中最后一个资源,确定是否结束更新操作和匹配操作,提供了所述资源消耗图谱的配置效率。
在示例性的实施例中,所述步骤S302还包括步骤S500~步骤S502,其中:步骤S500,判断所述多个模型中是否存在未与所述第i-1层的目标资源匹配过的模型;步骤S502,若所述多个模型中不存在未与所述第i-1层的目标资源匹配过的模型,则不执行对所述第i-1层的目标资源的匹配操作。为了避免出现无限循环执行更新操作和匹配操作的问题,本实施通过判断所述多个模型中是否存在未与所述第i-1层的目标资源匹配过的模型,确定是否结束更新操作和匹配操作,提供了所述资源消耗图谱的配置效率。
在示例性的实施例中,所述步骤S308还包括步骤S600~步骤S608,其中:步骤S600,获取每层匹配结果中各个资源与各个模型的匹配关系,以得到多个匹配关系;步骤S602,根据所述多个匹配关系生成多个匹配顶点,其中,每个匹配关系对应的一个匹配顶点;步骤S604,获取每层匹配结果的各个资源与其他层匹配结果的各个资源之间的更新关系,以得到多个更新关系,其中,同层之间的各个资源不存在更新关系;步骤S606,根据多个更新关系连接各个匹配顶点,以得到多条资源消耗关系链,其中,所述多条资源消耗关系链中包括至少一条具有i层结构的资源消耗关系链;步骤S608,将各条资源消耗关系链的第1层中的匹配顶点与预设的目标顶点进行连接,以生成所述资源消耗图谱。
为了方便理解,如图2所示,本实施例还提供了一个资源消耗图谱的示意图。
其中,图2是由m个资源和n个模型构成的部分资源消耗图谱,所述资源消耗图谱的包括i层结构,在图2中每层中的每个匹配顶点用于表示一个资源消耗状态,每经过一个层表示一个模型Si选择了一个对应的资源Tj,例如:
第1层中第一个匹配顶点用于表示:模型S1在资源T1上所需的资源消耗为C(S1,T1);即,第一步中S1选择了T1承担计算;
第1层中最后一个匹配顶点用于表示:模型Sn在计算资源Tm上所需的资源消耗为C(Sn,Tm)。即,第一步中Sn选择了Tm承担计算。
第2层第一个匹配顶点用于表示:模型S2在资源T1上所需的资源消耗或模型S2在资源T2上所需的资源消耗,其中,第2层的m2 , 1×(n-1),m的上标2表示资源T2,m的上标1表示资源T1。由于不确定第1层的资源T1是否耗尽,所以第2层的资源可能是资源T1或其他任意一个资源。
步骤S104,根据所述资源消耗图谱获取多个资源消耗路径,选择所述多个资源消耗路径中路径最短的目标资源消耗路径。
在本实施例中,每个资源消耗路径可以对应一条资源消耗关系链,从所述资源消耗图谱获取目标资源消耗路径,可以基于多条资源消耗关系链获取所述目标资源消耗路径,所述目标资源消耗路径为所述资源消耗图谱的多个资源消耗路径中最短资源消耗路径。
所述目标资源消耗路径为最小计算资源消耗量所对应的耗路路径,即,所述资源消耗图谱中从起始状态(起点)到终点状态(终点)的最短资源消耗路径。其中,在所述资源消耗图谱中各个匹配顶点之间的路径距离可以用于表示对应的各个资源消耗量。
当得到所述资源消耗图谱之后,本实施例可以通过所述最短路径算法从所述资源消耗图谱寻找最短路线图,该最短路线图对应于最小计算资源消耗量。其中,所述最短路径算法可以是迪杰斯特拉(Dijkstra)算法。
在示例性的实施例中,每条资源消耗关系链对应一个资源消耗路径,同一条资源消耗关系链中的各个匹配顶点之间具有关联关系;所述步骤S104还包括步骤S700~步骤S714,其中:步骤S700,获取所述目标顶点;步骤S702,基于所述目标顶点创建第1个目标集合;步骤S704,基于其他顶点创建第1个其他集合,所述其他顶点为与所述目标顶点具有关联关系的顶点;步骤S706,执行第j次选择操作:从所述第j个其他集合中选择第j层中与所述目标顶点距离最近的其他顶点,并将与所述目标顶点距离最近的其他顶点添加到所述第j个目标集合,以得到第j+1个目标集合,j为正整数;步骤S708,执行第j次移除操作:从所述第j个其他集合中移除与所述目标顶点距离最近的其他顶点,以得到第j+1个其他集合,并更新所述第j+1个其他集合中各个其他顶点到所述第j+1个目标集合中各个目标顶点的距离;步骤S710,判断所述第j+1个其他集合的第j+1层顶点中的是否存在匹配顶点;步骤S712,若所述第j+1个其他集合的第j+1层顶点中的存在匹配顶点,则执行第j+2次选择操作和第j+2次移除操作;步骤S714,若所述第j+1个其他集合的第j+1层顶点中的不存在匹配顶点,则不执行第j+2次选择操作和第j+2次移除操作,并从所述第j+1个目标集合中获取所述目标资源消耗路径,以将所述目标资源消耗路径上传到区块链。本实施例通过计算各个匹配顶点之间的路径距离,并通过迪杰斯特拉(Dijkstra)算法从所述资源消耗图谱获取目标资源消耗路径,提高了模型资源的分配合理性。为了方便了理解本实施例提供了一个通过所述迪杰斯特拉(Dijkstra)算法计算所述资源消耗图谱的最短资源消耗路径的具体实例:
步骤1:根据所述资源消耗图谱创建第一集合V和第一集合U,其中,所述第一集合V包括所述预设的目标顶点v(起点),所述第一集合U包括所述资源消耗画像中除所述目标顶点v之外的其他顶点。
步骤2:从所述第一集合U中第1层的各个顶点中选择与目标顶点v距离最短的顶点k。
其中,所述顶点k与所述目标顶点v相邻,且所述顶点k与所述目标顶点v之间的距离小于所述第一集合U中各个顶点与所述目标顶点v之间的距离。例如,第一集合U中顶点p的距离为(v,p)的长度,若v和p不相邻,则距离为无穷大。
步骤3:将所述顶点k加入到所述第一集合V,得到第二集合V,并将所述顶点k从所述第一集合U中移除,得到第二集合U。
步骤4:更新所述第二集合U中各个顶点到所述第二集合V的目标顶点v的距离。
由于步骤4中找出k是最近顶点并将它加入了集合V中,那么与顶点k连接的其他顶点,在k加入集合V之前是无穷大,在k加入之后便可以连通,此时要在U中更新距离,另一方面,对于V中已存在点其对应最短距离,在加入了顶点k之后,也可能会改变,例如,(v,p)的距离可能大于(v,k)+(k,p)的距离,因此也需要更新。
重复步骤2、3、4,直到遍历完所有顶点。其中,从集合V中找到终点所对应的最短距离,即为最小资源消耗量。
示例性的,将所述目标操作策略上传至区块链可保证其安全性和公正透明性。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
步骤S106,根据所述目标资源消耗路径,部署各个模型对应的资源。
本实施例根据服务器当前所拥有的所有资源和模型一一对应地计算出所有的部署组合和资源消耗情况,以根据各个模型在各个资源上所需的资源消耗构建资源消耗图谱,并从所述资源消耗图谱寻找资源消耗最短路径,解决了传统的模型独占资源的问题,提高了模型的资源分配效率和资源利用率,降低了资源使用成本。
实施例二
图3为本发明模型的资源部署系统实施例二的程序模块示意图。模型的资源部署系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述模型的资源部署方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述模型的资源部署系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
第一获取模块200,用于获取多个模型和多个资源,每个资源用于所述多个模型中的一个或多个模型;
图谱构建模块202,用于基于所述多个模型和所述多个资源,构建资源消耗图谱;
第二获取模块204,用于根据所述资源消耗图谱获取多个资源消耗路径,选择所述多个资源消耗路径中路径最短的目标资源消耗路径;及
资源部署模块206,用于根据所述目标资源消耗路径,为各个模型分别部署所述多个资源中的一个或多个资源。
示例性的,所述图谱构建模块202,还用于:获取各个资源的资源信息和各个模型的消耗信息,以得到多个资源信息和多个消耗信息;根据所述多个资源信息和所述多个消耗信息,确定各个模型在各个资源上所需的资源消耗;及根据所述各个模型在各个资源上所需的资源消耗,构建所述资源消耗图谱。
示例性的,所述图谱构建模块202,还用于:执行第i次更新操作:将第i-1层的匹配结果中第一资源更新为第二资源,以得到第i-1层中的目标资源;i为正整数,所述i为1时,所述第i-1层的匹配结果为所述多个模型和所述多个资源;所述i为>1时,所述第i-1层的匹配结果为第i-1次匹配操作得到的匹配结果;其中,所述第一资源为资源余额小于预设阈值的资源,所述第二资源为所述第一资源的下一个资源,所述多个目标资源包括所述第二资源和第i-1层的匹配结果中资源余额不小于预设阈值的资源;执行第i次匹配操作:为所述第i-1层的目标资源匹配目标模型,得到第i层的匹配结果;其中,所述目标模型为所述多个模型中未与所述第i-1层的目标资源匹配过的模型;判断第i层的匹配结果中是否存在所述第一资源;若所述第i层的匹配结果中存在所述第一资源,则执行第1+1次更新操作和第1+1次匹配操作;若所述第i层的匹配结果中不存在所述第一资源,则不执行第1+1次更新操作和第1+1次匹配操作,并根据第1层到第i层的i个匹配结果构建具有i层结构的资源消耗图谱。
示例性的,所述图谱构建模块202,还用于:判断所述第一资源是否为所述多个资源中的最后一个资源;若所述第一资源是所述多个资源中的最后一个资源,则不将所述第一资源更新为第二资源。
示例性的,所述图谱构建模块202,还用于:判断所述多个模型中是否存在未与所述第i-1层的目标资源匹配过的模型;若所述多个模型中不存在未与所述第i-1层的目标资源匹配过的模型,则不执行对所述第i-1层的目标资源的匹配操作。
示例性的,所述图谱构建模块202,还用于:获取每层匹配结果中各个资源与各个模型的匹配关系,以得到多个匹配关系;根据所述多个匹配关系生成多个匹配顶点,其中,每个匹配关系对应一个匹配顶点;获取每层匹配结果的各个资源与其他层匹配结果的各个资源之间的更新关系,以得到多个更新关系,其中,同层之间的各个资源不存在更新关系;根据多个更新关系连接各个匹配顶点,以得到多条资源消耗关系链,其中,所述多条资源消耗关系链中包括至少一条具有i层结构的资源消耗关系链;将各条资源消耗关系链的第1层中的匹配顶点与预设的目标顶点进行连接,以生成所述资源消耗图谱。
示例性的,每条资源消耗关系链对应一个资源消耗路径,同一条资源消耗关系链中的各个匹配顶点之间具有关联关系;所述第二获取模块204,还用于:获取所述目标顶点;基于所述目标顶点创建第1个目标集合;基于其他顶点创建第1个其他集合,所述其他顶点为与所述目标顶点具有关联关系的顶点;执行第j次选择操作:从所述第j个其他集合中选择第j层中与所述目标顶点距离最近的其他顶点,并将与所述目标顶点距离最近的其他顶点添加到所述第j个目标集合,以得到第j+1个目标集合,j为正整数;执行第j次移除操作:从所述第j个其他集合中移除与所述目标顶点距离最近的其他顶点,以得到第j+1个其他集合,并更新所述第j+1个其他集合中各个其他顶点到所述第j+1个目标集合中各个目标顶点的距离;判断所述第j+1个其他集合的第j+1层顶点中的是否存在匹配顶点;若所述第j+1个其他集合的第j+1层顶点中的存在匹配顶点,则执行第j+2次选择操作和第j+2次移除操作;若所述第j+1个其他集合的第j+1层顶点中的不存在匹配顶点,则不执行第j+2次选择操作和第j+2次移除操作,并从所述第j+1个目标集合中获取所述目标资源消耗路径,以将所述目标资源消耗路径上传到区块链。
实施例三
参阅图4,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图所示,计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及模型的资源部署系统20。
本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如实施例二的模型的资源部署系统20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行模型的资源部署系统20,以实现实施例一的模型的资源部署方法。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在计算机设备2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将计算机设备2与外部终端相连,在计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communicatI/On,GSM)、宽带码分多址(Wideband CodeDivisI/On Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图4仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的模型的资源部署系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
例如,图3示出了本发明实施例二之所述实现模型的资源部署系统20的程序模块示意图,该实施例中,所述模型的资源部署系统20可以被划分为第一获取模块200、图谱构建模块202、第二获取模块204和资源部署模块206。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述模型的资源部署系统20在计算机设备2中的执行过程。所述程序模块200-206的具体功能在实施例二中已有详细描述,在此不再赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于模型的资源部署系统20,被处理器执行时实现实施例一的模型的资源部署方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种模型的资源部署方法,其特征在于,所述方法包括:
获取多个模型和多个资源,每个资源用于所述多个模型中的一个或多个模型;
基于所述多个模型和所述多个资源,构建资源消耗图谱;
根据所述资源消耗图谱获取多个资源消耗路径,选择所述多个资源消耗路径中路径最短的目标资源消耗路径;及
根据所述目标资源消耗路径,为各个模型分别部署所述多个资源中的一个或多个资源。
2.如权利要求1所述的模型的资源部署方法,其特征在于,所述基于所述多个模型和所述多个资源,构建资源消耗图谱的步骤,包括:
获取各个资源的资源信息和各个模型的消耗信息,以得到多个资源信息和多个消耗信息;
根据所述多个资源信息和所述多个消耗信息,确定各个模型在各个资源上所需的资源消耗;及
根据所述各个模型在各个资源上所需的资源消耗,构建所述资源消耗图谱。
3.如权利要求2所述的模型的资源部署方法,其特征在于,所述根据所述各个模型在各个资源上所需的资源消耗,构建所述资源消耗图谱的步骤,包括:
执行第i次更新操作:将第i-1层的匹配结果中第一资源更新为第二资源,以得到第i-1层中的目标资源;i为正整数,所述i为1时,所述第i-1层的匹配结果为所述多个模型和所述多个资源;所述i为>1时,所述第i-1层的匹配结果为第i-1次匹配操作得到的匹配结果;其中,所述第一资源为资源余额小于预设阈值的资源,所述第二资源为所述第一资源的下一个资源,所述多个目标资源包括所述第二资源和第i-1层的匹配结果中资源余额不小于预设阈值的资源;
执行第i次匹配操作:为所述第i-1层的目标资源匹配目标模型,得到第i层的匹配结果;其中,所述目标模型为所述多个模型中未与所述第i-1层的目标资源匹配过的模型;
判断第i层的匹配结果中是否存在所述第一资源;
若所述第i层的匹配结果中存在所述第一资源,则执行第1+1次更新操作和第1+1次匹配操作;
若所述第i层的匹配结果中不存在所述第一资源,则不执行第1+1次更新操作和第1+1次匹配操作,并根据第1层到第i层的i个匹配结果构建具有i层结构的资源消耗图谱。
4.如权利要求3所述的模型的资源部署方法,其特征在于,所述将第i-1层的匹配结果中第一资源更新为第二资源,以得到第i-1层中的目标资源的步骤,包括:
判断所述第一资源是否为所述多个资源中的最后一个资源;
若所述第一资源是所述多个资源中的最后一个资源,则不将所述第一资源更新为第二资源。
5.如权利要求3所述的模型的资源部署方法,其特征在于,所述为所述第i-1层的目标资源匹配目标模型,得到第i层的匹配结果的步骤,包括:
判断所述多个模型中是否存在未与所述第i-1层的目标资源匹配过的模型;
若所述多个模型中不存在未与所述第i-1层的目标资源匹配过的模型,则不执行对所述第i-1层的目标资源的匹配操作。
6.如权利要求3所述的模型的资源部署方法,其特征在于,所述根据第1层到第i层的i个匹配结果构建具有i层结构的资源消耗图谱的步骤,包括:
获取每层匹配结果中各个资源与各个模型的匹配关系,以得到多个匹配关系;
根据所述多个匹配关系生成多个匹配顶点,其中,每个匹配关系对应一个匹配顶点;
获取每层匹配结果的各个资源与其他层匹配结果的各个资源之间的更新关系,以得到多个更新关系,其中,同层之间的各个资源不存在更新关系;
根据多个更新关系连接各个匹配顶点,以得到多条资源消耗关系链,其中,所述多条资源消耗关系链中包括至少一条具有i层结构的资源消耗关系链;
将各条资源消耗关系链的第1层中的匹配顶点与预设的目标顶点进行连接,以生成所述资源消耗图谱。
7.如权利要求6所述的模型的资源部署方法,其特征在于,每条资源消耗关系链对应一个资源消耗路径,同一条资源消耗关系链中的各个匹配顶点之间具有关联关系;所述根据所述资源消耗图谱获取多个资源消耗路径,选择所述多个资源消耗路径中路径最短的目标资源消耗路径的步骤,包括:
获取所述目标顶点;
基于所述目标顶点创建第1个目标集合;
基于其他顶点创建第1个其他集合,所述其他顶点为与所述目标顶点具有关联关系的顶点;
执行第j次选择操作:从所述第j个其他集合中选择第j层中与所述目标顶点距离最近的其他顶点,并将与所述目标顶点距离最近的其他顶点添加到所述第j个目标集合,以得到第j+1个目标集合,j为正整数;
执行第j次移除操作:从所述第j个其他集合中移除与所述目标顶点距离最近的其他顶点,以得到第j+1个其他集合,并更新所述第j+1个其他集合中各个其他顶点到所述第j+1个目标集合中各个目标顶点的距离;
判断所述第j+1个其他集合的第j+1层顶点中的是否存在匹配顶点;
若所述第j+1个其他集合的第j+1层顶点中的存在匹配顶点,则执行第j+2次选择操作和第j+2次移除操作;
若所述第j+1个其他集合的第j+1层顶点中的不存在匹配顶点,则不执行第j+2次选择操作和第j+2次移除操作,并从所述第j+1个目标集合中获取所述目标资源消耗路径,以将所述目标资源消耗路径上传到区块链。
8.一种模型的资源部署系统,其特征在于,包括:
第一获取模块,用于获取多个模型和多个资源,每个资源用于所述多个模型中的一个或多个模型;
图谱构建模块,用于基于所述多个模型和所述多个资源,构建资源消耗图谱;
第二获取模块,用于根据所述资源消耗图谱获取多个资源消耗路径,选择所述多个资源消耗路径中路径最短的目标资源消耗路径;及
资源部署模块,用于根据所述目标资源消耗路径,为各个模型分别部署所述多个资源中的一个或多个资源。
9.一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的模型的资源部署方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1至7中任一项所述的模型的资源部署方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110690334.6A CN113254218B (zh) | 2021-06-22 | 模型的资源部署方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110690334.6A CN113254218B (zh) | 2021-06-22 | 模型的资源部署方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113254218A true CN113254218A (zh) | 2021-08-13 |
CN113254218B CN113254218B (zh) | 2024-07-16 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113872850A (zh) * | 2021-09-27 | 2021-12-31 | 东莞市亚太未来软件有限公司 | 一种实时通讯方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120209652A1 (en) * | 2011-02-14 | 2012-08-16 | Deepak Khosla | System and method for resource allocation and management |
CN112306687A (zh) * | 2020-10-30 | 2021-02-02 | 平安数字信息科技(深圳)有限公司 | 基于知识图谱的资源分配方法、装置、计算机设备和介质 |
CN112380359A (zh) * | 2021-01-18 | 2021-02-19 | 平安科技(深圳)有限公司 | 基于知识图谱的培训资源分配方法、装置、设备及介质 |
CN112817721A (zh) * | 2021-01-29 | 2021-05-18 | 中国平安财产保险股份有限公司 | 基于人工智能的任务调度方法、装置、计算机设备和介质 |
CN112860387A (zh) * | 2019-11-27 | 2021-05-28 | 上海哔哩哔哩科技有限公司 | 分布式任务调度方法、装置、计算机设备及存储介质 |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120209652A1 (en) * | 2011-02-14 | 2012-08-16 | Deepak Khosla | System and method for resource allocation and management |
CN112860387A (zh) * | 2019-11-27 | 2021-05-28 | 上海哔哩哔哩科技有限公司 | 分布式任务调度方法、装置、计算机设备及存储介质 |
CN112306687A (zh) * | 2020-10-30 | 2021-02-02 | 平安数字信息科技(深圳)有限公司 | 基于知识图谱的资源分配方法、装置、计算机设备和介质 |
CN112380359A (zh) * | 2021-01-18 | 2021-02-19 | 平安科技(深圳)有限公司 | 基于知识图谱的培训资源分配方法、装置、设备及介质 |
CN112817721A (zh) * | 2021-01-29 | 2021-05-18 | 中国平安财产保险股份有限公司 | 基于人工智能的任务调度方法、装置、计算机设备和介质 |
Non-Patent Citations (1)
Title |
---|
刘艺 等: "一种区分等级的可生存服务功能链映射方法", 计算机研究与发展, no. 04, 15 April 2018 (2018-04-15) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113872850A (zh) * | 2021-09-27 | 2021-12-31 | 东莞市亚太未来软件有限公司 | 一种实时通讯方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111950738B (zh) | 机器学习模型优化效果评估方法、装置、终端及存储介质 | |
KR102499076B1 (ko) | 그래프 데이터 기반의 태스크 스케줄링 방법, 디바이스, 저장 매체 및 장치 | |
KR20200139780A (ko) | 그래프 데이터 처리 방법, 그래프 데이터 계산 태스크들을 공개하는 방법 및 디바이스, 저장 매체 및 컴퓨터 장치 | |
CN111898221B (zh) | 选址方法、装置及计算机可读存储介质 | |
CN114239951A (zh) | 基于分层优化的卫星测控任务调度方法、装置和设备 | |
Karabulut et al. | Long term energy consumption forecasting using genetic programming | |
CN111694844B (zh) | 基于配置算法的企业运行数据分析方法、装置及电子设备 | |
CN113206830B (zh) | 一种数据处理方法、装置和电子设备 | |
CN111783982A (zh) | 攻击样本的获取方法、装置、设备及介质 | |
CN114416036A (zh) | 业务需求处理方法、系统、设备及介质 | |
Shang et al. | Spatial scheduling optimization algorithm for block assembly in shipbuilding | |
CN112579462A (zh) | 测试用例获取方法、系统、设备及计算机可读存储介质 | |
CN107708185B (zh) | 信息生成方法和设备 | |
CN115277692A (zh) | 边缘网络计算终端设备自动运维方法、装置和系统 | |
CN107679305B (zh) | 路网模型创建方法及装置 | |
CN112579608B (zh) | 案件数据查询方法、系统、设备及计算机可读存储介质 | |
CN113254218B (zh) | 模型的资源部署方法、系统、设备及存储介质 | |
CN113254218A (zh) | 模型的资源部署方法、系统、设备及存储介质 | |
CN112001707A (zh) | 基于业务数据的业务工作流生成方法及系统 | |
CN114817288A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113722728B (zh) | 基于区块链的智慧政务信息管理方法 | |
CN111880864B (zh) | 基于http的模型调用方法、系统、计算机设备和存储介质 | |
US20170090820A1 (en) | Method and device for operating a many-core system | |
CN112527780A (zh) | Redis集群的创建与管理方法、系统、计算机设备和存储介质 | |
CN113704309A (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 |