1►
什么是流处理?
流是从生产者到消费者的一系列无限事件。大量数据生成为金融交易、传感器测量或 Web 服务器日志等事件流。流处理是对接收到的新数据事件的连续处理。
Streamz 等流处理库有助于构建用于管理连续数据流的流程,允许应用程序在事件发生时对其作出响应。
流处理流程通常涉及多个操作,例如过滤、聚合、计数、分析、转换、充实、分支、连接、流量控制、早期阶段反馈、回压和存储。
2►
为何选择流处理?
数据流的持续处理在许多应用程序中都非常有帮助,例如:
医疗健康:持续监控仪器数据
智慧城市:交通模式和拥塞管理
制造:优化和预测性维护
运输:优化路线和燃料消耗
汽车:智能汽车
金融:股票上市时间序列
机器学习:实时预测
广告:基于位置或动作的广告
由于各企业高度依赖实时分析、推理、监控等功能,因此流处理市场正经历指数级发展。现在,基于流构建的服务是日常业务的核心组成部分,结构化遥测事件和非结构化日志正以每年超过 5 倍的速度增长。在现代商业环境中,这种规模的大数据流愈加复杂并且难以有效地运行,因此,经济高效的可靠流对其至关重要。
3►
GPU 加速流处理
NVIDIA RAPIDScuStreamz 是 GPU 加速流数据处理库,旨在加速流处理吞吐量并降低总拥有成本 (TCO)。NVIDIA 的 cuStreamz 制作流程每年可节省数十万美元。cuStreamz 使用 Python 编写,基于 RAPIDS(用于数据科学库的 GPU 加速器)而构建。通过添加 GPU 支持的 Flink 可以看出,端到端 GPU 加速正迅速成为行业标准,NVIDIA 很高兴能成为此趋势的一个组成部分。
cuStreamz 基于以下内容构建:
Streamz,一个能够帮助构建管理连续数据流流程的开源 Python 库;
Dask,一个能够并行处理流工作负载的稳健可靠的调度程序;
RAPIDS,一种用于流计算的 GPU 加速库套件。
cuStreamz 通过在后台利用 RAPIDS cuDF 来加速 Streamz,从而使用 GPU 加速流数据计算。cuStreamz 还受益于 cuDF 的加速 JSON、Parquet 和 CSV 读取器和写入器。cuStreamz 团队构建了一个加速 Kafka 数据源连接器,能够非常快速地将 Kafka 的数据直接读取到 cuDF 数据帧中,从而显著提升端到端性能。然后,可以使用 Dask 在分布式模式下并行运行流流程,从而大规模提高性能。
在下图中对 cuStreamz 架构进行了概括总结。cuStreamz 是连接 Python 流与 GPU 的桥梁,应用了检查点和状态管理等复杂可靠的流功能。cuStreamz 还提供了必要的基础模块来编写流作业,这些作业在 GPU 上安全运行,并且性能更好,成本更低。
4►
GPU 加速的端到端数据科学
基于 NVIDIA CUDA-X AI构建的 RAPIDS 开源软件库,使您完全能够在 GPU 上执行端到端数据科学和分析流程。此套件依靠 NVIDIA CUDA基元进行低级别计算优化,但通过用户友好型 Python 接口能够实现 GPU 并行化和高带宽显存速度。
借助 RAPIDS GPU DataFrame,数据可以通过一个类似 Pandas 的接口加载到 GPU 上,然后用于各种连接的机器学习和图形分析算法,而无需离开 GPU。这种级别的互操作性是通过 Apache Arrow 这样的库实现的。允许加速数据准备、机器学习和深度学习等端到端流程。
RAPIDS cuML 的机器学习算法和数学基元遵循熟悉的类似于 scikit-learn 的 API。单块 GPU 和大型数据中心部署均支持 XGBoost 等主流算法。针对大型数据集,相较于同等功效的 CPU,这些基于 GPU 的实施方案能够以 10 到 50 倍的速度更快地完成任务。
RAPIDS 支持在许多热门数据科学库之间共享设备内存。这样可将数据保留在 GPU 上,并省去了来回复制主机内存的高昂成本。
*与NVIDIA产品相关的图片或视频(完整或部分)的版权均归NVIDIA Corporation所有。
审核编辑:刘清
-
传感器
+关注
关注
2545文章
50433浏览量
750928 -
加速器
+关注
关注
2文章
789浏览量
37663 -
机器学习
+关注
关注
66文章
8344浏览量
132289 -
智能汽车
+关注
关注
30文章
2748浏览量
107078 -
GPU芯片
+关注
关注
1文章
303浏览量
5768
原文标题:丽台科普丨什么是流处理?
文章出处:【微信号:Leadtek,微信公众号:丽台科技】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论