CN111858059A - 一种图计算方法、装置、设备及存储介质 - Google Patents

一种图计算方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111858059A
CN111858059A CN202010724722.7A CN202010724722A CN111858059A CN 111858059 A CN111858059 A CN 111858059A CN 202010724722 A CN202010724722 A CN 202010724722A CN 111858059 A CN111858059 A CN 111858059A
Authority
CN
China
Prior art keywords
graph
operated
proportion
processing node
task load
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.)
Withdrawn
Application number
CN202010724722.7A
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010724722.7A priority Critical patent/CN111858059A/zh
Publication of CN111858059A publication Critical patent/CN111858059A/zh
Priority to PCT/CN2021/071205 priority patent/WO2022016833A1/zh
Withdrawn 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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/465Distributed object oriented systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种图计算方法、装置、设备及存储介质。该方法的步骤包括:统计各处理节点之间的计算资源比例;获取待运算图;基于计算资源比例将待运算图划分为各处理节点的待运算子图;其中,各处理节点分配到的待运算子图的任务负载之间的比例与计算资源比例一致;将各待运算子图分配至相应的处理节点,以供各处理节点并行执行图计算操作。本方法相对确保了多个处理节点进行图计算的整体效率。此外,本申请还提供一种图计算装置、设备及存储介质,有益效果同上所述。

Description

