【技术实现步骤摘要】
【国外来华专利技术】元组图程序中子图内优化的方法相关申请的交叉引用本申请是2017年8月24日提交的美国专利申请No.15/685,055的继续申请,其公开内容通过引用并入本文。
技术介绍
云计算允许具有各种计算能力的用户为了成本和计算效率而使用可配置资源的共享池来存储和处理数据。用于云计算的当前编程模型包括MapReduce,Dryad和批量同步并行云处理。面向分布式计算的一个问题是性能。分布式计算中的性能与数据与计算单元的接近程度以及计算单元之间的数据传输成本有关。
技术实现思路
本公开描述了一种用于云计算的新的编程模型。新的编程模型可用于编写分布式低延迟非批处理(non-batch)程序。应用在模型下构造程序,然后提交它以供执行。该程序由运算符的有向非循环图组成。值的流沿着图中的边从一个运算符流到另一个运算符。通过流发送的每个值都是元组。相同程序中的不同运算符可以在不同的机器上运行。编程模型协调这些运算符在不同机器上的执行并将数据从一个运算符传播到另一个运算符。编程模型的一个方面提供了一种方法,包括:生成用于程序的图形,所述 ...
【技术保护点】
1.一种方法,其特征在于,所述方法包括:/n生成用于程序的图形,所述图形包括多个节点和边,所述图形的每个节点表示操作,并且所述节点之间的边表示输入到所述节点所表示的所述操作并从所述节点所表示的所述操作输出的数据流;/n利用一个或多个处理器确定在分布式架构中执行由所述节点表示的所述操作的位置,所述确定包括:/n确定哪些节点具有位置限制;/n基于所述限制,将位置分配给具有位置限制的每个节点;/n将所述图分区成多个子图,所述分区包括根据第一组约束将位置分配给没有位置限制的节点,其中将特定子图内的每个节点分配给相同的位置。/n
【技术特征摘要】
【国外来华专利技术】20170824 US 15/685,0551.一种方法,其特征在于,所述方法包括:
生成用于程序的图形,所述图形包括多个节点和边,所述图形的每个节点表示操作,并且所述节点之间的边表示输入到所述节点所表示的所述操作并从所述节点所表示的所述操作输出的数据流;
利用一个或多个处理器确定在分布式架构中执行由所述节点表示的所述操作的位置,所述确定包括:
确定哪些节点具有位置限制;
基于所述限制,将位置分配给具有位置限制的每个节点;
将所述图分区成多个子图,所述分区包括根据第一组约束将位置分配给没有位置限制的节点,其中将特定子图内的每个节点分配给相同的位置。
2.如权利要求1所述的方法,其特征在于,确定哪些节点具有位置限制包括:识别由所述节点表示的所述操作的要求,并确定哪些位置能够根据所述要求执行所述操作。
3.根据权利要求1所述的方法,其特征在于,确定哪些节点具有位置限制包括:确定哪些节点具有预定位置。
4.如权利要求1所述的方法,其特征在于,所述分区包括减少具有分配给特定位置的操作的子图的数目。
5.如权利要求1所述的方法,其特征在于,所述分区包括检测在子图中创建循环的可能性,并通过进一步对所述子图进行分区来消除所述循环。
6.如权利要求1所述的方法,其特征在于,所述分区还包括本地分区每个子图。
7.如权利要求1所述的方法,其特征在于,还包括在所述子图中的每一个子图被分配的位置处执行所述子图中的每一个子图,其中在相应的单个线程中执行每个子图。
8.如权利要求1所述的方法,其特征在于,还包括:
将没有分配位置的操作合并到所述一个或多个子图中;
在第一主阶段中,对所述子图进行分区,其中将每个所得到的子图分配给单独的位置;和
在第二本地阶段中,对每个所得到的子图进行分区。
9.如权利要求8所述的方法,其特征在于,所述第一主阶段包括:
归并分片的子图;
将相邻的未分配节点添加到分片的子图中;
通过将位置从分配的节点复制到它们的相邻节点,将位置分配给所有未分配的操作;
将在相同位置运行的所有可能的未分片的子图对归并在一起。
10.如权利要求8所述的方法,其特征在于,所述第二本地阶段包括:
识别需要拆分的子图;
准备识别出的子图进行拆分;
构建归并图,其中每个运算结束于单独的子图;
重复地将所述单独的子图归并在一起。
11.如权利要求1所述的方法,其特征在于,还包括:
由所述一个或多个计算设备自动地将没有被分配位置的操作合并到所述一个或多个子图中,所述合并包括:
归并分片的子图;
将相邻的未分配节点添加到分片的...
【专利技术属性】
技术研发人员:戈塔姆·坦比多雷,马休·罗森克兰兹,桑杰·格玛沃特,斯尔詹·彼得罗维奇,伊凡·普斯瓦,
申请(专利权)人:谷歌有限责任公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。