针对循环数据流的基于可到达性的协调制造技术

技术编号:12586819 阅读:84 留言:0更新日期:2015-12-24 03:31
各实施例提供了与涉及现实世界系统(诸如社交网络系统、路标/GPS系统等)的数据的大规模集合一起工作的技术。该技术使用协调时钟协议执行增量、迭代和交互并行计算,其应用于在循环图形中调度计算和管理诸如存储器和网络资源等的资源,循环图形包括从在数据集合中的差异上执行计算的差分数据流模型得到的那些。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】
技术介绍
大多数数据流计算是非循环的,意味着图形中的操作可以按线性次序排序使得每个操作的输入来自“前一次”操作的输出。非循环图形相对容易调度,因为按线性次序运行操作确保了全部操作使它们的输入可用。然而,另一方面,循环图形难以调度,因为它们不需要是确保它们的输入在操作运行前被完全形成的顶点上的次序;这样的图形通常需要问题相关的知识来有效地调度。在典型的增量数据流系统中,增量数据流系统被优化以处理对输入的小的改变。因此,对于针对最初数据的改变,增量数据流系统处理每个改变来产生输出。同时,对于典型的迭代数据流系统,迭代数据流系统可使用增量数据流程序的输出并将其馈送返回到其输入,以产生有效的固定点的循环。最后,如果它汇聚,所馈送回的对输入的改变将不对输出作出改变,并且迭代数据流系统将终止。然而,传统增量和迭代计算在输入发生改变时不兼容。在这样的情形中,对输入的每个改变需要被迭代数据流系统重新处理。即,随着数据集合随时间改变,传统系统必须再次重新重头运行程序,而不考虑程序是否被表示为数据流图形,以数据并行方式执行、声明性地写等。
技术实现思路
在此描述的技术高效地执行增量、迭代和交互并行计算,其应用于在循环图形中调度计算和管理诸如存储器和网络资源等的资源,循环图形包括从在数据集合中的差异上执行计算的差分数据流模型得到的那些。在此讨论的技术运用在使用协调时钟协议的分布式设置中。提供本
技术实现思路
是为了以精简的形式介绍将在以下详细描述中进一步描述的一些概念。本
技术实现思路
不旨在标识所要求保护的主题的关键或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。例如术语“技术”可指代上述上下文和通篇文档中所准许的系统、方法、计算机可读指令、模块、算法、硬件逻辑(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD))和/或技术。【附图说明】参考附图来描述详细描述。在附图中,附图标记最左边的数字标识该附图标记首次出现的附图。在不同的附图中使用相同的附图标记指示类似或相同的项。图1是描绘针对循环数据流的基于可到达性的协调的各实施例可在其中操作的示例环境的框图。图2是根据至少一个实施例,计算具有针对循环数据流的基于可到达性的协调的图形的相连接的组件的示例程序。图3是根据各实施例的示出示例过程的数据流图形,该示例过程依照针对循环数据流的基于可到达性的协调用于执行相连接的组件。图4是根据各实施例的描绘示例体系结构的框图,该示例体系结构可执行针对循环数据流的基于可到达性的协调的操作。图5是根据一些实施例的描绘示例程序的图,该程序用于针对循环数据流的基于可到达性的协调。图6A、6B、6C和6D是根据各实施例的,示出采用协调时钟的示例系统中的信息流状态图。图7A和7B是根据各实施例的,示出采用协调时钟的示例循环系统中的信息流的状态图。图8是根据各实施例的,描绘协调时钟的示例应用以标识可运行工作的图。图9是根据各实施例,描绘示例过程的图,该过程用于针对循环数据流的基于可到达性的协调。【具体实施方式】皿各实施例提供适应于解决在分布式迭代计算中遇到的至少三个类型的问题的技术。如在此进一步描述的,各实施例提供了协议,通过该协议服务将:1)可删除分布式终端,2)可控制资源调度,以及3)可控制垃圾收集和/或压缩。因此,在至少一个实施例中,针对循环数据流的基于可到达性的协调是在单机/多处理器环境中实现。同时,在至少一个实施例中,针对循环数据流的基于可到达性的协调在网络分布式环境中实现。网络分布式环境可包括一个或多个类型的计算资源,计算资源的类型可包括计算、联网和/或存储设备。网络分布式环境还可被称为云计算环境。针对循环数据流的基于可到达性的协调支持实现差分数据流模式的高效增量和迭代数据并行计算。各实施例采用分散式协调时钟协议,通过该协议分布式处理器可通过循环数据流图形来高效跟踪全局计算的进程。该进程信息允许处理器作出有效的本地调度决策、通过压缩更新来回收存储,以及并行地处理输入数据的多个时期而不合并结果。针对循环数据流的基于可到达性的协调技术能够高效处理数据,包括非迭代或复杂迭代算法,其可被编程以在可缩放分布式实现中随新输入的到达而自动更新。针对循环数据流的基于可到达性的协调有效地执行增量和/或批量迭代的处理任务。在此描述的技术可像包括多个嵌套循环的强力连接的组件那样计算并增量地更新分析的输出。这些技术使用处理器的群集跨现实世界输入流获得这些任务的子第二更新等待时间。涉及现实世界系统(诸如社交网络系统或地图/GPS系统)的数据的大规模集合上的计算,可被建模成数据流图形。在各实现中,在此描述的针对循环数据流的基于可到达性的协调在处理随时间改变的数据时包括以下方案:数据流绘图、声明性编程,和数据并行性。程序的数据流图形表示是影响并发性和流水线化的一种途径。因为一个函数(例如,数据流顶点)的输出是下一个的输入,它们一被上游顶点产生就用作下游顶点处理输入,因此,两个顶点可以同时执行。声明性计算机编程是用于数据流类型执行的另一方法,它可被计算机编程人员采用来指定算子之间的依赖性,所述算子用于清除从程序到数据流图形的映射。数据并行化是另一种方法,它提供了在数据流图形中并行运行每个顶点的多个副本的一种途径。对于合适的算法,将数据切片成各分区使得每个并行顶点实例可独立处理其自己的分区是可能的。因此,在此描述的针对循环数据流的基于可到达性的协调可包括:将计算建模为数据流图形,使用声明性编程语言来写用于计算的程序,并将该计算用数据并行性进行并行化,以及管理涉及随时间改变的现实世界系统的数据的集合。在此描述的技术实现能够增量地更新包括任意嵌套迭代的大规模数据并行计算的可缩放分布式执行平台。例如,随着从24小时滑动窗获取连续到来的推文(tweet),该技术能够实时地计算并维持推特(TWITTER)的消息收发图形的相连的组件结构。系统采用经由基于可能循环的图形(其顶点表示版本化的集合上的操作)上的数据流的可缩放分布式实现的差分数据流计算模式。不同于现有的批量系统,其中每个顶点被期望运行若干秒或分钟,所描述的技术采用较细粒度通信和协调技术,其中许多顶点被期望运行若干微妙且一些根本不运行。在此描述的技术设计协调的开销的实质减小,同时维持精确的分布式状态信息。状态信息包括,系统必须接下来调度数据流图形中的哪个顶点。系统可根据调度来执行工作,以通过顶点执行时间中的多个数量级的减少来有助于系统性能。在一些实施例中,协调时钟可管理计算,其中数据流图形可以是不是功能上的数据并行的意义上的“算子”的合成的顶点。所描述的框架和分布式协议概述了以允许独立处理器作出关于调度和资源管理的有效本地决策的方式的差分数据流计算的过程。在各实施例中,在不同顶点版本之间的差分数据流图形次序依赖性的结构,允许系统确定那个版本可继续接收更新。轻量的非阻挡协议允许处理器交换关于处理动作的最小的量的信息,以便使系统中的其它处理器保持当前关于系统的待办更新。所采用的差分数据流方法使用输入记录的小的集合进行细粒度的顶点调用。以此方式,系统展示批量处理器的高的吞吐量,同时响应于输入中的改变,并用通常与流处理器相关本文档来自技高网...

【技术保护点】
一种方法,包括:通过以下跟踪计算的进展:将要在计算中被处理的多个数据项的每一个与数据流图形的顶点相关联,所述数据流图形表示单个程序;将要在计算中被处理的多个数据项的每一个与时戳相关联,所述时戳对应于其中数据项在所述计算中被创建的次序;存储与每个数据项相关联的顶点-时戳对;以及对与每个顶点-时戳对相关联的要被处理的数据项的数量进行计数;以及由至少一个处理器进行通信,所述处理器异步发送一个或多个消息,所述消息包括与至少一个顶点-时戳对相关联的多个要被处理的数据项。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:F·D·麦克斯谢里R·伊萨克斯M·A·伊萨德D·G·穆雷
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国;US

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

1