MapReduce框架:面向快速数据分析的适用性探究与自然语言需求处理
1. MapReduce框架优化
在数据处理领域,为了实现更快的数据处理速度,人们提出了各种方法。这些方法要么修改Hadoop API,要么通过添加特定模块来扩展API,还有些建议对运行时系统进行更改或提出架构层面的改变。然而,磁盘I/O和网络I/O仍然是数据处理速度的瓶颈。
为了解决这些问题,研究提出了以下优化方案:
- 使用分布式共享内存(共享元组空间)存储中间结果 :在执行一个MR作业时,有状态的方法有助于减少结果产生的延迟。在连续的MR作业中使用有状态的方法,可以让迭代算法在MR框架下更快速、高效地处理。有状态的归约器允许将部分结果保存为状态,这些状态可以与新输入一起复用,并作为交互式查询处理的中间结果发出。对于流处理,输入会持续到达,映射器可以将部分产生的结果(键值对)存储为状态,并随着流中的每个新输入更新相应键的状态。映射器的输出可以写入共享元组空间,归约器会从共享元组空间开始获取数据并提前开始执行。归约器在映射器输出数据时就开始获取,这样元组空间中的槽会周期性地可用,可用于存储另一个映射输出。为了实现容错,映射输出也会写入映射器节点的本地磁盘,但这不会影响执行时间。元组空间是并行/分布式计算关联内存范式的一种实现,生产者将数据作为元组发布到空间中,消费者从空间中检索匹配特定模式的数据。
- 使用远程直接内存访问(RDMA)解决MR执行环境引入的延迟 :现代支持RDMA的网络,如InfiniBand和Quadrics,提供了低至几微秒的延迟和高达10 Gbps的高带宽,显著缩小了现代集群中访问本地内存和远程内存之间的延迟差
超级会员免费看
订阅专栏 解锁全文
634

被折叠的 条评论
为什么被折叠?



