图计算方法及装置制造方法及图纸

技术编号:26171278 阅读:32 留言:0更新日期:2020-10-31 13:42
本申请公开了一种图计算方法及装置,能够支持多算法并发执行图计算。通过将图的多个子图加载到多个计算单元,通过多个计算单元,并行执行多个算法,可以在多个算法之间共享同一份图,从而在同一份图上并行执行多个算法,节省了执行某个算法时需要等待其他算法执行结束所造成的时延,从而提高了多算法进行图计算的整体效率,缩短了多算法进行图计算的整体时间。

【技术实现步骤摘要】
图计算方法及装置
本申请涉及计算机
,尤其涉及一种图计算方法及装置。
技术介绍
图是一种基础的数据结构,它包含一系列的节点以及连接节点的边。生活中的许多实体以及实体之间的关系可以通过图上的点和边来直观表达,于是,基于图的分析技术—图计算技术应运而生,应用图计算技术,可以将社交网络、通话网络、用户与产品之间的二分图、论文中作者之间的合作关系网、文章之间的索引关系、金融交易网络、一个地区的无线基站与云端各个服务器之间的交互、手游用户之间的数据交流关系等各种各样的实际应用场景建模为图,通过对图进行计算,来挖掘出图表示的实体所蕴含的规律。随着图计算技术的推广,经常面临大量用户同时要求对图进行计算的情况,不同用户需要采用相同或不同的算法对图进行计算,因此计算设备会接收到批量化的计算请求,每个计算请求用于请求采用某一种或多种算法对图进行计算。计算设备根据计算请求,会以串行的方式,依次采用每个算法对图进行计算。具体来说,假设计算请求要请求采用N个算法对某个图进行计算,则计算设备会首先将这个图从外存加载到内存,采用算法1对图进行计算,当算法1执行本文档来自技高网...

【技术保护点】
1.一种图计算方法,其特征在于,所述方法包括:/n接收至少一个计算请求,所述至少一个计算请求用于请求采用多个算法对图进行计算;/n将所述图的多个子图加载到多个计算单元;/n通过所述多个计算单元,并行执行所述多个算法。/n

【技术特征摘要】
1.一种图计算方法,其特征在于,所述方法包括:
接收至少一个计算请求,所述至少一个计算请求用于请求采用多个算法对图进行计算;
将所述图的多个子图加载到多个计算单元;
通过所述多个计算单元,并行执行所述多个算法。


2.根据权利要求1所述的方法,其特征在于,所述通过所述多个计算单元,并行执行所述多个算法,包括:
获取每个算法中的至少一个任务;
通过所述多个计算单元,并行执行所述多个算法中的任务。


3.根据权利要求2所述的方法,其特征在于,所述获取每个算法中的至少一个任务,包括下述至少一项:
根据所述算法中每个步骤对应的函数名称,将所述算法中同一函数名称对应的至少一个步骤划分为一个任务;
根据所述算法中每个步骤的执行主体,将所述算法中执行主体相同的步骤划分为一个任务;
根据所述算法中每个步骤对图中顶点或边的访问顺序,将所述算法中访问顺序相同的步骤划分为一个任务;
根据所述算法中每个步骤在图中访问的顶点或边,将所述算法中访问的顶点或边相同的步骤划分为一个任务;
根据所述算法中每个步骤执行的动作,将所述算法中动作相同的步骤划分为一个任务;
根据所述算法中每个步骤所属的迭代过程,将所述算法中属于同一次迭代过程的步骤划分为一个任务;
根据所述算法中每个步骤所属的判断分支,将所述算法中属于同一判断分支的步骤划分为一个任务。


4.根据权利要求2所述的方法,其特征在于,
所述将所述图的多个子图加载到多个计算单元,包括:
将至少一种模态的所述多个子图加载到所述多个计算单元;
所述通过所述多个计算单元,并行执行所述多个算法中的任务,包括:
对于所述多个算法的任一任务,通过所述多个计算单元,根据目标模态的子图执行所述任务,所述目标模态为所述至少一种模态中与所述任务匹配的模态。


5.根据权利要求4所述的方法,其特征在于,所述任务包括从所述图中第一顶点搜索至所述图中第二顶点的步骤,所述目标模态的子图中所述第二顶点排在所述第一顶点之前。


6.根据权利要求2所述的方法,其特征在于,所述通过所述多个计算单元,并行执行所述多个算法中的任务,包括:
根据所述多个算法的迭代次数,获取所述多个算法的优先级;
根据每个算法的优先级,获取调度方案,所述调度方案用于指示至少一个目标任务以及至少一个目标子图之间的对应关系,所述目标任务为所述多个算法的任务中本次调度的任务,所述目标子图为所述多个子图中的子图本次调度的子图;
通过加载了所述至少一个目标子图的多个计算单元,并行执行所述至少一个目标任务。


7.根据权利要求1至6中任意一项所述的方法,其特征在于,所述通过所述多个计算单元,并行执行所述多个算法,包括下述至少一项:
对于所述多个算法中的任一算法,执行所述算法中的加载步骤之外的部分,所述加载步骤为将所述图加载到计算单元的内存的步骤;
对于所述多个算法中的任一算法,执行所述算法中的释放步骤之外的部分,所述释放步骤为将所述图从计算单元的内存中释放的步骤。


8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
发送扩容请求,所述扩容请求用于请求对所述多个计算单元进行扩容;
接收扩容指令,所述扩容指令用于指示对所述多个计算单元进行扩容;
创建至少一个计算单元;
对所述图的至少一个子图进行复制,得到至少一个子图的实例;
将所述至少一个子图的实例加载到所述创建的至少一个计算单元;
通过所述创建的至少一个计算单元,并行执行所述多个算法。


9.根据权利要求8所述的方法,其特征在于,所述对所述图的至少一个子图进行复制,包括:
统计所述图中每个子图被所述多个算法请求的次数;
对所述图中请求次数达到阈值的子图进行复制。


10.一种图计算装置,其特征在于,包括:
接收单元,用于接收至少一个计算请求,所述至少一个计算请求用于请求采用多个算法对图进行计算;
加载单元,用于将所述图的多个子图加载到多个计算单元;
所述多个计算单元,用于通过所述多个计算单元,并行执行所述多个算...

【专利技术属性】
技术研发人员:夏应龙张晨逸方扬
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1