[发明专利]一种基于动态一致性约束的图计算异步迭代方法在审
申请号: | 201510673521.8 | 申请日: | 2015-10-15 |
公开(公告)号: | CN105354169A | 公开(公告)日: | 2016-02-24 |
发明(设计)人: | 谢向辉;孙茹君;郝子宇;张鲁飞;王淼;叶楠;李祥;苏景柱 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司;无锡江南计算技术研究所 |
主分类号: | G06F15/18 | 分类号: | G06F15/18 |
代理公司: | 北京众合诚成知识产权代理有限公司 11246 | 代理人: | 龚燮英 |
地址: | 250101 *** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 动态 一致性 约束 计算 异步 方法 | ||
技术领域
本发明涉及半导体制造领域,更具体地说,本发明涉及一种基于动态一致性约束的图计算异步迭代方法。
背景技术
迭代计算是图计算的重要方式,也是许多机器学习数据挖掘算法的基础。迭代计算用数值逼近的方式解决了许多科学计算问题。在数据规模越来越大的条件下,分布式/并行计算能有效提高计算效率。并行的迭代方法起源于BSP(块同步并行)模型,目前流行的许多图计算框架都基于BSP模型实现,例如Pregel、GraphX等。
目前的并行迭代方式分为以下几种:
(1)同步迭代,主要包括最早的BSP模型和其衍生模型。同步迭代下,每一轮的执行仅与当前轮有关,本轮之内各节点并行计算。只有当所有节点本轮计算完毕之后,才会进入下一轮迭代。
(2)异步迭代,异步迭代能充分利用计算资源,避免每轮迭代的同步开销。异步迭代下,各节点的计算与其他节点不相关。没有轮与轮同步和节点的相互等待过程。各节点并行计算,当本节点迭代一次之后,立即开始下一轮迭代。现有技术中的GRACE图计算模型提供了用户友好的BSP编程接口,而迭代执行时采用异步方式。现有技术中的PowerGraph图计算模型提供了同步和异步迭代两种计算引擎,用户只需要描述图中点的计算,可以指定任意一种执行方式。
异步迭代执行面临数据一致性的问题,为了迭代的收敛和迭代速度,针对边和点的数据读写,还有异步迭代的不同一致性之分:完全一致、边一致和点一致。图中计算存在于点,而数据在点和边上都有分布。考虑到收敛性要求,异步迭代的一致性约束分为三类:
a)完全一致:当前节点计算时,不允许其他节点读写自己、邻边及邻节点的数据。
b)边一致:当前节点计算时,不允许其他节点读写自己和邻边的数据,但是允许读写其邻居节点的数据。
c)点一致:当前节点计算时,不允许其他节点读写自己,对其邻边和邻居节点的读写不限制。
不同一致性下的异步迭代执行,会有不同的执行过程甚至结果[18]。目前图计算模型的一致性研究不多,且仅有单一异步一致性的迭代方式,即只单独使用完全一致、边一致、点一致三种方式里的一种。
(3)同步和(边一致)异步迭代结合,例如PowerSwitch,能够在计算过程中按照设定的阈值在同步迭代和异步迭代之间切换。
但是,在不规整的图数据上,并行同步迭代各个点上的计算难以同时结束,同步迭代可能面临着严重的“落后者问题”。已有的异步迭代方式只有单纯的完全一致、边一致和点一致。图1、图2和图3分别示出了完全一致、边一致和点一致三种情况下的相邻的三个节点1、2、3的读写操作。
完全一致、边一致和点一致三者都有其不足:
a)完全一致的异步迭代执行能够有效避免竞争,但是在同一时间段内同时执行的点数有限,并行效率较低。
b)边一致相对于完全一致约束较松,但在边上没有数据的条件下,边一致和点一致相同。(由于写锁排斥读锁,而读锁之间不互相排斥。在异步执行时,读到的邻居数据并不要求是最新值。所以在没有边数据时,点一致和边一致都只维持本节点的范围计算即可。)
c)点一致是完全异步的执行模式,但是在迭代执行的后期,对于一些算法会出现竞争的情况而难以收敛。
不同的一致性适用于异步执行的不同阶段。在不同的异步一致性约束条件下,完全一致和边一致能够有效避免数据一致性问题引发的死锁,同时能够避免竞争危害,而点一致即完全异步会产生严重的竞争危害。在异步执行的开始阶段,较高的一致性限制会降低各点迭代的速度,因为此时竞争较少,而基于一致性要求,只有不到50%的节点在同时计算,较多的等待节点制约了执行速度。而在异步执行的后期,较高的一致性会加快收敛,而较低的一致性会引发竞争,甚至难以收敛。
发明内容
本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种能够动态调整一致性约束条件的异步迭代方法——弱一致的异步迭代策略,综合已有的不同一致性约束条件,根据异步迭代的不同时间段的特征,选择最合适的一致性模型,以提高迭代效率,加速计算过程。
为了实现上述技术目的,根据本发明,提供了一种基于动态一致性约束的图计算异步迭代方法,包括:开始图计算异步迭代处理,并且在开始时将所有节点中的所述活跃点的异步迭代模式设置为点一致异步迭代模式;在图计算异步迭代处理的过程中,改变至少一部分当前活跃点的异步迭代模式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司;无锡江南计算技术研究所,未经浪潮电子信息产业股份有限公司;无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510673521.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:油水分离设备
- 下一篇:一种支持NVDIMM的主板设计方法