acm-header
登录

ACM通信

研究突出了

技术角度:水中的仙女


希腊神话中的水仙是指掌管淡水的仙女。它们是不可预测的,而且有点可怕,就像大数据一样,其规模一直在爆炸式增长,而且每两年就会翻一番。在过去的十年中,处理这些数据海啸的新型系统一直是许多研究和开发的重点。许多这样的大数据处理系统都是通过工作流编程的,其中带有本地状态(节点)的较小程序通过定义良好的接口(边)组成更大的工作流。然后,通过数据并行性(数据流中一个节点的执行被扩展到多个服务器)、任务并行性(数据流中的独立节点同时执行)和流水线(数据流中稍后的节点已经可以根据前一个节点的部分输出开始工作),产生的数据流被扩展到巨大的输入。

这类数据流系统中最著名的一类是基于map-reduce模式的,它支持大规模批处理。这些系统可以处理tb级的数据,用于预处理和清理、数据转换、模型训练和评估,以及报告生成,实现高吞吐量,同时使数百台机器的计算容错。

第二类大数据处理系统是流处理系统,它定义了经过优化的数据流,以便对传入的数据作出快速反应。它们在节点中维护运行的聚合数据或最近的数据窗口的状态,以观察数据流中的模式;出现这样的模式之后,就会触发下一个节点的输出。流处理系统设计用于响应新数据的低延迟,同时根据输入流中记录的到达率进行缩放。示例应用包括监控来自物联网的数据流、高性能交易和维护用于服务分析的统计数据。

第三类系统是为具有循环的数据流优化的图处理系统,其中重要的是有效地处理迭代处理的状态,直到达到一个计算的固定点。开发人员通过“像节点一样思考”来编程图形算法,并为单个节点编写逻辑,然后平台将其扩展到数十亿个节点。示例应用包括大图上的pagerank计算和线性系统(如Jacobi或高斯信念传播)的迭代求解器。

下面的文章描述了Naiad数据流系统,它将所有这三个类组合在一个系统中,支持高吞吐量批处理查询,低延迟的数据流查询,以及在一个单一框架中的迭代程序。这项工作的美妙之处在于,它并没有为每种功能创造出不同组件的瑞士军刀,而是通过概念将它们统一起来及时的数据流,一个简单但富有表现力的计算模型,它允许用户在同一个平台上轻松地表达所有这三个概念。在及时的数据流中,一条记录与一个结构化的时间戳相关联,该时间戳表明该记录属于数据流中的哪个位置。因此,即使在任何时间点,大量记录可以通过节点之间的数据和任务并行和管道并发地通过系统,对于一个节点来说,它应该处理哪些数据以及何时应该生成输出是很容易理解的。其结果是,系统可以为低延迟查询提供毫秒响应时间,但也可以为高吞吐量应用程序提供线性扩展。

在关于水神的故事中,他们既是被诱惑者,又是诱惑者。愿下面的文章同样让你着迷大数据处理之美!

回到顶部

作者

约翰内斯·耶尔克johannes@acm.org)是西澳贝尔维尤微软Office 365的杰出工程师。

回到顶部

脚注

查看所附文件,请访问doi.acm.org/10.1145/2983551


版权归作者所有。

数字图书馆是由计算机协会出版的。版权所有©2016 ACM股份有限公司


没有发现记录

登录为完全访问
»忘记密码? *创建ACM Web帐户
文章内容:
Baidu
map