CN105808340A - 负载均衡方法及系统 - Google Patents

负载均衡方法及系统 Download PDF

Info

Publication number
CN105808340A
CN105808340A CN201410836737.7A CN201410836737A CN105808340A CN 105808340 A CN105808340 A CN 105808340A CN 201410836737 A CN201410836737 A CN 201410836737A CN 105808340 A CN105808340 A CN 105808340A
Authority
CN
China
Prior art keywords
task
summit
limit
tasks
super step
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
Application number
CN201410836737.7A
Other languages
English (en)
Other versions
CN105808340B (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.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software 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 China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201410836737.7A priority Critical patent/CN105808340B/zh
Publication of CN105808340A publication Critical patent/CN105808340A/zh
Application granted granted Critical
Publication of CN105808340B publication Critical patent/CN105808340B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例公开了一种负载均衡方法及系统,所述方法包括:获取在第L超级步中每个任务的相关信息;依据每个任务的相关信息,预测每个任务在第K超级步中的激活顶点数量;依据每个任务在第K超级步的激活顶点数量,预测每个任务在第K超级步的运行时间;其中,L为大于等于1的正整数、K为大于L的正整数;依据每个任务在第K超级步中的运行时间,确定短板任务集合和长板任务集合;预测将短板任务集合中一任务上的数据迁移至长板任务集合中一任务上而产生的迁移收益及迁移代价;当迁移收益不低于迁移代价时,将短板任务集合中所述任务上的数据迁移至长板任务集合中的所述任务上。能够避免水桶效应,使各任务的计算负载均衡,提高计算效率。

Description

负载均衡方法及系统
技术领域
本发明涉及数据处理技术,具体涉及负载均衡方法及系统。
背景技术
针对基于整体并行同步(BSP,BulkSynchronousParallelComputingModel)模型的类Pregel处理系统,一个图处理作业由一系列的超级步组成,每个超级步的工作由多个分布式任务并行完成,具体包括三个有序的阶段:
(1)并发计算阶段:每个任务使用本地内存中存储的数据完成计算工作;
(2)通信阶段:各任务之间交换计算结果;
(3)路障同步阶段:当一个任务完成前述阶段(1)和(2)后,进入路障同步阶段,等待其它任务,直到所有任务均完成阶段(1)和(2)的工作。
类Pregel处理系统采用迭代运算,趋于逐步收敛状态,导致各任务的计算负载不同;在路障同步阶段下,会引起严重的“水桶效应”,降低系统的整体计算效率。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种负载均衡方法及系统,能够避免水桶效应,使各任务的计算负载均衡,提高类Pregel处理系统的计算效率。
本发明实施例的技术方案是这样实现的:
本发明实施例还提供了一种负载均衡方法,所述方法还包括:
获取在第L超级步中每个任务的相关信息;
依据每个任务的相关信息,预测每个任务在第K超级步中的激活顶点数量;
依据每个任务在第K超级步的激活顶点数量,预测每个任务在第K超级步的运行时间;其中,L为大于等于1的正整数、K为大于L的正整数;
依据每个任务在第K超级步中的运行时间,确定短板任务集合和长板任务集合;
预测将短板任务集合中一任务上的数据迁移至长板任务集合中一任务上而产生的迁移收益及迁移代价;
当迁移收益不低于迁移开销时,将短板任务集合中所述任务上的数据迁移至长板任务集合中的所述任务上。
上述方案中,所述依据每个任务的相关信息,预测每个任务在第K超级步中的激活顶点数量,包括:
所述任务的相关信息至少包括:任务的运行时间、激活顶点个数、总顶点个数、总边数;
将任务负责处理的图数据的拓扑关系映射为相应的哈希Hash桶;
确定每一任务的每一Hash桶中的相关信息;所述Hash桶的相关信息至少包括:每一Hash桶所包含相应任务的激活顶点数量、每一Hash桶的总顶点数量、及Hash桶之间交互的消息数量;
利用Hash桶的相关信息,预测每一任务的每一Hash桶在第K超级步中的激活顶点的数量;
获取属于同一个任务的所有Hash桶在第K超级步中的激活顶点的数量之和;
确定属于同一个任务的所有Hash桶在第K超级步中的激活顶点的数量之和为该任务在第K超级步中的激活顶点的数量。
上述方案中,所述依据每个任务在第K超级步的激活顶点数量,预测每个任务在第K超级步的运行时间,包括:
获取所述相关信息中每个任务在第L超级步的运行时间、激活顶点数量;
将每个任务在第L超级步的运行时间、激活顶点数量及为相应任务预测出的第K超级步的激活顶点数量代入至如下公式,得到每个任务在第K超级步的运行时间:
T K = T L Num L × Num K
其中,TK为任务T在第K超级步的运行时间;TL表示任务T在第L超级步的运行时间;NumL表示任务T在第L超级步的激活顶点数量;NumK表示任务T在第K超级步的激活顶点数量。
上述方案中,所述依据每个任务在第K超级步中的运行时间,确定短板任务集合和长板任务集合,包括:
将所有任务按照预测出的第K超级步中的运行时间进行从大到小排序、或者进行从小到大排序;
在已排序的任务中,依据盒图法筛选出运行较慢的任务和运行较快的任务;
其中,所述短板任务集合为运行较慢的任务的集合;所述长板任务集合为运行较快的任务的集合。
上述方案中,所述预测将短板任务集合中一任务上的数据迁移至长板任务集合中一任务上而产生的迁移收益及迁移代价,包括:
当短板任务集合中的所述任务为任务d、长板任务集合中的所述任务为任务r时,预测当任务d采用出边单向转移机制时将预定出边迁移至任务r时而产生的迁移收益及迁移代价;
进一步的,任务d采用出边单向转移机制向任务r迁移出边时,获取任务d与任务r的静态交互边数、任务d的总顶点数、预定的消息传送代价值;
获取在任务r中备份的与所述出边对应的顶点的数量;
获取剩余的超级步的数量;
获取从任务d迁移至任务r的出边对应的源顶点数量的集合;
将上述所获取的信息代入至如下公式,得到由任务d向任务r进行出边迁移的迁移收益E:
E = ( e d , r v d - 1 ) × Δv × T msg × ω
其中,ed,r是任务d与任务r的静态交互边数;vd是任务d的总顶点数;Tmsg是单个消息传送的代价;ω是剩余的超级步的数量;△v为从任务d迁移至任务r的出边对应的源顶点数量的集合;
所述迁移代价Cost为:
Cost=Cost1+Cost2
其中,Cost1为迁移路障同步的代价;Cost2为在任务r中备份所述出边对应的顶点的传输代价;
相应的,当迁移收益不低于迁移代价时,通知短板任务集合中所述任务利用出边单向转移机制将相应的数据迁移至长板任务集合中的所述任务上,包括:
确定短板任务集合中进行出边的所述任务与接收所述出边对应数据的长板任务集合中的所述任务为迁移任务对;
当E≥Cost时,发送迁移命令至各任务,以使迁移任务对采用出边单向转移机制,进行出边的迁移及对与所述出边对应的顶点的备份。
本发明实施例还提供了一种负载均衡系统,所述系统包括:
第一获取单元,用于获取在第L超级步中每个任务的相关信息;
第一预测单元,用于依据每个任务的相关信息,预测每个任务在第K超级步中的激活顶点数量;
第二预测单元,用于依据每个任务在第K超级步的激活顶点数量,预测每个任务在第K超级步的运行时间;其中,L为大于等于1的正整数、K为大于L的正整数;
第一确定单元,用于依据每个任务在第K超级步中的运行时间,确定短板任务集合和长板任务集合;
第三预测单元,用于预测将短板任务集合中一任务上的数据迁移至长板任务集合中一任务上而产生的迁移收益及迁移代价;
第一迁移单元,用于当迁移收益不低于迁移代价时,将短板任务集合中所述任务上的数据迁移至长板任务集合中的所述任务上。
上述方案中,所述任务的相关信息至少包括:任务的运行时间、激活顶点个数、总顶点个数、总边数;
所述第一预测单元,还用于将任务负责处理的图数据的拓扑关系映射为相应的哈希Hash桶;
确定每一任务的每一Hash桶中的相关信息;所述Hash桶的相关信息至少包括:每一Hash桶所包含相应任务的激活顶点数量、每一Hash桶的总顶点数量、及Hash桶之间交互的消息数量;
利用Hash桶的相关信息,预测每一任务的每一Hash桶在第K超级步中的激活顶点的数量;
获取属于同一个任务的所有Hash桶在第K超级步中的激活顶点的数量之和;
确定属于同一个任务的所有Hash桶在第K超级步中的激活顶点的数量之和为该任务在第K超级步中的激活顶点的数量。
上述方案中,
所述第二预测单元,用于获取所述相关信息中每个任务在第L超级步的运行时间、激活顶点数量;
将每个任务在第L超级步的运行时间、激活顶点数量及为相应任务预测出的第K超级步的激活顶点数量代入至如下公式,得到每个任务在第K超级步的运行时间:
T K = T L Num L × Num K
其中,TK为任务T在第K超级步的运行时间;TL表示任务T在第L超级步的运行时间;NumL表示任务T在第L超级步的激活顶点数量;NumK表示任务T在第K超级步的激活顶点数量。
上述方案中,
所述第一确定单元,用于将所有任务按照预测出的第K超级步中的运行时间进行从大到小排序、或者进行从小到大排序;
在已排序的任务中,依据盒图法筛选出运行较慢的任务和运行较快的任务;
其中,所述短板任务集合为运行较慢的任务的集合;所述长板任务集合为运行较快的任务的集合。
上述方案中,
所述第三预测单元,用于当短板任务集合中的所述任务为任务d、长板任务集合中的所述任务为任务r时,预测当任务d采用出边单向转移机制时将预定出边迁移至任务r时而产生的迁移收益及迁移代价;
进一步的,所述第三预测单元,用于在任务d采用出边单向转移机制向任务r迁移出边时,获取任务d与任务r的静态交互边数、任务d的总顶点数、预定的消息传送代价值;
获取在任务r中备份的与所述出边对应的顶点的数量;
获取剩余的超级步的数量;
获取从任务d迁移至任务r的出边对应的源顶点数量的集合;
将上述所获取的信息代入至如下公式,得到由任务d向任务r进行出边迁移的迁移收益E:
E = ( e d , r v d - 1 ) × Δv × T msg × ω
其中,ed,r是任务d与任务r的静态交互边数;vd是任务d的总顶点数;Tmsg是单个消息传送的代价;ω是剩余的超级步的数量;△v为从任务d迁移至任务r的出边对应的源顶点数量的集合;
所述迁移代价为:
Cost=Cost1+Cost2
其中,Cost1为迁移路障同步的代价;Cost2为将任务d中的出边迁移至任务r时在任务r中备份所述迁移出边对应的顶点的传输代价;
相应的,所述第一迁移单元,用于当E≥Cost时,通知短板任务集合中所述任务利用出边单向转移机制将相应的数据迁移至长板任务集合中的所述任务上;进一步的,确定短板任务集合中进行出边的所述任务与接收所述出边对应数据的长板任务集合中的所述任务为迁移任务对;当E≥Cost时,发送迁移命令至各任务,以使迁移任务对采用出边单向转移机制,进行出边的迁移及对与所述出边对应的顶点的备份。
本发明实施例提供的负载均衡方法及系统,所述方法包括:获取在第L超级步中每个任务的相关信息;依据每个任务的相关信息,预测每个任务在第K超级步中的激活顶点数量;依据每个任务在第K超级步的激活顶点数量,预测每个任务在第K超级步的运行时间;其中,L为大于等于1的正整数、K为大于L的正整数;依据每个任务在第K超级步中的运行时间,确定短板任务集合和长板任务集合;预测将短板任务集合中一任务上的数据迁移至长板任务集合中一任务上而产生的迁移收益及迁移代价;当迁移收益不低于迁移代价时,将短板任务集合中所述任务上的数据迁移至长板任务集合中的所述任务上。利用本发明实施例,通过对迁移收益及代价的预测,决定是否进行边的迁移,使各任务的计算负载均衡,能够避免水桶效应,提高类Pregel处理系统的计算效率。
附图说明
图1为本发明实施例提供的负载均衡方法的流程示意图;;
图2为本发明实施例提供的Hash桶之间的数据交互的一示意图;
图3(a)、(b)为本发明实施例提供的出边单向转移机制的一示意图;
图4(a)、(b)为本发明实施例提供的出边单向转移机制的另一示意图;
图5为本发明实施例提供的负载均衡系统的组成示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
相关技术中,类Pregel处理系统可采用的负载均衡技术可包括:以任务为中心的动态负载均衡技术、以任务的数据块为中心的动态负载均衡技术及以任务的顶点为中心的动态负载均衡技术;这些负载均衡技术均未考虑到图数据之间的拓扑关系(即顶点之间的出边依赖关系),导致预测的准确度不高;此外,虽然从以任务中心到以顶点为中心,已进行了一定程度上的细化,但是细化粒度仍然过粗,使得图数据在迁移开销、路由维护等方面没有得到有效的减少。
本发明实施例提供的负载均衡方法,应用于类Pregel处理系统,由于BSP模型采用主从架构即Master-Slave架构,所以本发明实施例可具体应用于主控端(Master端)。
图1为本发明实施例提供的负载均衡方法的流程示意图;如图1所示,所述方法包括:
步骤101:获取在第L超级步中每个任务的相关信息;
这里,L为大于等于1的正整数,所述相关信息至少包括:任务的运行时间、激活顶点个数、总顶点个数、总边数。每个Slave端在第L超级步中将记录自身的运行时间、激活顶点个数、总顶点个数、总边数,并在系统全局同步时上报至Master端,Master端接收各Slave端上报的上述信息。
步骤102:依据每个任务的相关信息,预测每个任务在第K超级步中的激活顶点数量;
这里,K为大于等于L的正整数;K可以取值为L+G,G为迭代步长,G为大于等于1的正整数。普遍的,考虑到在类Pregel处理系统的迭代处理运算中,多个超级步是按照超级步的顺序进行运算,如计算完第5个超级步再计算第6个超级步,后再计算第7超级步,所以,优选的K=L+1(迭代步长为G=1)。当然,也可以选择K=L+2(迭代步长为G=2)、K=L+5(迭代步长为G=5),根据系统的实际处理能力而灵活设置G。本步骤的执行体为Master端。
较佳的,预先将任务负责处理的图数据的拓扑关系映射为相应的哈希Hash桶数据;确定每一任务的每一Hash桶中所包含的该任务的激活顶点数量、每一Hash桶的总顶点数量、及桶之间交互的消息数量等Hash桶的相关信息;利用Hash桶的相关信息,预测每一任务的每一Hash桶在第K超级步中的激活顶点的数量;获取属于同一个任务的所有Hash桶在第K超级步中的激活顶点的数量之和;确定属于同一个任务的所有Hash桶在第K超级步中的激活顶点的数量之和为该任务在第K超级步中的激活顶点的数量。
具体的,将任务负责处理的图数据的拓扑关系映射为相应的Hash桶数据,具体是将任务中的图定点数据按照顶点编号的Hash-Code值分配到对应的Hash桶中,如此便可将任务中的每个图顶点及其对应的出边数据分配至唯一的Hash桶中;每个Hash桶中均包括有相应任务一定数量的激活顶点及边,以通过Hash桶之间的数据交互来表征任务内或任务之间的图数据拓扑结构。图2为本发明实施例提供的哈希桶之间的数据交互的一示意图,如图2所示,任务Staff1中的图数据拓扑关系可以由Hash桶1和Hash桶2数据来表征,任务Staff2中的图数据拓扑关系可以由Hash桶3和Hash桶4数据来表征;任务Staff1与任务Staff2之间的数据通信就可以视为两个任务的Hash桶之间的数据交互。其中,每个Hash桶配置有一个全局标识,不同任务的Hash桶编号需不同。
在将所有任务的图数据拓扑关系由Hash桶数据来表示后,Master端就可以知道某个任务中每一Hash桶的总顶点数量s、激活顶点数量q、桶之间交互的消息数量、桶之间的静态交互边数。通过计算q/s可以得到在第K超级步下划分的所有Hash桶中每一Hash桶的激活顶点的比例,集合该比例,得到一个1行N列的向量A:
A=[a11,a12....a1N](1)
其中,N为所有Hash桶的总数量,a1j(1≤j≤N)为全局编号为j的Hash桶的激活顶点的比例。
当获知桶之间交互的消息数量后,就可以该消息数量集合为N行N列的矩阵P:
P = p 11 p 12 . . . p 1 N p 21 p 2 N . . . . . . . . . . p n 1 . . . . p NN - - - ( 2 )
其中,矩阵P的某个元素pij代表着编号为i的Hash桶指向编号为j的Hash桶的边数,即编号为i的Hash桶与编号为j的Hash桶之间交互的消息数量。矩阵P可视为状态转移矩阵。
将公式(1)与公式(2)进行相乘,得到1行N列的向量B,如公式(3)所示:
B = A * P = [ a 11 , a 12 . . . . a 1 N ] * p 11 p 12 . . . p 1 N p 21 p 2 N . . . . . . . . . . p n 1 . . . . p NN = [ b 11 , b 12 . . . . b 1 N ] - - - ( 3 )
其中,向量B的某个元素b1j为编号为j的Hash桶收到的来自其他Hash桶及自身的消息的总数量。由于矩阵P为状态转移矩阵,公式(3)可视为基于马尔科夫Markov链的动态负载预测模型。
在计算出编号为j的Hash桶收到的来自其他Hash桶及自身的消息的总数量b1j及编号为j的Hash桶的入边数量c之后,得到编号为j的Hash桶在第K超级步的激活顶点数量为c/sj*b1j;其中,sj为编号为j的Hash桶的总顶点数量。当某个任务包括的每一Hash桶在第K超级步的激活顶点数量计算出之后,将该任务包括的所有Hash桶的激活顶点数量进行求和,即得到该任务在第K超级步的激活顶点数量。
为方便理解,举个具体的例子,结合图2,以预测Hash桶2在第K超级步中的激活顶点数量为例,其中,Hash桶2分别与Hash桶1、Hash桶3、Hash桶4进行数据交互,N=4。假定在第L=2超级步中,Hash桶1的激活顶点数量为3、总顶点数量为5,那么在向量A中的第1行第1列的元素a11=3/5;Hash桶1指向Hash桶2的边数为10,那么向量P中的第1行第2列的元素p12=10;如此类推,依据各个桶的顶点总数量、在第L=2超级步的激活顶点数量、桶之间的交互信息数量,就可以将向量A、矩阵P中的所有元素计算出来。然后用向量A乘以向量P,得到向量B,假定得到的向量B第1行第2列的元素b12=20,即Hash桶2接收到Hash桶1、Hash桶3、Hash桶4发送的消息及自身发送的消息的总数量为20,预先获知的Hash桶2的总顶点数量为10,入边数量为30,那么,Hash桶2在第K=3超级步的激活顶点数量为30/10*20=6(四舍五入),即预测出Hash桶2在第K=3超级步的激活顶点数量为6。按照上述计算Hash桶2在第K=3超级步的激活顶点数量的方法来计算Hash桶1在第K=3超级步的激活顶点数量,并将这两个激活顶点数量进行求和,即得到任务Staff1在第K=3超级步中的激活顶点数量。
步骤103:依据每个任务在第K超级步的激活顶点数量,预测每个任务在第K超级步的运行时间;
这里,Master端在获取到某个任务,如任务d在第K超级步的激活顶点数量后,依据如下公式(4)预测该任务在K超级步的运行时间
T d K = T d L Num d L × Num d K - - - ( 4 )
其中,为任务d在第K超级步的运行时间;表示任务d在第L超级步的运行时间,为Master端获知的参量;表示任务d在第L超级步的激活顶点数量,为Master端获知的参量;表示任务d在第K超级步的激活顶点数量,为根据前述步骤102而求出的。
步骤104:依据每个任务在第K超级步中的运行时间,确定短板任务集合和长板任务集合;
这里,所述短板任务集合为运行较慢的任务,所述长板任务集合为运行较快(负载较轻)的任务。进一步的,Master端将所有任务按照在第K超级步中的运行时间从大到小进行排序,或者从小到大进行排序,然后依据盒图法筛选出运行较慢的任务和运行较快的任务。其中,盒图法是根据五数概括绘制,是一种识别离群点的有用工具,在数据已经排好序的情况下,第一个四分位数记做Q1,是第25个百分位数;第三个四分位数记做Q3,是第75个百分位数。第一个和第三个四分位数之间的距离是分布的一种简单度量,它给出了被数据的中间一半所覆盖的范围,该距离称为中间四分位数极差(IQR),定义为IQR=Q3-Q1。盒图法识别离群点的常用经验是:挑出落在至少高于第三个四分位数或低于第一个四分位数1.5×IQR处的值。这里,举个例子,如果系统中共有100个任务,将这100个任务按照运行时间的大小进行排序形成一序列,那么依据所述常用经验,排在序列中的前25个任务为运行较快的任务,排在序列中的后25个任务为运行较慢的任务。
步骤105:预测将短板任务集合中一任务上的数据迁移至长板任务集合中一任务上而产生的迁移收益及迁移代价;
这里,在将短板任务集合中的任务d上的数据迁移至长板任务集合中的任务r上的过程中,Master端逐个提取出短板任务集合中的每一短板任务,将提取出的每一短板任务与负载较轻的任务进行迁移代价、迁移收益的计算,并依据迁移代价及迁移收益的大小关系,确定所述短板任务与所述负载较轻的任务是否为迁移任务对;为迁移任务对时,Master端通知相应的迁移任务对进行负载数据的迁移。
在进行负载数据的迁移时,所采用的迁移机制为出边单向转移机制,即在系统的整个迭代过程中,任务d的同一条出边仅单向调整一次。
图3(a)、(b)为本发明实施例提供的出边单向转移机制的一示意图,结合图3(a)、(b),假如在没有进行出边调整前任务d与任务r的交互示意图如图3(a)所示,经前述步骤101~104而得出,任务d为运行较慢的任务,任务r为运行较快的任务,出边调整后任务d与任务r的交互示意图如图3(b)所示。在没有进行出边调整前,任务d所包括的顶点为顶点5和顶点6,任务r所包括的顶点为顶点1~4;其中,顶点6与顶点2、顶点3分别进行通信,即顶点6与顶点2之间有一条连接边(出边)、顶点6与顶点3之间有一条连接边(出边)。由于任务d中的顶点6与任务r中的两个顶点均具有通信关系,所以通过在任务r中备份顶点6的方式将顶点6与顶点2之间的通信连接、顶点6与顶点3之间的通信连接迁移至任务r的本地,负载发生了迁移;在迁移之后,任务d中的顶点6仅需要通知任务r中的顶点6的顶点属性值,如此一来,经出边调整后,任务i的顶点6与任务j的交互边削减为1条,减少了迁移开销及通信开销。其中,顶点6称之为高出度节点,出边迁移本质上是消息生成负载的迁移,而高入度顶点的存在会造成消息生成与处理负载均发生偏斜,所以也需要在迁出数据的任务中备份高入度顶点。图4(a)为没有进行高入度顶点备份时,任务d中的顶点4、5均与任务w中的顶点7存在有连接边,在这种情况下,为减少这两个任务之间的通信开销,将顶点7备份在任务d中,以在任务d的本地实现顶点7与顶点5、顶点7与顶点6的数据交互。图4(b)为进行高入度顶点备份时,任务d的顶点6与任务w的交互边削减为1条,减少了迁移开销及通信开销。其中,本实施例的出边的含义请参见现有相关说明,这里不再赘述。
假设,短板任务d,预备接收任务d迁移出的数据的任务r,如果从任务d中选取△v个顶点备份到任务r上,即单向转移这△v个顶点的出边至任务r,根据如下公式(5)计算由任务d向任务r进行数据迁移的迁移收益E:
E = ( e d , r v d - 1 ) × Δv × T msg × ω - - - ( 5 )
其中,ed,r是任务d与任务r的静态交互边数,为已获知的参量;vd是任务d的总顶点数;Tmsg是单个消息传送的代价,当网络集群确定后此参量为固定值;ω是剩余的超级步的数量,系统中总的超级步的数量可自行设定;△v为从任务d迁移至任务r的出边对应的源顶点数量的集合,即在任务r中需要备份的顶点的数量;其中,从任务d迁移出的任务r的边叫做出边,其顶点包括源顶点和目的顶点,当出边迁移至任务r中时,出边的源顶点需要在任务r中作备份。将静态交互边数除以任务d的总顶点数为没有进行出边迁移的任务d下每个顶点与任务r的交互边数,通过出边的单向转移,任务d内这△v个顶点每个顶点与任务r的交互边都削减为1条,因此任务d与任务r之间的通信量减少了(ed,r/vr-1)×△v条,再乘以单个消息的传送代价和剩余超级步数w,即为边数据的迁移收益。
数据迁移代价公式如公式(6)所示:
Cost=Cost1+Cost2(6)
其中,Cost1为迁移路障同步的代价,可以用BSP路障同步代价来预估,该信息可通过对BSP路障同步时间的采集而得到;备份顶点的传输代价可以通过消息传送的时间代价来预估,用Cost2=Tmsg×△v表示。
步骤106:当迁移收益不低于迁移代价时,将短板任务集合中所述任务上的数据迁移至长板任务集合中的所述任务上。
这里,当E≥Cost1+Cost2时,即预测出的任务d迁移数据至任务r处而带来的迁移收益不低于迁移代价时,任务d与任务r可视为一迁移任务对,可进行任务d至任务r的数据迁移;如果E<Cost1+Cost2,则在短板任务集合中再提取一个短板任务(运行时间慢的任务)作为任务d,与任务r继续进行如上所述,以此类推,找到与每个短板任务能够作为迁移任务对的长板任务d。
在确定出迁移任务对之后,利用出边单向转移机制,在某个短板任务中,找出与长板任务具有较多的出边如与长板任务连接的出边大于等于第一预定阈值如5的顶点,备份该顶点至该长板任务中,以在长板任务本地实现该顶点与该长板任务中的至少一个顶点的数据交互。具体请参见前述的对图3(a)、(b)与图4(a)、(b)的描述,在这几个图中,第一预定阈值均取值为2,所述第一预定阈值可以依据实际使用情况而灵活设置。采用出边单向转移机制,将运行较慢的任务中的数据迁移至运行较快的任务中去,以实现更好的迁移路障同步。
在确定出迁移任务对之后,Master端发送迁移命令至各任务,以使迁移任务对采用出边单向转移机制,进行出边的迁移及对与所述出边对应的顶点的备份,以使得相应的迁移任务对进行负载的迁移及接收。具体的,在Master端预先创建一个迁移计划的三元组集合MigratePlan,MigratePlan中包括有三个元素,分别是迁出数据的任务标识fromStaffID、接收数据的任务标识toStaffID、及迁出数据所隶属的Hash桶的全局标识bucketID,即MigratePlan=<fromStaffID,toStaffID,bucketID>,每成功确定出一个迁移任务对,就将迁移任务对中需要迁出数据的任务标识、接收数据的任务标识及Hash桶的全局标识添加至该三元组集合中去;各任务在接收到Master端的迁移命令后,依据该三元组集合判断自身是否需要进行数据迁出和/或数据接收,如果需要则在接收到迁移命令后,采用出边单向转移机制,进行相应的数据迁出和/或接收工作,并完成迁移同步路障;若不需要则进入迁移同步路障阶段,至此第L超级步的迭代工作完成,需要进行下一超级步。
本发明实施例的优势:
(1)基于马尔科夫Markov链的动态负载预测模型,根据图数据之间的拓扑关系以及第L超级步的任务的相关信息,预测后续超级步中各个任务的激活顶点数量,依据激活顶点数量预测每个任务的运行时间,从而实现了将负载从运行时间慢的任务迁移至运行时间快的任务,实现了负载的均衡性,降低了水桶效应;
(2)以边为中心的单向转移机制,通过出边的定向迁移,实现了细粒度的负载迁移,精确控制负载的均衡性,有效降低了迁移开销;
(3)通过对出边对应顶点的备份,实现了在负载较轻的任务本地实现该备份顶点与该任务中的相应顶点的数据通信,显著减少了迭代计算中的网络通信开销,且在保持低迁移开销的前提下不会改变顶点在任务之间的分配,避免了复杂的路由维护操作。
基于上述负载均衡方法,本发明实施例还提供了一种负载均衡系统,如图5所示,所述系统包括:第一获取单元501、第一预测单元502、第二预测单元503、第一确定单元504、第三预测单元505及第一迁移单元506;其中,第一获取单元501,用于获取在第L超级步中每个任务的相关信息;
第一预测单元502,用于依据每个任务的相关信息,预测每个任务在第K超级步中的激活顶点数量;
第二预测单元503,用于依据每个任务在第K超级步的激活顶点数量,预测每个任务在第K超级步的运行时间;其中,L为大于等于1的正整数、K为大于L的正整数;
第一确定单元504,用于依据每个任务在第K超级步中的运行时间,确定短板任务集合和长板任务集合;
第三预测单元505,用于预测将短板任务集合中一任务上的数据迁移至长板任务集合中一任务上而产生的迁移收益及迁移代价;
第一迁移单元506,用于当迁移收益不低于迁移代价时,将短板任务集合中所述任务上的数据迁移至长板任务集合中的所述任务上。
其中,所述任务的相关信息至少包括:任务的运行时间、激活顶点个数、总顶点个数、总边数;相应的,所述第一预测单元502,还用于将任务负责处理的图数据的拓扑关系映射为相应的Hash桶;确定每一任务的每一Hash桶中的相关信息;所述Hash桶的相关信息至少包括:每一Hash桶所包含相应任务的激活顶点数量、每一Hash桶的总顶点数量、及Hash桶之间交互的消息数量;利用Hash桶的相关信息,预测每一任务的每一Hash桶在第K超级步中的激活顶点的数量;获取属于同一个任务的所有Hash桶在第K超级步中的激活顶点的数量之和;确定属于同一个任务的所有Hash桶在第K超级步中的激活顶点的数量之和为该任务在第K超级步中的激活顶点的数量。
所述第二预测单元503,用于获取所述相关信息中每个任务在第L超级步的运行时间、激活顶点数量;将每个任务在第L超级步的运行时间、激活顶点数量及为相应任务预测出的第K超级步的激活顶点数量代入至前述公式(4),得到每个任务在第K超级步的运行时间。
所述第一确定单元504,用于将所有任务按照预测出的第K超级步中的运行时间进行从大到小排序、或者进行从小到大排序;在已排序的任务中,依据盒图法筛选出运行较慢的任务和运行较快的任务;其中,所述短板任务集合为运行较慢的任务的集合;所述长板任务集合为运行较快的任务的集合。
所述第三预测单元505,用于当短板任务集合中的所述任务为任务d、长板任务集合中的所述任务为任务r时,预测当任务d采用出边单向转移机制时将预定出边迁移至任务r时而产生的迁移收益及迁移代价;
进一步的,所述第三预测单元505,用于在任务d采用出边单向转移机制向任务r迁移出边时,获取任务d与任务r的静态交互边数、任务d的总顶点数、预定的消息传送代价值;获取在任务r中备份的与所述出边对应的顶点的数量;获取剩余的超级步的数量;获取从任务d迁移至任务r的出边对应的源顶点数量的集合;将上述所获取的信息代入至前述公式(5),得到由任务d向任务r进行出边迁移的迁移收益E。所述迁移代价为参见公式(6)及其说明。
相应的,所述第一迁移单元506,用于当E≥Cost时,通知短板任务集合中所述任务利用出边单向转移机制将相应的数据迁移至长板任务集合中的所述任务上;进一步的,用于确定短板任务集合中进行出边的所述任务与接收所述出边对应数据的长板任务集合中的所述任务为迁移任务对;当E≥Cost时,发送迁移命令至各任务,以使迁移任务对采用出边单向转移机制,进行出边的迁移及对与所述出边对应的顶点的备份。
由于该负载均衡系统所解决问题的原理与负载均衡方法相似,因此,负载均衡系统的实施过程及实施原理均可以参见前述负载均衡方法的实施过程及实施原理描述,重复之处不再赘述。
本领域技术人员应当理解,图5中所示的负载均衡系统中的各处理模块的实现功能可参照前述负载均衡方法的相关描述而理解。本领域技术人员应当理解,图5所示的负载均衡系统中各处理单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (10)

1.一种负载均衡方法,其特征在于,所述方法还包括:
获取在第L超级步中每个任务的相关信息;
依据每个任务的相关信息,预测每个任务在第K超级步中的激活顶点数量;
依据每个任务在第K超级步的激活顶点数量,预测每个任务在第K超级步的运行时间;其中,L为大于等于1的正整数、K为大于L的正整数;
依据每个任务在第K超级步中的运行时间,确定短板任务集合和长板任务集合;
预测将短板任务集合中一任务上的数据迁移至长板任务集合中一任务上而产生的迁移收益及迁移代价;
当迁移收益不低于迁移开销时,将短板任务集合中所述任务上的数据迁移至长板任务集合中的所述任务上。
2.根据权利要求1所述的方法,其特征在于,所述依据每个任务的相关信息,预测每个任务在第K超级步中的激活顶点数量,包括:
所述任务的相关信息至少包括:任务的运行时间、激活顶点个数、总顶点个数、总边数;
将任务负责处理的图数据的拓扑关系映射为相应的哈希Hash桶;
确定每一任务的每一Hash桶中的相关信息;所述Hash桶的相关信息至少包括:每一Hash桶所包含相应任务的激活顶点数量、每一Hash桶的总顶点数量、及Hash桶之间交互的消息数量;
利用Hash桶的相关信息,预测每一任务的每一Hash桶在第K超级步中的激活顶点的数量;
获取属于同一个任务的所有Hash桶在第K超级步中的激活顶点的数量之和;
确定属于同一个任务的所有Hash桶在第K超级步中的激活顶点的数量之和为该任务在第K超级步中的激活顶点的数量。
3.根据权利要求1所述的方法,其特征在于,所述依据每个任务在第K超级步的激活顶点数量,预测每个任务在第K超级步的运行时间,包括:
获取所述相关信息中每个任务在第L超级步的运行时间、激活顶点数量;
将每个任务在第L超级步的运行时间、激活顶点数量及为相应任务预测出的第K超级步的激活顶点数量代入至如下公式,得到每个任务在第K超级步的运行时间:
T K = T L Num L &times; Num K
其中,TK为任务T在第K超级步的运行时间;TL表示任务T在第L超级步的运行时间;NumL表示任务T在第L超级步的激活顶点数量;NumK表示任务T在第K超级步的激活顶点数量。
4.根据权利要求1所述的方法,其特征在于,所述依据每个任务在第K超级步中的运行时间,确定短板任务集合和长板任务集合,包括:
将所有任务按照预测出的第K超级步中的运行时间进行从大到小排序、或者进行从小到大排序;
在已排序的任务中,依据盒图法筛选出运行较慢的任务和运行较快的任务;
其中,所述短板任务集合为运行较慢的任务的集合;所述长板任务集合为运行较快的任务的集合。
5.根据权利要求1所述的方法,其特征在于,所述预测将短板任务集合中一任务上的数据迁移至长板任务集合中一任务上而产生的迁移收益及迁移代价,包括:
当短板任务集合中的所述任务为任务d、长板任务集合中的所述任务为任务r时,预测当任务d采用出边单向转移机制时将预定出边迁移至任务r时而产生的迁移收益及迁移代价;
进一步的,任务d采用出边单向转移机制向任务r迁移出边时,获取任务d与任务r的静态交互边数、任务d的总顶点数、预定的消息传送代价值;
获取在任务r中备份的与所述出边对应的顶点的数量;
获取剩余的超级步的数量;
获取从任务d迁移至任务r的出边对应的源顶点数量的集合;
将上述所获取的信息代入至如下公式,得到由任务d向任务r进行出边迁移的迁移收益E:
E = ( e d , r v d - 1 ) &times; &Delta;v &times; T msg &times; &omega;
其中,ed,r是任务d与任务r的静态交互边数;vd是任务d的总顶点数;Tmsg是单个消息传送的代价;ω是剩余的超级步的数量;△v为从任务d迁移至任务r的出边对应的源顶点数量的集合;
所述迁移代价Cost为:
Cost=Cost1+Cost2
其中,Cost1为迁移路障同步的代价;Cost2为在任务r中备份所述出边对应的顶点的传输代价;
相应的,当迁移收益不低于迁移代价时,通知短板任务集合中所述任务利用出边单向转移机制将相应的数据迁移至长板任务集合中的所述任务上,包括:
确定短板任务集合中进行出边的所述任务与接收所述出边对应数据的长板任务集合中的所述任务为迁移任务对;
当E≥Cost时,发送迁移命令至各任务,以使迁移任务对采用出边单向转移机制,进行出边的迁移及对与所述出边对应的顶点的备份。
6.一种负载均衡系统,其特征在于,所述系统包括:
第一获取单元,用于获取在第L超级步中每个任务的相关信息;
第一预测单元,用于依据每个任务的相关信息,预测每个任务在第K超级步中的激活顶点数量;
第二预测单元,用于依据每个任务在第K超级步的激活顶点数量,预测每个任务在第K超级步的运行时间;其中,L为大于等于1的正整数、K为大于L的正整数;
第一确定单元,用于依据每个任务在第K超级步中的运行时间,确定短板任务集合和长板任务集合;
第三预测单元,用于预测将短板任务集合中一任务上的数据迁移至长板任务集合中一任务上而产生的迁移收益及迁移代价;
第一迁移单元,用于当迁移收益不低于迁移代价时,将短板任务集合中所述任务上的数据迁移至长板任务集合中的所述任务上。
7.根据权利要求6所述的系统,其特征在于,所述任务的相关信息至少包括:任务的运行时间、激活顶点个数、总顶点个数、总边数;
所述第一预测单元,还用于将任务负责处理的图数据的拓扑关系映射为相应的哈希Hash桶;
确定每一任务的每一Hash桶中的相关信息;所述Hash桶的相关信息至少包括:每一Hash桶所包含相应任务的激活顶点数量、每一Hash桶的总顶点数量、及Hash桶之间交互的消息数量;
利用Hash桶的相关信息,预测每一任务的每一Hash桶在第K超级步中的激活顶点的数量;
获取属于同一个任务的所有Hash桶在第K超级步中的激活顶点的数量之和;
确定属于同一个任务的所有Hash桶在第K超级步中的激活顶点的数量之和为该任务在第K超级步中的激活顶点的数量。
8.根据权利要求1所述系统,其特征在于,
所述第二预测单元,用于获取所述相关信息中每个任务在第L超级步的运行时间、激活顶点数量;
将每个任务在第L超级步的运行时间、激活顶点数量及为相应任务预测出的第K超级步的激活顶点数量代入至如下公式,得到每个任务在第K超级步的运行时间:
T K = T L Num L &times; Num K
其中,TK为任务T在第K超级步的运行时间;TL表示任务T在第L超级步的运行时间;NumL表示任务T在第L超级步的激活顶点数量;NumK表示任务T在第K超级步的激活顶点数量。
9.根据权利要求6所述的系统,其特征在于,
所述第一确定单元,用于将所有任务按照预测出的第K超级步中的运行时间进行从大到小排序、或者进行从小到大排序;
在已排序的任务中,依据盒图法筛选出运行较慢的任务和运行较快的任务;
其中,所述短板任务集合为运行较慢的任务的集合;所述长板任务集合为运行较快的任务的集合。
10.根据权利要求6所述的系统,其特征在于,
所述第三预测单元,用于当短板任务集合中的所述任务为任务d、长板任务集合中的所述任务为任务r时,预测当任务d采用出边单向转移机制时将预定出边迁移至任务r时而产生的迁移收益及迁移代价;
进一步的,所述第三预测单元,用于在任务d采用出边单向转移机制向任务r迁移出边时,获取任务d与任务r的静态交互边数、任务d的总顶点数、预定的消息传送代价值;
获取在任务r中备份的与所述出边对应的顶点的数量;
获取剩余的超级步的数量;
获取从任务d迁移至任务r的出边对应的源顶点数量的集合;
将上述所获取的信息代入至如下公式,得到由任务d向任务r进行出边迁移的迁移收益E:
E = ( e d , r v d - 1 ) &times; &Delta;v &times; T msg &times; &omega;
其中,ed,r是任务d与任务r的静态交互边数;vd是任务d的总顶点数;Tmsg是单个消息传送的代价;ω是剩余的超级步的数量;△v为从任务d迁移至任务r的出边对应的源顶点数量的集合;
所述迁移代价为:
Cost=Cost1+Cost2
其中,Cost1为迁移路障同步的代价;Cost2为将任务d中的出边迁移至任务r时在任务r中备份所述迁移出边对应的顶点的传输代价;
相应的,所述第一迁移单元,用于当E≥Cost时,通知短板任务集合中所述任务利用出边单向转移机制将相应的数据迁移至长板任务集合中的所述任务上;进一步的,确定短板任务集合中进行出边的所述任务与接收所述出边对应数据的长板任务集合中的所述任务为迁移任务对;当E≥Cost时,发送迁移命令至各任务,以使迁移任务对采用出边单向转移机制,进行出边的迁移及对与所述出边对应的顶点的备份。
CN201410836737.7A 2014-12-29 2014-12-29 负载均衡方法及系统 Active CN105808340B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410836737.7A CN105808340B (zh) 2014-12-29 2014-12-29 负载均衡方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410836737.7A CN105808340B (zh) 2014-12-29 2014-12-29 负载均衡方法及系统

Publications (2)

Publication Number Publication Date
CN105808340A true CN105808340A (zh) 2016-07-27
CN105808340B CN105808340B (zh) 2019-04-23

Family

ID=56980611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410836737.7A Active CN105808340B (zh) 2014-12-29 2014-12-29 负载均衡方法及系统

Country Status (1)

Country Link
CN (1) CN105808340B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110109614A (zh) * 2019-03-22 2019-08-09 浙江工商大学 面向pram/dram混合内存的基于概率的数据迁移方法
CN111400555A (zh) * 2020-03-05 2020-07-10 湖南大学 图数据查询任务处理方法、装置、计算机设备和存储介质
CN107346262B (zh) * 2017-06-06 2020-12-15 华为技术有限公司 一种任务迁移的方法及控制器
CN112765262A (zh) * 2019-11-05 2021-05-07 中兴通讯股份有限公司 一种数据重分布方法、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090322769A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Bulk-synchronous graphics processing unit programming
CN103914399A (zh) * 2012-12-31 2014-07-09 中国移动通信集团公司 一种并行计算系统中的磁盘缓存方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090322769A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Bulk-synchronous graphics processing unit programming
CN103914399A (zh) * 2012-12-31 2014-07-09 中国移动通信集团公司 一种并行计算系统中的磁盘缓存方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
于戈: "云计算环境下的大规模图数据处理技术", 《计算机学报》 *
周爽、鲍玉斌: "BHP:面向BSP模型的负载均衡Hash图数据划分", 《计算机科学与探索》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107346262B (zh) * 2017-06-06 2020-12-15 华为技术有限公司 一种任务迁移的方法及控制器
CN110109614A (zh) * 2019-03-22 2019-08-09 浙江工商大学 面向pram/dram混合内存的基于概率的数据迁移方法
CN110109614B (zh) * 2019-03-22 2022-02-18 浙江工商大学 面向pram/dram混合内存的基于概率的数据迁移方法
CN112765262A (zh) * 2019-11-05 2021-05-07 中兴通讯股份有限公司 一种数据重分布方法、电子设备及存储介质
CN112765262B (zh) * 2019-11-05 2023-02-28 金篆信科有限责任公司 一种数据重分布方法、电子设备及存储介质
CN111400555A (zh) * 2020-03-05 2020-07-10 湖南大学 图数据查询任务处理方法、装置、计算机设备和存储介质
CN111400555B (zh) * 2020-03-05 2023-09-26 湖南大学 图数据查询任务处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN105808340B (zh) 2019-04-23

Similar Documents

Publication Publication Date Title
Hao et al. A quick inclusion-exclusion technique
Nagel et al. Parallel implementation of the TRANSIMS micro-simulation
Cui et al. Offloading autonomous driving services via edge computing
CN105808340A (zh) 负载均衡方法及系统
US10885240B2 (en) Deterministic simulation framework for autonomous vehicle testing
CN103959251B (zh) 模拟执行方法、设备和系统
EP3014446A1 (en) Asynchronous message passing for large graph clustering
CN105590321A (zh) 一种基于块的子图构建及分布式图处理方法
TW202147188A (zh) 神經網路模型的訓練方法和相關産品
CN105205205A (zh) 基于网表位置信息最优划分的fpga粗粒度并行布线方法
Pasyeka et al. System analysis of caching requests on network computing nodes
CN103970879A (zh) 一种调整数据块存储位置的方法及系统
CN105184385A (zh) 一种自动制造系统的分布式控制方法
Maw et al. iADA*: Improved anytime path planning and replanning algorithm for autonomous vehicle
CN105808341A (zh) 一种资源调度的方法、装置和系统
CN112541584A (zh) 深度神经网络模型并行模式选择方法
US9633145B2 (en) Traffic simulation method, program, and system
CN113784380B (zh) 一种采用图注意力网络与融合邻域的拓扑预测方法
Olaniyan et al. Synchronous scheduling algorithms for edge coordinated Internet of Things
CN104281636A (zh) 海量报表数据并发分布式处理方法
Malakar et al. Scalable in situ analysis of molecular dynamics simulations
Sönmez et al. An analytical throughput approximation for closed fork/join networks
CN111092755B (zh) 一种基于资源占用的边缘服务迁移仿真方法
Xu et al. Reducing synchronization overhead with computation replication in parallel agent-based road traffic simulation
Schönberger et al. Offloading safety-and mission-critical tasks via unreliable connections

Legal Events

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