CN111737531B - 一种应用驱动的图划分调整方法和系统 - Google Patents

一种应用驱动的图划分调整方法和系统 Download PDF

Info

Publication number
CN111737531B
CN111737531B CN202010536216.5A CN202010536216A CN111737531B CN 111737531 B CN111737531 B CN 111737531B CN 202010536216 A CN202010536216 A CN 202010536216A CN 111737531 B CN111737531 B CN 111737531B
Authority
CN
China
Prior art keywords
graph
point
points
segment
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.)
Active
Application number
CN202010536216.5A
Other languages
English (en)
Other versions
CN111737531A (zh
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.)
Shenzhen Institute of Computing Sciences
Original Assignee
Shenzhen Institute of Computing Sciences
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 Shenzhen Institute of Computing Sciences filed Critical Shenzhen Institute of Computing Sciences
Priority to CN202010536216.5A priority Critical patent/CN111737531B/zh
Priority to PCT/CN2020/098571 priority patent/WO2021248573A1/zh
Publication of CN111737531A publication Critical patent/CN111737531A/zh
Application granted granted Critical
Publication of CN111737531B publication Critical patent/CN111737531B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种应用驱动的图划分调整方法和系统,该方法会判断已有的图划分类型,若为点划分,则对应工作机使用并行E2H算法进行调整;若为边划分,则对应工作机使用并行V2H算法进行调整根据用户的应用进行图划分调整,该方法通过均衡应用的计算代价和通信代价,更好的对于图划分进行负载均衡,图划分效率也更高。同时,由于采用了并行化技术,图调整的速度较快,平均时间为传统图划分算法的11%左右。本发明可以快速调整现有的图划分,并进行较大的加速。

Description

