流数据处理学习2-流数据处理和其他框架的比较
2012-11-05 15:22
330 查看
以下内容均来自:http://en.wikipedia.org/wiki/Stream_processing
流数据与之前的并行框架之间的比较
基本计算机开始从序列执行框架开始,传统的CPUs基于SISD的,这意味着从理论上看一次只能运行一个操作。当计算需要世界化时,需要管理的数据增长得非常快。显然序列编程模型不能处理处理能力的增长需求。不同的努力被花费在寻找可供选择的方法去实现大数据量的计算但是只唯一的解决办法是开发一定程度的并行执行。这些努力的结果就是SIMD,一个变成框架允许应用简单指令到多种类型的数据实例。绝大部分时间,SIMD被用在SWAR(?)环境。通过使用更复杂的结构,一个还能具有MIMD并行化。
虽然那两种框架式有效的,真实世界实现是用来被为了同步问题和被限制的并行化的排列成行的问题的限制折磨。只有少部分SIMD处理器幸存作为独立操作的组件,大部分都被嵌入到标准的CPUs中。
思考一个简单的问题求2个包括100个4个元素的向量的总和。
传统的序列框架:
for(int i = 0; i < 100 * 4; i++)
result[i] = source0[i] + source1[i];
(这个程序是存在很多变种的,不过最后基本上实质都是这样)
并行SIMD框架,包装寄存器
for(int el = 0; el < 100; el++) // for each vector
vector_sum(result[el], source0[el], source1[el]);
并行流框架(SIMD/MIMD)
// This is a fictional language for demonstration purposes.
elements = array streamElement([number,number])[100]
kernel = instance streamKernel("@arg0[@iter]")
result = kernel.invoke(elements)
流数据与之前的并行框架之间的比较
基本计算机开始从序列执行框架开始,传统的CPUs基于SISD的,这意味着从理论上看一次只能运行一个操作。当计算需要世界化时,需要管理的数据增长得非常快。显然序列编程模型不能处理处理能力的增长需求。不同的努力被花费在寻找可供选择的方法去实现大数据量的计算但是只唯一的解决办法是开发一定程度的并行执行。这些努力的结果就是SIMD,一个变成框架允许应用简单指令到多种类型的数据实例。绝大部分时间,SIMD被用在SWAR(?)环境。通过使用更复杂的结构,一个还能具有MIMD并行化。
虽然那两种框架式有效的,真实世界实现是用来被为了同步问题和被限制的并行化的排列成行的问题的限制折磨。只有少部分SIMD处理器幸存作为独立操作的组件,大部分都被嵌入到标准的CPUs中。
思考一个简单的问题求2个包括100个4个元素的向量的总和。
传统的序列框架:
for(int i = 0; i < 100 * 4; i++)
result[i] = source0[i] + source1[i];
(这个程序是存在很多变种的,不过最后基本上实质都是这样)
并行SIMD框架,包装寄存器
for(int el = 0; el < 100; el++) // for each vector
vector_sum(result[el], source0[el], source1[el]);
并行流框架(SIMD/MIMD)
// This is a fictional language for demonstration purposes.
elements = array streamElement([number,number])[100]
kernel = instance streamKernel("@arg0[@iter]")
result = kernel.invoke(elements)
相关文章推荐
- Tensorflow学习笔记-输入数据处理框架
- Theano与其他深度学习框架的比较
- 深度学习框架Tensorflow学习与应用 图像数据处理之一
- 三个大数据处理框架:Storm,Spark和Samza 介绍比较
- python-框架-网页爬虫-文本处理-科学计算-可视化-机器学习-数据挖掘-深度学习
- TensorFlow:实战Google深度学习框架(六)图像数据处理
- 学习springMVC框架配置遇到的问题-数据写入不进数据库时的处理办法
- 深度学习框架Tensorflow学习与应用 图像数据处理之二
- Theano与其他深度学习框架的比较,主要强调一系列低水平的设计选择,没有特别顺序。
- 大数据处理框架的类型、比较和选择
- Vue.js学习(二):computed响应数据变化与其他几种方法的比较
- 从零开始搭建一个完善的MVP开发框架(三),对列表型数据请求进行抽象,优化列表型数据的处理
- AFNetworking(v3.0+)框架学习总结(二内部逻辑处理过程)
- laravel框架学习(三)win下php artisan tinker 测试数据时,无法运行报错的解决方法
- NHibernate开源框架Cuyahoga学习之数据访问实现
- MySQL数据分析(7)-SQL的两大学习框架
- Thinkpad安装系统后,在设备管理器中有一其他设备叹号为“PCI 数据捕获和信号处理控制器”
- 白手起家学习数据科学 ——处理数据之“数据清洗与再处理篇”(七)
- Vue.js 与其他框架比较
- Android(java)学习笔记213:开源框架post和get方式提交数据(qq登录案例)