大数据|数据流技术在GPU和大数据处理中的应用( 五 )
面向数据流的数据分析是目前大数据分析中非常受关注的问题之一 , 学术界和产业界也投入了大量的研究力量 。 通过上述数据流处理系统可以看到 , 数据流处理的关键在于以下几个方面 。
首先 , 面向数据流的数据处理模型的设计问题 。 Hadoop和Spark的出现大大地推动了大数据生态的发展 , 也成为大数据分析领域的事实标准 。 但无论是Hadoop还是Spark , 其本质都是批处理式的计算模型 , 虽然为了适应数据流分析的需求 , 2个平台都分别发展了各自的流式扩展 , 但是批处理模型与流处理模型的本质区别还是决定了Hadoop和Spark从计算模型到资源调度机制都不是完全面向数据流处理需求的 。 因此 , 在建设面向数据流的大数据分析系统时 , 首先应该重点思考的是设计与实现真正面向数据流的数据处理模型 , 使得数据流分析更加高效易用 。
其次 , 数据流模型与批处理模型的对立统一问题 。 无论从哲学的角度还是从实用的角度 , 在建立标准的面向数据流的数据处理模型的基础上 , 都必须要考虑的是对传统的批处理模型的兼容性 , 从而降低系统维护的复杂度 。 这包括2个方面的研究:一是对于批处理模型的流式转化 , 重点解决批处理作业在流式计算模型上运行的正确性和效率问题;二是流处理模型对批处理模型的生态环境的兼容 , 降低应用迁移的复杂性等 。
最后 , 数据流计算模型的内在优化机理问题 。 数据流计算模型通常被归结为一个有向无环图 , 在数据流计算过程中 , 面对不同数据流处理引擎的特性 , 如何对DAG进行优化是一个很严峻的挑战 。 例如 , 在数据流图编译期的静态优化和在执行过程中的动态调整优化方面依然有很多的工作值得去做 。
上述3个问题都是目前面向数据流的大数据分析系统研制过程中需重点关注与解决的问题 。 但是随着众多数据流计算系统的逐渐成熟 , 一些新的挑战逐渐浮出水面 。
第一 , 异构的数据流处理引擎的高层抽象描述 。 如何在如此多样的数据流处理引擎中提取出一个对数据流分析的通用描述 , 解决多个数据处理引擎的计算模型间的兼容性和模型转化问题 , 是值得关注的 。 这样的抽象包括计算模型级的抽象、数据结构的抽象和应用编程接口的抽象 。 构建这样的抽象可以使不同引擎的应用能够有效地相互转化 , 更好地推广数据流处理技术 。
第二 , 抽象数据流计算模型的优化技术 。 在数据流处理引擎高层抽象的基础上 , 可以更好地设计通用的与引擎无关和与引擎有关的优化环节 , 在充分优化抽象的计算图的基础上 , 实施面向异构处理引擎的优化 , 可以更好地提高数据流处理的效率 。
第三 , 面向边缘计算的数据流处理优化技术 。 流式数据处理对实时性的要求越高 , 对计算能力前置的要求也就越高 , 在数据产生的源头就对数据进行必要的处理是支持数据流高效率、高质量处理的必然要求 。 但是当前对数据流处理技术的主要研究还是面向数据中心的 , 对边缘设备以及云-边-端的有机结合缺乏深入的探究 。 显而易见 , 这会是未来的一个新的研究增长点 。
4 GPU在大数据处理中的应用 使用GPU进行计算过程的加速已经成为学术界和产业界研究的主流 , 在很多业务领域有成功的应用案例 , 如深度学习、密码分析、基因测序、入侵检测以及数据库系统优化等 。 GPU为应用开发提供了易用且性能强大的并行计算能力 , 极大地提高了各类计算密集型应用的性能 。 在大数据处理方面 , 将GPU用于MapReduce模型优化 , 也已经取得了一系列的成果 。 Mars率先在GPU上实现了一套MapReduce框架 , 实验结果显示Mars的数据吞吐量能达到面向NUMA结构实现的MapReduce框架的10倍以上 。 然而 , Mars没有针对GPU架构特性进行优化 , 无法充分发挥GPU的性能优势 。 MapCG为Mars的实现增加了全新的原子操作 , 通过这些原子操作可以支持GPU对全局存储器进行动态内存管理 , 从而减少GPU上MapReduce 的无效迭代 。 Catanzaro等人开发了一种面向GPU的受限的MapReduce架构 , 受限模型包括以下假设和约束:计算过程中所有键值对(K-V pair)的键(key)是能够事先知道的 , 且每个Mapper都只有一个输出 。 基于这样的约束 , 该架构取得了更加突出的计算性能 , 但也限制了该架构的泛化能力 , 无法直接处理规模可变的数据集 。 Ji和Ma的方案则是希望通过GPU共享存储器来加速MapReduce应用 , 但该方案中存在大量的线程同步开销 , 整体性能并没有显著提高 。 Chen和Agrawal的设计则是利用共享存储器来规约减少部分键值对共享的通信开销 , 该方法适用范围较为狭窄 , 只能优化通信量较大的MapReduce操作 。
推荐阅读
- 数据流|比亚迪M6用诊断仪无法读取TCU数据流检修
- 技术编程|后台权限管理设计思路:三种模型分析
- 技术编程|如何利用数据库进行世界史研究
- 行业互联网,AI人工智能|城市教育大脑以“ AI+ 大数据”为核心 , 引领教育变革
- 青年|西安邮电大学与安康汉滨区深度合作,研发适合毛绒玩具全产业链实用技术
- 无人科技,电池技术|盘点几种常见的无人机电池
- |如何分析“会员数据”,强化门店的竞争力?
- 数据|翼方健数解码隐私安全计算 实现数据“可用不可见”
- 技术编程|无服务器调研,部署REST API是最普遍用例
- 京东,折叠屏手机|围绕柔性屏的技术、特性、应用、产业化进行了非常专业的解读