一种图计算方法、装置、设备及存储介质
技术领域
本申请涉及云计算领域,特别是涉及一种图计算方法、装置、设备及存储介质。
背景技术
图(Graph)是用于表示对象之间关联关系的一种抽象数据结构,使用顶点(Vertex)和边(Edge)进行描述:顶点表示对象,边表示对象之间的关系。可抽象成用图描述的数据即为图数据。
图计算,是以图作为数据模型来对现实问题进行建模、分析和求解的过程。实际场景下,图的规模往往比较大,通过多处理节点对图进行并行分布处理是当前实现图计算的主要方案。在通过由多个处理节点组成的并行计算系统对图进行并行分布处理前,需要先将图划分为子图,进而分别由各处理节点分别对相应的子图执行运算操作,进而由各处理节点共同运算得到图计算结果。但是在实际的运算场景下,由于各处理节点的运算性能往往存在差异,并且图计算的整体效率是由最后对子图完成运算操作的处理节点决定的。然而,当前的图划分算法往往假设并行计算系统是同构的,生成的图划分方案难以确保多个处理节点进行图计算的整体效率。
由此可见,提供一种图计算方法,以相对确保多个处理节点进行图计算的整体效率,是本领域技术人员需要解决的问题。
发明内容
本申请的目的是提供一种图计算方法、装置、设备及存储介质,以相对确保多个处理节点进行图计算的整体效率。
为解决上述技术问题,本申请提供一种图计算方法,包括:
统计各处理节点之间的计算资源比例;
获取待运算图;
基于计算资源比例将待运算图划分为各处理节点的待运算子图;其中,各处理节点分配到的待运算子图的任务负载之间的比例与计算资源比例一致;
将各待运算子图分配至相应的处理节点,以供各处理节点并行执行图计算操作。
优选地,基于计算资源比例将待运算图划分为各处理节点的待运算子图,包括:
在获取待运算图的同时,基于计算资源比例将待运算图划分为各处理节点的待运算子图。
优选地,基于计算资源比例将待运算图划分为各处理节点的待运算子图,包括:
计算待运算图对应的总任务负载;
根据总任务负载以及计算资源比例计算各处理节点的任务负载期望;
依照各处理节点的任务负载期望将待运算图划分为相应的待运算子图。
优选地,任务负载期望包括计算负载期望以及通信负载期望。
优选地,计算待运算图对应的总任务负载,包括:
计算待运算图在目标算法场景下对应的总任务负载;
将各待运算子图分配至相应的处理节点,以供各处理节点并行执行图计算操作,包括:
将各待运算子图分配至相应的处理节点,以供各处理节点执行基于目标算法的图计算操作。
优选地,计算待运算图在目标算法场景下对应的总任务负载,包括:
利用预设的模型数据集计算待运算图在目标算法场景下对应的总任务负载;
模型数据集的生成过程包括:
获取图样本集以及样本算法集;
建立图样本集中图样本与样本算法集中样本算法之间的组合关系;
统计各组合关系的样本任务负载,得到模型数据集。
优选地,计算资源比例包括计算资源的运算速率比例。
此外,本申请还提供一种图计算装置,包括:
比例统计模块,用于统计各处理节点之间的计算资源比例;
图获取模块,用于获取待运算图;
图划分模块,用于基于计算资源比例将待运算图划分为各处理节点的待运算子图;其中,各处理节点分配到的待运算子图的任务负载之间的比例与计算资源比例一致;
子图分配模块,用于将各待运算子图分配至相应的处理节点,以供各处理节点并行执行图计算操作。
优选地,图划分模块,包括:
总任务负载计算模块,用于计算待运算图对应的总任务负载;
期望任务负载计算模块,用于根据总任务负载以及计算资源比例计算各处理节点的任务负载期望;
划分模块,用于依照各处理节点的任务负载期望将待运算图划分为相应的待运算子图。
此外,本申请还提供一种图计算设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的图计算方法的步骤。
此外,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的图计算方法的步骤。
本申请所提供的图计算方法,首先统计用于执行图计算的各处理节点之间的计算资源比例,并获取待运算图,进而基于计算资源比例将待运算图划分为各处理节点的待运算子图,其中,各处理节点分配到的待运算子图的任务负载之间的比例与计算资源比例一致,进而将各待运算子图分配至相应的处理节点,以供各处理节点并行执行图计算操作。由于本方法是基于各处理节点之间的计算资源比例对待运算图执行相应任务负载比例的子图划分,进而各处理节点之间对与待运算子图的任务负载比例与各处理节点之间的计算资源比例一致,以此实现根据各处理节点的运算性能差异,有针对性的分配相应负载的待运算子图,进而相对确保了多个处理节点进行图计算的整体效率。此外,本申请还提供一种图计算装置、设备及存储介质,有益效果同上所述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种图计算方法的流程图;
图2为本申请实施例公开的一种图计算方法的流程图;
图3为本申请实施例公开的一种图计算装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
图计算,是以图作为数据模型来对现实问题进行建模、分析和求解的过程。实际场景下,图的规模往往比较大,通过多处理节点对图进行并行分布处理是当前实现图计算的主要方案。在通过由多个处理节点组成的并行计算系统对图进行并行分布处理前,需要先将图划分为子图,进而分别由各处理节点分别对相应的子图执行运算操作,进而由各处理节点共同运算得到图计算结果。但是在实际的运算场景下,由于各处理节点的运算性能往往存在差异,并且图计算的整体效率是由最后对子图完成运算操作的处理节点决定的。然而,当前的图划分算法往往假设并行计算系统是同构的,生成的图划分方案难以确保多个处理节点进行图计算的整体效率。
为此,本申请的核心是提供一种图计算方法,以相对确保多个处理节点进行图计算的整体效率。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
请参见图1所示,本申请实施例公开了一种图计算方法,包括:
步骤S10:统计各处理节点之间的计算资源比例。
需要说明的是,本步骤中的各处理节点指的是共同对待运算图执行分布式图计算的节点。本步骤中统计的各处理节点之间的计算资源比例,本质是上各处理节点的计算资源量之间的比例值,计算资源量指的是处理节点执行图计算时能够调用的硬件资源数量,是反映处理节点的运算性能的指标,因此本步骤中统计得到的各处理节点之间的计算资源比例,相当于各处理节点的运算性能之间的比例关系。
步骤S11:获取待运算图。
本步骤中获取到待运算图指的是各处理节点需要在后续步骤中执行分布式图计算的图,可以认为是记录有特定数据内容的数据模型。另外,需要说明的是,获取待运算图的步骤与统计各处理节点之间的计算资源比例的步骤之间无先后顺序,因此本实施例中步骤S10与步骤S11之间的执行顺序不固定,步骤S10与步骤S11也可同时执行,应根据实际情况而定,在此不做具体限定。
步骤S12:基于计算资源比例将待运算图划分为各处理节点的待运算子图。
其中,各处理节点分配到的待运算子图的任务负载之间的比例与计算资源比例一致。
需要说明的是,在获取到各处理节点之间的计算资源比例与待运算图之后,本步骤进一步根据计算资源比例将待运算图划分为各处理节点的待运算子图。也就是说,本步骤是根据各处理节点之间的计算资源比例,将待运算图划分为与各处理节点分别对应的待运算子图,并且各处理节点之间对待运算子图的任务负载比例与各处理节点之间的计算资源比例一致,其中,任务负载比例指的是各个待运算子图在被处理时产生的相应任务负载之间的比例关系,也就是说,本实施例是根据各处理节点的运算能力在整体处理节点中的占比,对各处理节点划分待运算图中具有相应任务负载程度占比的待运算子图,以此确保处理节点中计算资源比例较大的目标处理节点,能够对任务负载较大的待运算子图进行图计算操作。
步骤S13:将各待运算子图分配至相应的处理节点,以供各处理节点并行执行图计算操作。
在基于计算资源比例将待运算图划分为各处理节点的待运算子图之后,待运算子图与处理节点之间相当于建立的对应关系,进而将各待运算子图分配至相应的处理节点,以供各处理节点分别对自身接收到的待运算子图执行图计算操作,进而实现通过各处理节点对于待运算图的协同运算处理。
本申请所提供的图计算方法,首先统计用于执行图计算的各处理节点之间的计算资源比例,并获取待运算图,进而基于计算资源比例将待运算图划分为各处理节点的待运算子图,其中,各处理节点分配到的待运算子图的任务负载之间的比例与计算资源比例一致,进而将各待运算子图分配至相应的处理节点,以供各处理节点并行执行图计算操作。由于本方法是基于各处理节点之间的计算资源比例对待运算图执行相应任务负载比例的子图划分,进而各处理节点之间对与待运算子图的任务负载比例与各处理节点之间的计算资源比例一致,以此实现根据各处理节点的运算性能差异,有针对性的分配相应负载的待运算子图,进而相对确保了多个处理节点进行图计算的整体效率。
在上述实施例的基础上,作为一种优选的实施方式,基于计算资源比例将待运算图划分为各处理节点的待运算子图,包括:
在获取待运算图的同时,基于计算资源比例将待运算图划分为各处理节点的待运算子图。
需要说明的是,由于考虑到在实际的图计算场景中,待运算图的数据量可能相对较大,因此为了进一步提高对于待运算子图的处理效率,本实施方式的重点在于,在获取待运算图的同时,并行执行基于计算资源比例将待运算图划分为各处理节点的待运算子图的步骤,以此达到对于待运算图进行流式划分的目的。更进一步的,在获取待运算图的同时,基于计算资源比例将待运算图划分为各处理节点的待运算子图,可以具体是基于计算资源比例循环对各处理节点划分具有相应任务负载比例的待运算子图,直至待运算图全部划分完成。本实施方式能够进一步确保基于计算资源比例将待运算图划分为各处理节点的待运算子图过程的整体执行效率,进而相对确保图计算过程的整体效率。
请参见图2所示,本申请实施例公开了一种图计算方法,包括:
步骤S20:统计各处理节点之间的计算资源比例。
步骤S21:获取待运算图。
步骤S22:计算待运算图对应的总任务负载。
需要说明的是,本步骤在获取到待运算图之后,进一步计算待运算图对应的总任务负载,相当于计算待运算图整体占用的任务负载。
步骤S23:根据总任务负载以及计算资源比例计算各处理节点的任务负载期望。
在获取到待运算图对应的总任务负载之后,本步骤进一步根据总任务负载以及计算资源比例计算各处理节点的任务负载期望,此处的任务负载期望,指的是基于待运算图对各处理节点划分待运算子图时需要满足的负载标准,目的是在针对目标处理节点划分待运算子图时,确保该待运算子图对应的任务负与该目标处理节点的任务负载期望相匹配。
步骤S24:依照各处理节点的任务负载期望将待运算图划分为相应的待运算子图。
其中,各处理节点分配到的待运算子图的任务负载之间的比例与计算资源比例一致。
需要说明的是,本步骤在根据总任务负载以及计算资源比例计算各处理节点的任务负载期望之后,进一步依照各处理节点的任务负载期望将待运算图划分为相应的待运算子图,以此实现基于各处理节点之间的计算资源比例将待运算图划分为各处理节点的待运算子图的目的。
步骤S25:将各待运算子图分配至相应的处理节点,以供各处理节点并行执行图计算操作。
本实施例通过计算待运算图对应的总任务负载,进而根据总任务负载以及计算资源比例计算各处理节点的任务负载期望,最终依照各处理节点的任务负载期望将待运算图划分为相应的待运算子图的方式,进一步确保了基于计算资源比例将待运算图划分为各处理节点的待运算子图过程的整体准确性,进一步确保了多个处理节点进行图计算的整体效率。
在上述实施例的基础上,作为一种优选的实施方式,任务负载期望包括计算负载期望以及通信负载期望。
需要说明的是,本实施方式中,任务负载期望进一步包括计算负载期望以及通信负载期望,其中,计算负载期望指的是处理节点对待运算子图进行图计算操作时,待运算子图在处理节点中所产生的计算资源负载的标准;通信负载期望指的是处理节点对待运算子图进行图计算操作时,该处理节点与其它处理节点之间进行网络通信所产生的通信资源负载的标准。本实施方式通过对任务负载期望进行进一步的细化,以此进一步确保了将待运算图划分为各处理节点相应的待运算子图时的准确性。
更进一步的,处理节点对待运算子图进行图计算操作时,在不考虑图计算操作所依照的算法的前提下,待运算子图在处理节点中所产生的计算资源负载具体由待运算子图的边数量以及顶点数量共同影响,该处理节点与其它处理节点之间进行网络通信所产生的通信资源负载,具体与待运算子图的割边数量成正比。在此基础上,本实施例中依照各处理节点的任务负载期望将待运算图划分为相应的待运算子图,可以具体是根据各处理节点的计算负载期望以及通信负载期望,在待运算图中划分具有相应边数量、顶点数量以及割边数量的待运算子图。
在上述实施例的基础上,作为一种优选的实施方式,计算待运算图对应的总任务负载,包括:
计算待运算图在目标算法场景下对应的总任务负载;
将各待运算子图分配至相应的处理节点,以供各处理节点并行执行图计算操作,包括:
将各待运算子图分配至相应的处理节点,以供各处理节点执行基于目标算法的图计算操作。
需要说明的是,由于考虑到在以不同的算法对待运算图执行图计算操作时,待运算图所产生的总任务负载往往不同,因此本实施方式的重点在于计算待运算图在特定的目标算法场景下对应的总任务负载,能够进一步确保待运算图对应的总任务负载的准确性,进而在基于待运算图划分得到待运算子图后,将各待运算子图分配至相应的处理节点,以供各处理节点执行基于该目标算法的图计算操作,能够进一步确保多个处理节点进行图计算的整体效率。
更进一步的,作为一种优选的实施方式,计算待运算图在目标算法场景下对应的总任务负载,包括:
利用预设的模型数据集计算待运算图在目标算法场景下对应的总任务负载;
模型数据集的生成过程包括:
获取图样本集以及样本算法集;
建立图样本集中图样本与样本算法集中样本算法之间的组合关系;
统计各组合关系的样本任务负载,得到模型数据集。
需要说明的是,本实施方式的重点在于利用预设的模型数据集计算待运算图在目标算法场景下对应的总任务负载。模型数据集是预先基于图样本集以及样本算法集生成的,其中,图样本集指的是图样本的集合,样本算法集指的是图算法的集合,在获取到图样本集以及样本算法集之后,进一步建立图样本集中图样本与样本算法集中样本算法之间的组合关系,此处所指的组合关系本质上是图样本与样本算法之间的对应关系,此处所指的组合关系,可以是图样本与样本算法之间的一对一的组合关系,也可以是一对多的组合关系,应根据实际需求而定,在建立图样本与样本算法之间的组合关系之后,本实施方式进一步统计对组合关系中的图样本执行该组合关系中的样本算法所产生的样本任务负载,以此得到包含有组合关系以及与组合关系对应的样本任务负载的模型数据集。在此基础上,利用预设的模型数据集计算待运算图在目标算法场景下对应的总任务负载,可以具体是在模型数据集中获取与待运算图及目标算法的组合向对应的目标样本任务负载,并将目标样本任务负载设置为总任务负载。
本实施方式通过利用预设的模型数据集计算待运算图在目标算法场景下对应的总任务负载的方式,进一步确保了计算待运算图在目标算法场景下对应的总任务负载时的整体效率以及准确性。
在上述一系列实施方式的基础上,作为一种优选的实施方式,计算资源比例包括计算资源的运算速率比例。
需要说明的是,由于考虑到计算资源的运算速率比例相当于计算资源在单位时间对数据进行运算处理的数量,能够相对准确地反映处理节点的运算性能,进而处理节点之间的计算资源的运算速率比例,能够进一步准确地反映处理节点之间运算性能的关系,因此本实施方式能够进一步提高基于计算资源比例将待运算图划分为各处理节点的待运算子图过程的整体准确性,进一步确保了多个处理节点进行图计算的整体效率。
另外,在特定的场景下,计算资源可以包含多种类型,相应的,计算资源比例包括多种类型运算资源的运算速率比例。例如计算资源同时包含CPU(central processingunit,中央处理器)、GPU(Graphics Processing Unit,图形处理器)以及FPGA(FieldProgrammable Gate Array,现场可编程逻辑门阵列)中的一种或多种,则计算资源比例具体包括CPU、GPU以及FPGA的一种或多种计算资源之间的运算速率比例。
为了增加对于本申请上述实施例的理解,下面通过一个具体的场景实施例做进一步说明。
在本场景实施例中执行图计算操作时,主要由两个技术部分构成:(1)图任务负载量化分析技术;(2)任意比例的流式启发式规则设计技术。其中,前者为实施划分提供度量依据;后者为制定划分规则提供参考。
(1)图任务负载量化分析技术。所谓图任务负载,广义指解决某一图论问题的图算法Alg在待运算图G上执行时算法操作的工作量,具体指图顶点的计算操作以及连接边的数据传输操作的工作量之和。因此,图任务负载Load(G,Alg)与G的拓扑结构和其上执行的图算法Alg密不可分。借鉴图算法复杂性分析理论,根据观察和总结,Load(G,Alg)可用以下公式度量:
Load(G,Alg)=a(|V|-r)α+b(|E|-s)β+clog((|V|-r)·(|E|-s)+1)+d (1)
其中,a,b,c,d,r,s和α,β都是实数域的未知参数,它们的取值与图拓扑结构特征和图算法执行行为密切相关。这些参数可通过对机器学习算法进行多元非线性回归分析得到。其中,训练数据集生成方法如下:从开源图数据集下载图数据集,选取典型的图算法,在单机上对大图执行图算法所规定的操作以对大图实施分析和挖掘,记录图算法执行时间,由处理节点CPU计算速度乘以图算法执行时间,即可得到图任务负载。每一个图的顶点数、连接边数和图任务负载构成一个训练样本,重复执行即可得到多个样本,所有样本即构成训练数据集。
对于待运算图G的任一待运算子图Gi,i∈[1,k],k为,图算法Alg在其上执行的任务负载由计算负载和通信负载两部分构成。不妨记上述三者分别为Load(Gi,Alg)、LoadIN(Gi,Alg)和LoadOUT(Gi,Alg),则:
Load(Gi,Alg)=LoadIN(Gi,Alg)+LoadOUT(Gi,Alg) (2)
其中,LoadIN(Gi,Alg)可借鉴公式(1)得到:
Figure BDA0002601250540000111
其中,
Figure BDA0002601250540000112
表示待运算子图Gi的内部边的集合。而Gi与其他子图的通信负载由它们之间的割边总数成比例,若记Gi与其他子图之间的割边集为
Figure BDA0002601250540000113
则:
Figure BDA0002601250540000114
其中,g,h和γ都是实数域的未知参数,它们同样可以用多元非线性回归分析方法得到。
(2)任意比例的流式启发式规则设计技术。任意比例的流式启发式规则是任意比例流式划分方法的核心,是实现任意比例划分的关键。以下介绍任意比例流式启发式规则设计的一般流程:(a)设并行计算系统由k个处理节点p1,p2,…,pk通过互连网络连接,它们的处理速度分别记为sv1,sv2,...,svk,且满足sv1≤sv2≤...≤svk;统计目标并行计算系统处理节点个数以及各处理节点CPU的计算速度,取它们的比值为任意比例关系
Figure BDA0002601250540000115
给定待运算图G和图算法Alg,根据公式(1)计算在G上执行Alg算法的图任务负载Load(Gi,Alg),理想情况下,处理节点pi分得的子图Gi对应的图任务负载与pi的计算能力大小相匹配。不妨称该任务负载为pi或Gi的期望任务负载,记为LoadE(Gi,Alg),则:
LoadE(Gi,Alg)=γiLoad(G,Alg) (5)
在划分过程中的每个时刻,可根据公式(2)~(4)计算节点pi上已分配子图Gi对应的实际任务负载大小Load(Gi,Alg)。以上述两个信息为依据,制定流式启发式规则,指定每个顶点应该流向哪个子图,以便在划分过程中,不断缩小每个子图的实际任务负载与期望任务负载之间的差异;待划分结束时,即可得到各子图任务负载满足任意比例关系的图划分,该划分由于保证了每个处理节点分得的图任务负载与其计算速度相匹配,可大大提高并行处理效率。
请参见图3所示,本申请实施例提供了一种图计算装置,包括:
比例统计模块10,用于统计各处理节点之间的计算资源比例;
图获取模块11,用于获取待运算图;
图划分模块12,用于基于计算资源比例将待运算图划分为各处理节点的待运算子图;其中,各处理节点分配到的待运算子图的任务负载之间的比例与计算资源比例一致;
子图分配模块13,用于将各待运算子图分配至相应的处理节点,以供各处理节点并行执行图计算操作。
更进一步的,作为一种优选的实施方式,图划分模块,包括:
总任务负载计算模块,用于计算待运算图对应的总任务负载;
期望任务负载计算模块,用于根据总任务负载以及计算资源比例计算各处理节点的任务负载期望;
划分模块,用于依照各处理节点的任务负载期望将待运算图划分为相应的待运算子图。
本申请所提供的图计算装置,首先统计用于执行图计算的各处理节点之间的计算资源比例,并获取待运算图,进而基于计算资源比例将待运算图划分为各处理节点的待运算子图,其中,各处理节点分配到的待运算子图的任务负载之间的比例与计算资源比例一致,进而将各待运算子图分配至相应的处理节点,以供各处理节点并行执行图计算操作。由于本装置是基于各处理节点之间的计算资源比例对待运算图执行相应任务负载比例的子图划分,进而各处理节点之间对与待运算子图的任务负载比例与各处理节点之间的计算资源比例一致,以此实现根据各处理节点的运算性能差异,有针对性的分配相应负载的待运算子图,进而相对确保了多个处理节点进行图计算的整体效率。
此外,本申请实施例还提供一种图计算设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的图计算方法的步骤。
本申请所提供的图计算设备,首先统计用于执行图计算的各处理节点之间的计算资源比例,并获取待运算图,进而基于计算资源比例将待运算图划分为各处理节点的待运算子图,其中,各处理节点分配到的待运算子图的任务负载之间的比例与计算资源比例一致,进而将各待运算子图分配至相应的处理节点,以供各处理节点并行执行图计算操作。由于本设备是基于各处理节点之间的计算资源比例对待运算图执行相应任务负载比例的子图划分,进而各处理节点之间对与待运算子图的任务负载比例与各处理节点之间的计算资源比例一致,以此实现根据各处理节点的运算性能差异,有针对性的分配相应负载的待运算子图,进而相对确保了多个处理节点进行图计算的整体效率。
此外,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的图计算方法的步骤。
本申请所提供的计算机可读存储介质,首先统计用于执行图计算的各处理节点之间的计算资源比例,并获取待运算图,进而基于计算资源比例将待运算图划分为各处理节点的待运算子图,其中,各处理节点分配到的待运算子图的任务负载之间的比例与计算资源比例一致,进而将各待运算子图分配至相应的处理节点,以供各处理节点并行执行图计算操作。由于本计算机可读存储介质是基于各处理节点之间的计算资源比例对待运算图执行相应任务负载比例的子图划分,进而各处理节点之间对与待运算子图的任务负载比例与各处理节点之间的计算资源比例一致,以此实现根据各处理节点的运算性能差异,有针对性的分配相应负载的待运算子图,进而相对确保了多个处理节点进行图计算的整体效率。
以上对本申请所提供的一种图计算方法、装置、设备及存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种图计算方法,其特征在于,包括:
统计各处理节点之间的计算资源比例;
获取待运算图;
基于所述计算资源比例将所述待运算图划分为各所述处理节点的待运算子图;其中,各所述处理节点分配到的所述待运算子图的任务负载之间的比例与所述计算资源比例一致;
将各所述待运算子图分配至相应的所述处理节点,以供各所述处理节点并行执行图计算操作。
2.根据权利要求1所述的图计算方法,其特征在于,所述基于所述计算资源比例将所述待运算图划分为各所述处理节点的待运算子图,包括:
在获取所述待运算图的同时,基于所述计算资源比例将所述待运算图划分为各所述处理节点的待运算子图。
3.根据权利要求1所述的图计算方法,其特征在于,所述基于所述计算资源比例将所述待运算图划分为各所述处理节点的待运算子图,包括:
计算所述待运算图对应的总任务负载;
根据所述总任务负载以及所述计算资源比例计算各所述处理节点的任务负载期望;
依照各所述处理节点的任务负载期望将所述待运算图划分为相应的所述待运算子图。
4.根据权利要求3所述的图计算方法,其特征在于,所述任务负载期望包括计算负载期望以及通信负载期望。
5.根据权利要求3所述的图计算方法,其特征在于,所述计算所述待运算图对应的总任务负载,包括:
计算所述待运算图在目标算法场景下对应的所述总任务负载;
所述将各所述待运算子图分配至相应的所述处理节点,以供各所述处理节点并行执行图计算操作,包括:
将各所述待运算子图分配至相应的所述处理节点,以供各所述处理节点执行基于所述目标算法的图计算操作。
6.根据权利要求5所述的图计算方法,其特征在于,所述计算所述待运算图在目标算法场景下对应的所述总任务负载,包括:
利用预设的模型数据集计算所述待运算图在目标算法场景下对应的所述总任务负载;
所述模型数据集的生成过程包括:
获取图样本集以及样本算法集;
建立所述图样本集中图样本与所述样本算法集中样本算法之间的组合关系;
统计各所述组合关系的样本任务负载,得到所述模型数据集。
7.根据权利要求1至6任意一项所述的图计算方法,其特征在于,所述计算资源比例包括计算资源的运算速率比例。
8.一种图计算装置,其特征在于,包括:
比例统计模块,用于统计各处理节点之间的计算资源比例;
图获取模块,用于获取待运算图;
图划分模块,用于基于所述计算资源比例将所述待运算图划分为各所述处理节点的待运算子图;其中,各所述处理节点分配到的所述待运算子图的任务负载之间的比例与所述计算资源比例一致;
子图分配模块,用于将各所述待运算子图分配至相应的所述处理节点,以供各所述处理节点并行执行图计算操作。
9.一种图计算设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的图计算方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的图计算方法的步骤。
CN202010724722.7A 2020-07-24 2020-07-24 一种图计算方法、装置、设备及存储介质 Withdrawn CN111858059A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010724722.7A CN111858059A (zh) 2020-07-24 2020-07-24 一种图计算方法、装置、设备及存储介质
PCT/CN2021/071205 WO2022016833A1 (zh) 2020-07-24 2021-01-12 一种图计算方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010724722.7A CN111858059A (zh) 2020-07-24 2020-07-24 一种图计算方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN111858059A true CN111858059A (zh) 2020-10-30