一种应用驱动的图划分调整方法和系统
技术领域
本发明涉及图划分技术领域,尤其涉及一种应用驱动的图划分调整方法和系统。
背景技术
图(Graph),是由点和点之间的边构成的网络。一个图网络G可以用二元组G(V,E)表示。其中,V是点的集合,E是边的集合。图划分(Graph partition),是将一个图划分为多个图片段,使得各个图片段的大小相近,且产生的划分代价(重复的点或边)尽可能最小。
通常,图划分分为点划分,边划分和混合切分。其中,点划分(edge partition)将图的点集合划分,允许边的重复;边划分(vertex partition)将图的边集合划分,允许点的重复;混合切分(hybrid partition)允许点和边的重复。图划分问题普遍存在于计算机科学的各个领域,例如,网络社区发现,推荐系统,大规模集成电路设计和分布式并行图计算系统等。
近些年,随着大数据时代的到来,图数据的数据量也呈现几何式增长,海量的图数据对传统的图计算带来了巨大挑战。对于目前的图数据,单个机器的内存空间已经无法容纳下全部的数据,因此必须将图网络进行划分,存储在多个计算节点上,进行分布式计算。
分布式计算系统是由多个独立的计算节点和在其之间的通信网络所组成的。每个计算节点拥有独立的CPU,内存地址和存储资源。分布式图计算需要将图数据划分为多个图片段,存储在不同计算节点的硬盘或内存中,各个计算节点同时进行图计算并通过网络通信协调作业,完成计算任务。
分布式图计算系统能否高效运行,除了每个计算节点的计算性能和系统网络带宽外,更主要取决于图划分的质量。为了加速图计算系统的运行,在进行图划分的时候需要考虑两个指标:
1.负载均衡:在计算载荷分配不均时,载荷最高的计算节点会成为计算瓶颈,严重拖累计算速度。若计算载荷的总量不变,且每个计算节点的计算资源相同,那么图划分越均衡,总的计算时间越短。因而,图划分的一个指标是均衡性。
2.通信开销:每个计算节点之间通过网络之间进行通信也会降低计算速度。通信是由图数据被划分的边界造成的,当计算需要跨越图划分的边界时,便产生了通信。因此,图划分的边界越稀疏,通信的总量也就越少,从而使得通信占用的时间减少,计算速度越快。
现在已经得到广泛应用的图划分系统,有XtraPuLP,METIS,2DHash等。这些系统主要针对最小化点或边的均衡系数,同时最小化点或边的重复比来对图进行划分。其中,对于点划分,重复比为各个图片段的边数之和与原图的边数之比。均衡系数定义为最大的图片段的点数与图片段点数均值之比。对于边划分,重复比为各个图片段的点数之和与原图的点数之比。均衡系数定义为最大的图片段的边数与图片段边数均值之比。
现有的图划分系统通过最小化重复比来降低通信,通过最小化边或点的均衡系数来均衡各个计算图片段的计算负载。
现有的受到广泛应用的图划分系统往往通过最小化点或边的均衡系数均衡各个图片段的计算载荷。然而,点或边的数量均衡并不能代表计算负载的均衡,计算负载并不一定与点或边的数量呈线性相关。例如:在被XtraPuLP划分为96个图片段的社交网络图数据上查找共同邻居(Common Neighbor),最慢的计算节点所花费时间是各计算节点计算时间均值的11.2倍。这就说明,传统的图划分方法并不能有效地均衡分布式图计算系统的负载。
发明内容
本发明的目的是提供一种应用驱动的图划分调整方法和系统,旨在解决现有图划分技术效率低、不能达到有效均衡负载的问题。
本发明实施例提供一种应用驱动的图划分调整方法,其包括:
对于应用A和图G=(V,E)中的点v,将代价函数分为计算代价函数hA(X(v))和通信代价函数gA(X(v)),其中,X(v)为点v的测量变量;
在预定数据集上运行用户给定的图算法,获得该图算法的训练样本,所述训练样本包括各个点的计算时间和通信时间;
在训练样本上,使用多项式回归拟合该图算法的代价函数,并将代价函数发送到各个工作机;
各个工作机加载已有的图划分,若已有的图划分为点划分,则对应工作机使用并行E2H算法进行调整;若已有的图划分为边划分,则对应工作机使用并行V2H算法进行调整;
其中,所述并行E2H算法包括:
EMigrate的并行化:首先计算各图片段的计算代价预算;基于计算代价预算,将图片段分为两类:载荷高的图片段和载荷低的图片段;对于每个载荷高的图片段,选择一系列点作为候选点;不断从候选点中选择一个点及其全部临边,移动至载荷低的图片段中;
ESplit的并行化:当没有点及其临边可以被移动时,不断从候选点中选择一个点及其一条临边,将这条临边移动到载荷低的图片段中;
MAssign的并行化:重新分配各个点的主点,均衡通信负载;
所述并行V2H算法包括:
VMigrate的并行化:首先计算各图片段的计算代价预算;基于计算代价预算,将图片段分为两类:载荷高的图片段与载荷低的图片段;对于每个载荷高的图片段,选择一系列点作为候选点;不断从候选点中选择一个点及其全部临边,移动至载荷低的图片段中;
VMerge的并行化:不断选择载荷最小的图片段中的边切分的点转化为点切分的点;
MAssign的并行化:重新分配各个点的主点,均衡通信负载。
进一步的,所述在训练样本上,使用多项式回归拟合该图算法的代价函数,并将代价函数发送到各个工作机,包括:
将计算代价函数建模为多项式函数
Figure BDA0002537149390000031
其中Γ是
Figure BDA0002537149390000032
Figure BDA0002537149390000033
的展开式中项的集合,ωj是γj(v)的权重,自然数p是多项式的最高阶;
将训练样本表示为[X(vk),tk],其中tk为运行应用A时点vk的计算时间;
通过随机梯度下降算法不断调整权重ωj,使得X(vk)和tk尽量接近。
进一步的,调整权重过程中,使用相对均方误差作为损失函数:
Figure BDA0002537149390000034
其中,
Figure BDA0002537149390000043
为计算代价函数hA(X(v))的训练样本,
Figure BDA0002537149390000041
为训练样本数量,Ω={ω1,…,ωn},
Figure BDA0002537149390000042
为惩罚函数,用于防止训练结果过拟合。
进一步的,所述对于每个载荷高的图片段,选择一系列点作为候选点,包括:
给定一个图片段Fi,首先任选一个点,对图片段Fi进行广度优先搜索;
将图片段Fi中的各点按搜索顺序排序,然后根据排序结果以贪心的方式将各点作为候选点,返回全部的候选点。
进一步的,所述EMigrate的并行化与VMigrate的并行化包括:
在每轮迭代中,每个载荷高的图片段所在的工作机选取一部分的候选点及其全部临边,以轮询的方式发送至各个载荷低的图片段所在的工作机,每个载荷低的图片段所在的工作机顺序的处理收到的候选点及其全部临边,若接受候选点后,计算载荷小于计算代价预算,则接受该候选点及其全部,否则拒绝该候选点及其全部临边并将该候选点及其全部临边发送回原工作机;在下一轮迭代中,载荷高的图片段所在的工作机将被拒绝的候选点及其全部临边发送至其他载荷低的图片段所在的工作机,直到所有的候选点及其全部临边都被载荷低的图片段所在的工作机接受,或被全部载荷低的图片段所在的工作机拒绝。
进一步的,所述ESplit的并行化包括:
在每轮迭代中,载荷高的图片段所在的工作机以贪心的方式并行分配一部分被拒绝的候选点及其一条临边,并将该临边发送至载荷低的图片段所在的工作机,直到所有的候选点的临边均被处理。
进一步的,所述VMerge的并行化包括:
在每轮迭代中,载荷低的图片段所在的工作机选择一个边切分的点,并向所有的工作机发出获取全部临边的请求,并在下一轮迭代中计算所增加的计算代价,若增加计算代价后,载荷低的图片段所在的工作机的计算载荷超过计算代价预算,则拒绝所获得的临边并发送回原工作机,直到所有的载荷低的图片段所在的工作机中的边切分的点被转化为点切分的点,或被拒绝转化为点切分的点。
进一步的,所述MAssign的并行化包括:
在每轮迭代中,每个工作机选择与工作机总数量相同的边界点,并行的分配这些边界点的主点。
进一步的,所述点v的测量变量X(v)包括:点v在图片段Fi的入度、点v在图片段Fi的出度、点v在图G的入度、点v在图G的出度、点v在所有的图片段中被复制的次数、图G中所有点的平均出度或入度。
本发明实施例提供一种实现如上所述图划分调整方法的图划分调整系统,包括:协调器、输入输出控制器和多个工作机;
所述协调器与所有工作机通信连接,每一工作机与其他工作机通信连接,所述输入输出控制器与所述协调器和所有工作机通信连接;
对于应用A和图G=(V,E)中的点v,将代价函数分为计算代价函数hA(X(v))和通信代价函数gA(X(v)),其中,X(v)为点v的测量变量;在训练样本上,使用多项式回归拟合该图算法的代价函数,并将代价函数发送到各个工作机;
所述工作机用于在预定数据集上运行用户给定的图算法,获得该图算法的训练样本,所述训练样本包括各个点的计算时间和通信时间;
所述工作机用于加载已有的图划分,若已有的图划分为点划分,则对应工作机使用并行E2H算法进行调整;若已有的图划分为边划分,则对应工作机使用并行V2H算法进行调整;
其中,所述并行E2H算法包括:
EMigrate的并行化:首先计算各图片段的计算代价预算;基于计算代价预算,将图片段分为两类:载荷高的图片段和载荷低的图片段;对于每个载荷高的图片段,选择一系列点作为候选点;不断从候选点中选择一个点及其全部临边,移动至载荷低的图片段中;
ESplit的并行化:当没有点及其临边可以被移动时,不断从候选点中选择一个点及其一条临边,将这条临边移动到载荷低的图片段中;
MAssign的并行化:重新分配各个点的主点,均衡通信负载;
所述并行V2H算法包括:
VMigrate的并行化:首先计算各图片段的计算代价预算;基于计算代价预算,将图片段分为两类:载荷高的图片段与载荷低的图片段;对于每个载荷高的图片段,选择一系列点作为候选点;不断从候选点中选择一个点及其全部临边,移动至载荷低的图片段中;
VMerge的并行化:不断选择载荷最小的图片段中的边切分的点转化为点切分的点;
MAssign的并行化:重新分配各个点的主点,均衡通信负载。
本发明实施例提供一种应用驱动的图划分调整方法和系统,本发明实施例根据用户的应用进行图划分调整,通过均衡应用的计算代价和通信代价,更好的对于图划分进行负载均衡,图划分效率也更高。同时,由于采用了并行化技术,图调整的速度较快,平均时间为传统图划分算法的11%左右。因而,本发明实施例可以快速调整现有的图划分,并进行较大的加速。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的应用驱动的图划分调整方法的流程示意图;
图2为本发明实施例提供的图G的网络示意图;
图3为图2中图片段F1的网络示意图;
图4为图2中图片段F2的网络示意图;
图5为本发明实施例提供的应用驱动的图划分调整系统的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,本发明提供的一种应用驱动的图划分调整方法,其包括:
对于应用A和图G=(V,E)中的点v,将代价函数分为计算代价函数hA(X(v))和通信代价函数gA(X(v)),其中,X(v)为点v的测量变量;
在预定数据集上运行用户给定的图算法,获得该图算法的训练样本,所述训练样本包括各个点的计算时间和通信时间;
在训练样本上,使用多项式回归拟合该图算法的代价函数,并将代价函数发送到各个工作机;
各个工作机加载已有的图划分,若已有的图划分为点划分(即点切分),则对应工作机使用并行E2H算法进行调整;若已有的图划分为边划分,则对应工作机使用并行V2H算法进行调整;
其中,所述并行E2H算法包括:
EMigrate的并行化:首先计算各图片段的计算代价预算;基于计算代价预算,将图片段分为两类:载荷高的图片段和载荷低的图片段;对于每个载荷高的图片段,选择一系列点作为候选点;不断从候选点中选择一个点及其全部临边,移动至载荷低的图片段中;
ESplit的并行化:当没有点及其临边可以被移动时,不断从候选点中选择一个点及其一条临边,将这条临边移动到载荷低的图片段中;
MAssign的并行化:重新分配各个点的主点,均衡通信负载;
所述并行V2H算法包括:
VMigrate的并行化:首先计算各图片段的计算代价预算;基于计算代价预算,将图片段分为两类:载荷高的图片段与载荷低的图片段;对于每个载荷高的图片段,选择一系列点作为候选点;不断从候选点中选择一个点及其全部临边,移动至载荷低的图片段中;
VMerge的并行化:不断选择载荷最小的图片段中的边切分的点转化为点切分的点;
MAssign的并行化:重新分配各个点的主点,均衡通信负载。
本发明实施例根据用户的应用进行图划分调整,通过均衡应用的计算代价和通信代价,更好的对于图划分进行负载均衡,图划分效率也更高。同时,由于采用了并行化技术,图调整的速度较快,平均时间为传统图划分算法的11%左右。因而,本发明实施例可以快速调整现有的图划分,并进行较大的加速。
对于应用A和图片段Fi,图片段Fi的计算代价函数和通信代价函数分别定义为
Figure BDA0002537149390000081
Figure BDA0002537149390000082
可知,图片段Fi的代价函数
Figure BDA0002537149390000083
图片段Fi的计算代价等于该图片段Fi内所有点的计算代价之和,即
Figure BDA0002537149390000084
Figure BDA0002537149390000085
图片段Fi的通信代价等于该图片段Fi内所有主点(master node)在图片段Fi中的边界点Fi.O的通信代价之和,即
Figure BDA0002537149390000086
其中,边界点Fi.O是图片段Fi中,且在其他的图片段中存在复制的点,即Fi.O={v∈Vi|v∈Vi∧i≠j},例如图中的点v1,v3,v4,v5,其中,vi是图片段Fi中的点集合。主点(masternode)则是一个点的众多复制中,负责接受和发送该点的状态信息的点,例如,对于点v4,可以选择图片段F1或F2中任意一个v4作为主点。在分布式系统中,边界点的主点负责接收和发送于该点有关的全部信息,因而通信和同步开销主要存在于边界点的主点。
在一实施例中,所述点v的测量变量X(v)包括:点v在图片段Fi的入度、点v在图片段Fi的出度、点v在图G的入度、点v在图G的出度、点v在所有的图片段中被复制的次数、图G中所有点的平均出度或入度。
也就是说,对于点v,其测量变量X(v),包括:
Figure BDA0002537149390000087
即点v在图片段Fi的入度,例如,图3中点v4在图片段F1中的入度
Figure BDA0002537149390000088
为3;Ei是图片段Fi的边集合。
Figure BDA0002537149390000089
即点v在图片段Fi的出度,例如,图3中点v2在图片段F1中的出度
Figure BDA00025371493900000810
为1;
Figure BDA00025371493900000811
即点v在图G的入度,例如,图2中点v4在图G中的入度
Figure BDA00025371493900000812
为3;E是图G的边集合。
Figure BDA00025371493900000813
即点v在图G的出度,例如,图2中点v3在图G中的出度
Figure BDA00025371493900000814
为3;
-r(v)=|{j|v∈Vj∧j≠i}|,即点v在所有的图片段中被复制的次数,例如,图2至图4中点v4在所有图片段中出现2次,即被复制1次;
Figure BDA0002537149390000091
即图G中所有点的平均出度或入度。
在进行多项式回归拟合时,计算代价函数hA(X(v))和通信代价函数gA(X(v))除使用不同的训练数据外,二者的目标函数和拟合方法完全相同。因而,对于通信代价函数的技术细节可直接参考计算代价函数hA(X(v))的描述。
在一实施例中,所述在训练样本上,使用多项式回归拟合该图算法的代价函数,并将代价函数发送到各个工作机,包括:
将计算代价函数建模为多项式函数
Figure BDA0002537149390000092
其中Γ是
Figure BDA0002537149390000093
Figure BDA0002537149390000094
的展开式中项的集合,ωj是γj(v)的权重,自然数p是多项式的最高阶;
将训练样本表示为[X(vk),tk],其中tk为运行应用A时点vk的计算时间;
通过随机梯度下降算法不断调整权重ωj,使得X(vk)和tk尽量接近,两者接近表明拟合精确,准确率高。
本发明实施例通过随机梯度下降(stochastic gradientdescent)算法不断调整权重ωj,使得X(vk)和tk尽量接近,让拟合函数尽量精确。
在一实施例中,调整权重过程中,使用相对均方误差作为损失函数:
Figure BDA0002537149390000095
其中,
Figure BDA0002537149390000096
为计算代价函数hA(X(v))的训练样本,
Figure BDA0002537149390000097
为训练样本数量,Ω={ω1,…,ωn},
Figure BDA0002537149390000098
为惩罚函数,用于防止训练结果过拟合。
在一实施例中,所述对于每个载荷高的图片段,选择一系列点作为候选点,包括:
给定一个图片段Fi,首先任选一个点,对图片段Fi进行广度优先搜索;
将图片段Fi中的各点按搜索顺序排序,然后根据排序结果以贪心的方式将各点作为候选点,返回全部的候选点。
本实施例中,为了尽量保证图片段Fi的本地性(locality),首先任选一个点,对图片段Fi采用广度优先搜索进行遍历。广度优先搜索指,在遍历图中点之前,先访问当前点的所有邻接点。之后将图片段中的点按遍历的先后顺序排序。根据该顺序结果,以贪心的方式将点作为候选点,最后返回全部的候选点。
并行E2H算法是指并行执行E2H算法,E2H算法分为两个阶段。第一阶段,根据计算代价函数hA均衡各个图片段的计算载荷,包括EMigrate与ESplit两个过程。第二阶段,E2H算法根据通信代价函数gA调整各个图片段的通信载荷,包含MAssign一个过程。
E2H算法首先计算图片段的计算代价预算(平均计算载荷)。基于计算代价预算,将图片段分为两类:载荷高的图片段(即计算载荷高于平均计算载荷)和载荷低(即计算载荷低于平均计算载荷)的图片段。对于每个载荷高的图片段Fi∈O,选择一系列点作为候选点,用于之后的EMigrate和ESplit过程中调整。
EMigrate过程每次从候选点中选择一个点及其全部临边,移动至载荷低的任意一个图片段Fu中,只要保证图片段Fu的载荷不会超过计算代价预算。当没有点及其临边可以被移动时,即把任意的点及其临边移动到任意载荷低的图片段时,都会引起该图片段的计算载荷超过计算代价预算时,进入ESplit过程。也就是说,EMigrate从载荷高的图片段中,把点以及点的全部临边移动到载荷低的图片段,从而减小均衡系数。直到系统无法移动任何一个点及其临边使得均衡系数减小,EMigrate阶段停止。
ESplit每次选择未被成功移动的候选点中一个点的一条临边,将这条边移动到载荷最小的图片段中。也就是说,ESplit将未被切分的点的全部连边切分至多个图片段中,从而减小均衡系数。在某些不均衡(skewed)的图网络中,EMigrate可能并不足够,因为一个点及其全部临边的计算代价就已经超过了负载均值。因而需要将该点的临边切分至多个图片段,从而减小均衡系数。ESplit只会处理EMigrate阶段所并未移动的点。
最后,根据MAssign算法重新分配各个点的主点,均衡通信负载。MAssign通过改变每个边界点的主点分配,均衡各个图片段的通信负载。首先,MAssign将所有边界点标记为未被分配的点,并在之后以one-pass(单道)的方式为所有边界点分配主点。对于点v,假设v存在于图片段
Figure BDA0002537149390000101
中,用
Figure BDA0002537149390000102
表示若将点v的主点分配在图片段
Figure BDA0002537149390000103
中的某个图片段所引入的通信代价。在遍历所有的边界顶点时,MAssign会将点v的主点分配至图片段
Figure BDA0002537149390000104
使得
Figure BDA0002537149390000105
并行V2H算法是指并行执行V2H算法,V2H算法整体分为三个阶段:VMigrate,VMerge和MAssign。首先,VMigrate根据计算代价函数hA均衡各个图片段的计算载荷。第二阶段,VMerge通过将边切分的点转化为点切分的点,降低整体的通信载荷,并继续均衡计算载荷。最后,根据通信代价函数gA,使用MAssign调整各个图片段的通信载荷,此阶段与E2H算法的MAssign阶段完全相同。
对于VMigrate过程:与EMigrate原理相同,VMigrate将点及其全部临边从载荷高的图片段移动到载荷低的图片段中,直至没有任何一个点及其临边可以被移动。
对于VMerge过程:其不断地将边切分的点融合为点划点切分的点,从而增加图划分的局部性。在每次融合一个点v时,首先(a)选择计算代价
Figure BDA0002537149390000113
最小的图片段及其中的一个点v,然后(b)将v在图网络G中全部的临边移动或复制至图片段Fi,将点v从边切分点转化为点切分的点,(c)最后确保图片段Fi的计算载荷仍小于平均计算载荷。
对于MAssign过程:与E2H算法的MAssign阶段完全相同。
并行E2H算法和V2H算法,主要在于对于EMigrate,ESplit,VMigrate,VMerge和MAssign五个阶段的并行化。对于给定的图划分(F1,F2…,Fn),将图片段分布至工作机(P1,P2,…,Pn)。本发明实施例采用整体同步并行模型,通过迭代(supterstep)划分计算。在每轮迭代中,各个工作机对图划分进行一小部分调整,之后通过通信同步这些调整(包括被移动的点和边等等),并向所有工作机更新同步后的本工作机的图片段的计算代价
Figure BDA0002537149390000111
和通信代价
Figure BDA0002537149390000112
在一实施例中,所述EMigrate的并行化与VMigrate的并行化包括:
在每轮迭代中,每个载荷高的图片段所在的工作机选取一部分的候选点及其全部临边,以轮询的方式发送至各个载荷低的图片段所在的工作机,每个载荷低的图片段所在的工作机顺序的处理收到的候选点及其全部临边,若接受候选点后,计算载荷小于计算代价预算,则接受该候选点及其全部,否则拒绝该候选点及其全部临边并将该候选点及其全部临边发送回原工作机;在下一轮迭代中,载荷高的图片段所在的工作机将被拒绝的候选点及其全部临边发送至其他载荷低的图片段所在的工作机,直到所有的候选点及其全部临边都被载荷低的图片段所在的工作机接受,或被全部载荷低的图片段所在的工作机拒绝。
本实施例中,假定,在n个工作机中,存在k个载荷低的工作机
Figure BDA0002537149390000121
每个载荷高的工作机在每轮迭代中,并行地选择k个候选点及其全部临边,分别发送至载荷低的工作机。
在一实施例中,所述ESplit的并行化包括:
在每轮迭代中,载荷高的图片段所在的工作机以贪心的方式并行分配一部分被拒绝的候选点及其一条临边,并将该临边发送至载荷低的图片段所在的工作机,直到所有的候选点的临边均被处理。
此过程是指并行分配被EMigrate或VMigrate拒绝的候选点及其一条临边。
在一实施例中,所述VMerge的并行化包括:
在每轮迭代中,载荷低的图片段所在的工作机选择一个边切分的点,并向所有的工作机发出获取全部临边的请求,并在下一轮迭代中计算所增加的计算代价,若增加计算代价后,载荷低的图片段所在的工作机的计算载荷超过计算代价预算,则拒绝所获得的临边并发送回原工作机,直到所有的载荷低的图片段所在的工作机中的边切分的点被转化为点切分的点,或被拒绝转化为点切分的点。
在一实施例中,所述MAssign的并行化包括:
在每轮迭代中,每个工作机选择与工作机总数量相同的边界点,并行的分配这些边界点的主点。
在实施例中,每轮迭代过程,每个工作机选择n(工作机的数量)个边界点,并行的分配这些边界点的主点。由于每个图片段的计算代价和通信代价都是被所有工作机共享的,每轮迭代中各个工作机都根据上一轮迭代中各个图片段的计算代价和通信代价分配边界点的主点。
本发明还提供一种实现如上所述图划分调整方法的图划分调整系统,如图5所示,其包括:协调器、输入输出控制器和多个工作机;
所述协调器与所有工作机通信连接,每一工作机与其他工作机通信连接,所述输入输出控制器与所述协调器和所有工作机通信连接;
对于应用A和图G=(V,E)中的点v,将代价函数分为计算代价函数hA(X(v))和通信代价函数gA(X(v)),其中,X(v)为点v的测量变量;在训练样本上,使用多项式回归拟合该图算法的代价函数,并将代价函数发送到各个工作机;
所述工作机用于在预定数据集上运行用户给定的图算法,获得该图算法的训练样本,所述训练样本包括各个点的计算时间和通信时间;
所述工作机用于加载已有的图划分,若已有的图划分为点划分,则对应工作机使用并行E2H算法进行调整;若已有的图划分为边划分,则对应工作机使用并行V2H算法进行调整;
其中,所述并行E2H算法包括:
EMigrate的并行化:首先计算各图片段的计算代价预算;基于计算代价预算,将图片段分为两类:载荷高的图片段和载荷低的图片段;对于每个载荷高的图片段,选择一系列点作为候选点;不断从候选点中选择一个点及其全部临边,移动至载荷低的图片段中;
ESplit的并行化:当没有点及其临边可以被移动时,不断从候选点中选择一个点及其一条临边,将这条临边移动到载荷低的图片段中;
MAssign的并行化:重新分配各个点的主点,均衡通信负载;
所述并行V2H算法包括:
VMigrate的并行化:首先计算各图片段的计算代价预算;基于计算代价预算,将图片段分为两类:载荷高的图片段与载荷低的图片段;对于每个载荷高的图片段,选择一系列点作为候选点;不断从候选点中选择一个点及其全部临边,移动至载荷低的图片段中;
VMerge的并行化:不断选择载荷最小的图片段中的边切分的点转化为点切分的点;
MAssign的并行化:重新分配各个点的主点,均衡通信负载。
关于上述系统实施例的具体技术细节可参考前述方法实施例的描述,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种应用驱动的图划分调整方法,其特征在于,包括:
对于应用A和图G=(V,E)中的点v,将代价函数分为计算代价函数hA(X(v))和通信代价函数gA(X(v)),其中,X(v)为点v的测量变量;
在预定数据集上运行用户给定的图算法,获得该图算法的训练样本,所述训练样本包括各个点的计算时间和通信时间;
在训练样本上,使用多项式回归拟合该图算法的代价函数,并将代价函数发送到各个工作机;
各个工作机加载已有的图划分,若已有的图划分为点划分,则对应工作机使用并行E2H算法进行调整;若已有的图划分为边划分,则对应工作机使用并行V2H算法进行调整;
其中,所述并行E2H算法包括:
EMigrate的并行化:首先计算各图片段的计算代价预算;基于计算代价预算,将图片段分为两类:载荷高的图片段和载荷低的图片段;对于每个载荷高的图片段,选择一系列点作为候选点;不断从候选点中选择一个点及其全部临边,移动至载荷低的图片段中;
ESplit的并行化:当没有点及其临边可以被移动时,不断从候选点中选择一个点及其一条临边,将这条临边移动到载荷低的图片段中;
MAssign的并行化:重新分配各个点的主点,均衡通信负载;
所述并行V2H算法包括:
VMigrate的并行化:首先计算各图片段的计算代价预算;基于计算代价预算,将图片段分为两类:载荷高的图片段与载荷低的图片段;对于每个载荷高的图片段,选择一系列点作为候选点;不断从候选点中选择一个点及其全部临边,移动至载荷低的图片段中;
VMerge的并行化:不断选择载荷最小的图片段中的边切分的点转化为点切分的点;
MAssign的并行化:重新分配各个点的主点,均衡通信负载。
2.根据权利要求1所述的应用驱动的图划分调整方法 ,其特征在于,所述在训练样本上,使用多项式回归拟合该图算法的代价函数,并将代价函数发送到各个工作机,包括:
将计算代价函数建模为多项式函数
Figure FDA0002537149380000021
其中Γ是
Figure FDA0002537149380000022
Figure FDA0002537149380000023
的展开式中项的集合,ωj是γj(v)的权重,自然数p是多项式的最高阶;
将训练样本表示为[X(vk),tk],其中tk为运行应用A时点vk的计算时间;
通过随机梯度下降算法不断调整权重ωj,使得X(vk)和tk尽量接近。
3.根据权利要求2所述的应用驱动的图划分调整方法,其特征在于,调整权重过程中,使用相对均方误差作为损失函数:
Figure FDA0002537149380000024
其中,
Figure FDA0002537149380000025
为计算代价函数hA(X(v))的训练样本,
Figure FDA0002537149380000026
为训练样本数量,Ω={ω1,…,ωn},
Figure FDA0002537149380000027
为惩罚函数,用于防止训练结果过拟合。
4.根据权利要求1所述的应用驱动的图划分调整方法,其特征在于,所述对于每个载荷高的图片段,选择一系列点作为候选点,包括:
给定一个图片段Fi,首先任选一个点,对图片段Fi进行广度优先搜索;
将图片段Fi中的各点按搜索顺序排序,然后根据排序结果以贪心的方式将各点作为候选点,返回全部的候选点。
5.根据权利要求1所述的应用驱动的图划分调整方法,其特征在于,所述EMigrate的并行化与VMigrate的并行化包括:
在每轮迭代中,每个载荷高的图片段所在的工作机选取一部分的候选点及其全部临边,以轮询的方式发送至各个载荷低的图片段所在的工作机,每个载荷低的图片段所在的工作机顺序的处理收到的候选点及其全部临边,若接受候选点后,计算载荷小于计算代价预算,则接受该候选点及其全部,否则拒绝该候选点及其全部临边并将该候选点及其全部临边发送回原工作机;在下一轮迭代中,载荷高的图片段所在的工作机将被拒绝的候选点及其全部临边发送至其他载荷低的图片段所在的工作机,直到所有的候选点及其全部临边都被载荷低的图片段所在的工作机接受,或被全部载荷低的图片段所在的工作机拒绝。
6.根据权利要求1所述的应用驱动的图划分调整方法,其特征在于,所述ESplit的并行化包括:
在每轮迭代中,载荷高的图片段所在的工作机以贪心的方式并行分配一部分被拒绝的候选点及其一条临边,并将该临边发送至载荷低的图片段所在的工作机,直到所有的候选点的临边均被处理。
7.根据权利要求1所述的应用驱动的图划分调整方法,其特征在于,所述VMerge的并行化包括:
在每轮迭代中,载荷低的图片段所在的工作机选择一个边切分的点,并向所有的工作机发出获取全部临边的请求,并在下一轮迭代中计算所增加的计算代价,若增加计算代价后,载荷低的图片段所在的工作机的计算载荷超过计算代价预算,则拒绝所获得的临边并发送回原工作机,直到所有的载荷低的图片段所在的工作机中的边切分的点被转化为点切分的点,或被拒绝转化为点切分的点。
8.根据权利要求1所述的应用驱动的图划分调整方法,其特征在于,所述MAssign的并行化包括:
在每轮迭代中,每个工作机选择与工作机总数量相同的边界点,并行的分配这些边界点的主点。
9.根据权利要求1所述的应用驱动的图划分调整方法,其特征在于,所述点v的测量变量X(v)包括:点v在图片段Fi的入度、点v在图片段Fi的出度、点v在图G的入度、点v在图G的出度、点v在所有的图片段中被复制的次数、图G中所有点的平均出度或入度。
10.一种实现如权利要求1~9任一项所述图划分调整方法的图划分调整系统,其特征在于,包括:协调器、输入输出控制器和多个工作机;
所述协调器与所有工作机通信连接,每一工作机与其他工作机通信连接,所述输入输出控制器与所述协调器和所有工作机通信连接;
对于应用A和图G=(V,E)中的点v,将代价函数分为计算代价函数hA(X(v))和通信代价函数gA(X(v)),其中,X(v)为点v的测量变量;在训练样本上,使用多项式回归拟合该图算法的代价函数,并将代价函数发送到各个工作机;
所述工作机用于在预定数据集上运行用户给定的图算法,获得该图算法的训练样本,所述训练样本包括各个点的计算时间和通信时间;
所述工作机用于加载已有的图划分,若已有的图划分为点划分,则对应工作机使用并行E2H算法进行调整;若已有的图划分为边划分,则对应工作机使用并行V2H算法进行调整;
其中,所述并行E2H算法包括:
EMigrate的并行化:首先计算各图片段的计算代价预算;基于计算代价预算,将图片段分为两类:载荷高的图片段和载荷低的图片段;对于每个载荷高的图片段,选择一系列点作为候选点;不断从候选点中选择一个点及其全部临边,移动至载荷低的图片段中;
ESplit的并行化:当没有点及其临边可以被移动时,不断从候选点中选择一个点及其一条临边,将这条临边移动到载荷低的图片段中;
MAssign的并行化:重新分配各个点的主点,均衡通信负载;
所述并行V2H算法包括:
VMigrate的并行化:首先计算各图片段的计算代价预算;基于计算代价预算,将图片段分为两类:载荷高的图片段与载荷低的图片段;对于每个载荷高的图片段,选择一系列点作为候选点;不断从候选点中选择一个点及其全部临边,移动至载荷低的图片段中;
VMerge的并行化:不断选择载荷最小的图片段中的边切分的点转化为点切分的点;
MAssign的并行化:重新分配各个点的主点,均衡通信负载。
CN202010536216.5A 2020-06-12 2020-06-12 一种应用驱动的图划分调整方法和系统 Active CN111737531B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010536216.5A CN111737531B (zh) 2020-06-12 2020-06-12 一种应用驱动的图划分调整方法和系统
PCT/CN2020/098571 WO2021248573A1 (zh) 2020-06-12 2020-06-28 一种应用驱动的图划分调整方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010536216.5A CN111737531B (zh) 2020-06-12 2020-06-12 一种应用驱动的图划分调整方法和系统

