[发明专利]元组图程序中子图内优化的方法有效
申请号: | 201880038689.3 | 申请日: | 2018-05-17 |
公开(公告)号: | CN110998531B | 公开(公告)日: | 2021-09-17 |
发明(设计)人: | 戈塔姆·坦比多雷;马休·罗森克兰兹;桑杰·格玛沃特;斯尔詹·彼得罗维奇;伊凡·普斯瓦 | 申请(专利权)人: | 谷歌有限责任公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 上海华诚知识产权代理有限公司 31300 | 代理人: | 肖华 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 元组图 程序 中子 优化 方法 | ||
1.一种方法,其特征在于,所述方法包括:
生成用于程序的图,所述图包括多个节点和边,所述图的每个节点表示操作,并且所述节点之间的边表示输入到所述节点所表示的所述操作并从所述节点所表示的所述操作输出的数据流;
利用一个或多个处理器确定在分布式架构中执行由所述节点表示的所述操作的位置,所述确定包括:
确定哪些节点具有位置限制;
基于所述限制,将位置分配给具有位置限制的每个节点;
将所述图分区成多个子图,所述分区包括根据第一组约束将位置分配给没有位置限制的节点,其中特定子图内的每个节点被分配了相同的位置;以及
根据第二组约束对所述多个子图中的每个子图进行本地分区,其中,所述第二组约束与所述第一组约束不同。
2.如权利要求1所述的方法,其特征在于,确定哪些节点具有位置限制包括:识别由所述节点表示的所述操作的要求,并确定哪些位置能够根据所述要求执行所述操作。
3.根据权利要求1所述的方法,其特征在于,确定哪些节点具有位置限制包括:确定哪些节点具有预定位置。
4.如权利要求1所述的方法,其特征在于,所述分区包括减少具有分配给特定位置的操作的子图的数目。
5.如权利要求1所述的方法,其特征在于,所述分区包括检测在子图中创建循环的可能性,并通过进一步对所述子图进行分区来消除所述循环。
6.如权利要求1所述的方法,其特征在于,还包括在所述子图中的每一个子图被分配的位置处执行所述子图中的每一个子图,其中在相应的单个线程中执行每个子图。
7.一种用于确定计算设备中的操作分布的方法,其特征在于,所述方法包括:
利用一个或多个计算设备确定哪些操作具有预定位置;
创建一个或多个子图,所述一个或多个子图包括被识别为具有分配位置的每个操作;
将没有分配位置的操作合并到所述一个或多个子图中;
在第一主阶段中,根据第一组约束对所述子图进行分区,其中将每个所得到的子图分配给单独的位置;和
在第二本地阶段中,根据第二组约束对每个所得到的子图进行分区,其中,所述第二组约束与所述第一组约束不同。
8.如权利要求7所述的方法,其特征在于,所述第一主阶段包括:
归并分片的子图;
将相邻的未分配节点添加到分片的子图中;
通过将位置从分配的节点复制到它们的相邻节点,将位置分配给所有未分配的操作;
将在相同位置运行的所有未分片的子图对归并在一起。
9.如权利要求7所述的方法,其特征在于,所述第二本地阶段包括:
识别需要拆分的子图;
准备识别出的子图进行拆分;
构建归并图,其中每个运算结束于单独的子图;
重复地将所述单独的子图归并在一起。
10.一种用于确定计算设备中的操作分布的方法,其特征在于,所述方法包括:
创建有向图,其中每个节点表示程序的操作,并且每个边表示在由相应节点表示的操作之间的数据通信流;
利用一个或多个计算设备来确定哪些操作具有预定位置;
创建一个或多个子图,所述一个或多个子图包括被识别为具有分配位置的每个操作;由所述一个或多个计算设备自动地将没有分配位置的操作合并到所述一个或多个子图中,所述合并包括:
归并分片的子图;
将相邻的未分配节点添加到分片的子图中;
通过将位置从分配的节点复制到它们的相邻节点,将位置分配给所有未分配的操作;和
将在相同位置运行的所有未分片的子图对归并在一起。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于谷歌有限责任公司,未经谷歌有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880038689.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于飞行器的电能储存系统
- 下一篇:人BMP7蛋白的变体