Family

ID=72949562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010724722.7A Withdrawn CN111858059A (zh) 2020-07-24 2020-07-24 一种图计算方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN111858059A (zh)
WO (1) WO2022016833A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022016833A1 (zh) * 2020-07-24 2022-01-27 苏州浪潮智能科技有限公司 一种图计算方法、装置、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115061825B (zh) * 2022-08-09 2022-11-18 深圳致星科技有限公司 隐私计算、隐私数据和联邦学习的异构计算系统及方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488134A (zh) * 2015-11-25 2016-04-13 用友网络科技股份有限公司 大数据处理方法及大数据处理装置
US10437648B2 (en) * 2016-07-22 2019-10-08 Board Of Regents, The University Of Texas System Guided load balancing of graph processing workloads on heterogeneous clusters
CN110659278A (zh) * 2018-06-12 2020-01-07 上海郑明现代物流有限公司 基于cpu-gpu异构架构的图数据分布式处理系统
CN109710406B (zh) * 2018-12-21 2023-01-17 腾讯科技(深圳)有限公司 数据分配及其模型训练方法、装置、及计算集群
CN110415162B (zh) * 2019-07-22 2020-03-31 中国人民大学 大数据中面向异构融合处理器的自适应图划分方法
CN110619595B (zh) * 2019-09-17 2021-04-13 华中科技大学 一种基于多fpga加速器互联的图计算优化方法
CN111858059A (zh) * 2020-07-24 2020-10-30 苏州浪潮智能科技有限公司 一种图计算方法、装置、设备及存储介质
CN112445940B (zh) * 2020-10-16 2022-05-24 苏州浪潮智能科技有限公司 图划分方法、装置及计算机可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022016833A1 (zh) * 2020-07-24 2022-01-27 苏州浪潮智能科技有限公司 一种图计算方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2022016833A1 (zh) 2022-01-27

Similar Documents

Publication Publication Date Title
Abreu et al. A comparative analysis of simulators for the cloud to fog continuum
CN110515739B (zh) 深度学习神经网络模型负载计算方法、装置、设备及介质
Poullie et al. A survey of the state-of-the-art in fair multi-resource allocations for data centers
DE102012216029B4 (de) Ein skalierbares anpassungsfähiges map-reduce-rahmenwerk mit verteilten daten
WO2018176385A1 (en) System and method for network slicing for service-oriented networks
CN110301128A (zh) 基于学习的资源管理数据中心云架构
CN109213597A (zh) 资源分配方法、装置、计算机设备及计算机可读存储介质
CN109189572B (zh) 一种资源预估方法及系统、电子设备和存储介质
Mateos et al. An ACO-inspired algorithm for minimizing weighted flowtime in cloud-based parameter sweep experiments
CN109669774B (zh) 硬件资源的量化方法、编排方法、装置及网络设备
Reda et al. Sort-Mid tasks scheduling algorithm in grid computing
WO2017166643A1 (zh) 一种任务资源的量化方法和装置
CN112445940B (zh) 图划分方法、装置及计算机可读存储介质
CN106406987A (zh) 一种集群中的任务执行方法及装置
CN111858059A (zh) 一种图计算方法、装置、设备及存储介质
CN106325756B (zh) 一种数据存储、数据计算方法和设备
CN107729138A (zh) 一种高性能分布式矢量空间数据的分析方法和装置
Yousif et al. Clustering cloud workload traces to improve the performance of cloud data centers
CN115134371A (zh) 包含边缘网络算力资源的调度方法、系统、设备及介质
CN108509256A (zh) 调度运行设备的方法、设备和运行设备
Zhang et al. Generalized asset fairness mechanism for multi-resource fair allocation mechanism with two different types of resources
Moreno et al. Load balancing in homogeneous pipeline based applications
CN107909496B (zh) 社交网络中用户影响力分析方法、装置及电子设备
CN114138284A (zh) 模型部署处理方法、装置、电子设备及存储介质
CN109120704B (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20201030

WW01 Invention patent application withdrawn after publication