Publications (2)

Publication Number Publication Date
CN111737531A CN111737531A (zh) 2020-10-02
CN111737531B true CN111737531B (zh) 2021-05-28

Family

ID=72648993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010536216.5A Active CN111737531B (zh) 2020-06-12 2020-06-12 一种应用驱动的图划分调整方法和系统

Country Status (2)

Country Link
CN (1) CN111737531B (zh)
WO (1) WO2021248573A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105610992A (zh) * 2016-03-31 2016-05-25 浪潮通信信息系统有限公司 一种分布式流计算系统任务分配负载均衡方法
CN106250563A (zh) * 2016-08-30 2016-12-21 江苏名通信息科技有限公司 基于GPS平台的k‑bisimulation计算算法
CN106970779A (zh) * 2017-03-30 2017-07-21 重庆大学 一种面向内存计算的流式平衡图划分方法
CN107122248A (zh) * 2017-05-02 2017-09-01 华中科技大学 一种存储优化的分布式图处理方法
CN108319698A (zh) * 2018-02-02 2018-07-24 华中科技大学 一种基于博弈的流图划分方法和系统
CN111158918A (zh) * 2019-12-31 2020-05-15 深圳大学 支撑点并行枚举负载均衡方法、装置、设备及介质
CN111198977A (zh) * 2019-12-10 2020-05-26 同济大学 一种基于图算法负载的图大数据流式划分方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8792633B2 (en) * 2012-09-07 2014-07-29 Genesys Telecommunications Laboratories, Inc. Method of distributed aggregation in a call center
GB2521367A (en) * 2013-12-17 2015-06-24 Ibm Adaptable and extensible runtime and system for heterogeneous computer systems
CN109388772A (zh) * 2018-09-04 2019-02-26 河海大学 一种基于时间的大规模图均衡k划分的禁忌搜索方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105610992A (zh) * 2016-03-31 2016-05-25 浪潮通信信息系统有限公司 一种分布式流计算系统任务分配负载均衡方法
CN106250563A (zh) * 2016-08-30 2016-12-21 江苏名通信息科技有限公司 基于GPS平台的k‑bisimulation计算算法
CN106970779A (zh) * 2017-03-30 2017-07-21 重庆大学 一种面向内存计算的流式平衡图划分方法
CN107122248A (zh) * 2017-05-02 2017-09-01 华中科技大学 一种存储优化的分布式图处理方法
CN108319698A (zh) * 2018-02-02 2018-07-24 华中科技大学 一种基于博弈的流图划分方法和系统
CN111198977A (zh) * 2019-12-10 2020-05-26 同济大学 一种基于图算法负载的图大数据流式划分方法
CN111158918A (zh) * 2019-12-31 2020-05-15 深圳大学 支撑点并行枚举负载均衡方法、装置、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Zainab Abbas等.Streaming graph partitioning: an experimental study.《Proceedings of the VLDB Endowment》.2018,第1590-1603页. *

Also Published As

Publication number Publication date
CN111737531A (zh) 2020-10-02
WO2021248573A1 (zh) 2021-12-16

Similar Documents

Publication Publication Date Title
US20050177833A1 (en) Method and apparatus for reassigning objects to processing units
CN111538867B (zh) 一种有界增量图划分方法和系统
CN108089918B (zh) 一种面向异构服务器结构的图计算负载均衡方法
CN107220108B (zh) 一种实现云数据中心负载均衡的方法和系统
US7725900B2 (en) Method of assigning objects to processing units
CN111752678A (zh) 面向边缘计算中分布式协同学习的低功耗容器放置方法
CN112100185B (zh) 区块链数据平衡负载的索引系统及方法
CN106502761B (zh) 一种资源高效利用的虚拟机部署方法
CN114356544A (zh) 面向边缘集群的并行计算方法和系统
CN114595049A (zh) 一种云边协同任务调度方法及装置
CN104104621A (zh) 一种基于非线性降维的虚拟网络资源动态自适应调节方法
US9485309B2 (en) Optimal fair distribution among buckets of different capacities
CN113300861B (zh) 网络切片配置方法、装置以及存储介质
CN111737531B (zh) 一种应用驱动的图划分调整方法和系统
CN107479968B (zh) 一种面向动态图增量计算的均衡负载方法及系统
US7647592B2 (en) Methods and systems for assigning objects to processing units
CN112882805A (zh) 一种任务资源约束的利润优化调度方法
CN116048773B (zh) 一种基于波函数坍缩的分布式协作任务指派方法和系统
CN113301583B (zh) 网络切片的重映射方法、装置以及存储介质
CN112948087A (zh) 一种基于拓扑排序的任务调度方法及系统
Lu et al. NPIY: A novel partitioner for improving mapreduce performance
CN113326125B (zh) 大规模分布式图计算端到端加速方法及装置
Lu et al. Improving mapreduce performance by using a new partitioner in yarn
CN116226409A (zh) 一种分布式知识图谱分片方法及装置
CN114745274A (zh) 一种基于灵活栅格光网络实现虚拟网络映射的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant