Skip to main content
QUICK REVIEW

[论文解读] Evaluation of Codes with Inherent Double Replication for Hadoop

M. Nikhil Krishnan, N. Prakash|ePrints@IISc (Indian Institute of Science)|Jun 26, 2014
Advanced Data Storage Technologies参考文献 15被引用 11
一句话总结

本文评估了两种编码方案——五边形码和七边形局部码——它们在 Hadoop 中固有地提供双份复制,从而在保持接近三份复制的可靠性的同时降低存储开销。尽管由于条带块被共置于同一节点上导致数据局部性面临挑战,但当每个节点使用更多处理器时,性能可接近双份复制水平,通过编码感知的任务调度可实现显著改进。

ABSTRACT

In this paper, we evaluate the efficacy, in a Hadoop setting, of two coding schemes, both possessing an inherent double replication of data. The two coding schemes belong to the class of regenerating and locally regenerating codes respectively, and these two classes are representative of recent advances made in designing codes for the efficient storage of data in a distributed setting. In comparison with triple replication, double replication permits a significant reduction in storage overhead, while delivering good MapReduce performance under moderate work loads. The two coding solutions under evaluation here, add only moderately to the storage overhead of double replication, while simultaneously offering reliability levels similar to that of triple replication. One might expect from the property of inherent data duplication that the performance of these codes in executing a MapReduce job would be comparable to that of double replication. However, a second feature of this class of code comes into play here, namely that under both coding schemes analyzed here, multiple blocks from the same coded stripe are required to be stored on the same node. This concentration of data belonging to a single stripe negatively impacts MapReduce execution times. However, much of this effect can be undone by simply adding a larger number of processors per node. Further improvements are possible if one tailors the Map task scheduler to the codes under consideration. We present both experimental and simulation results that validate these observations.

研究动机与目标

  • 评估在 Hadoop 中具有固有双份复制特性的编码方案,以降低存储开销,同时保持可靠性。
  • 评估同一节点上共置的编码块对 MapReduce 性能和数据局部性的影响。
  • 研究每个节点增加处理器核心数是否能缓解因数据局部性降低而导致的性能下降。
  • 探索编码感知的 Map 任务调度在性能上是否能显著优于 Hadoop 的默认延迟调度。
  • 在三份复制、双份复制和编码方案之间,比较存储效率、可靠性和 MapReduce 性能。

提出的方法

  • 五边形码使用异或奇偶校验将 9 个数据块编码为 20 个编码块,并存储在 5 个节点上,每个节点持有对应于五节点完全连通图中关联边的 4 个块。
  • 七边形局部码是一种本地可修复码,旨在实现高效的本地恢复并最小化修复带宽,适用于分布式存储。
  • 实验使用两种 Hadoop 部署环境:一种为 25 个双核节点(每个节点 2 个 Map 任务槽),另一种为 9 个服务器级节点(每个节点 4 个 Map 任务槽),分别使用 128MB 和 512MB 的块大小。
  • 在三份复制、双份复制以及两种编码方案下,使用 Terasort 基准测试在不同工作负载(25% 至 100%)下评估 MapReduce 性能。
  • 测量并比较了数据局部性、作业执行时间和网络流量,初始使用 Hadoop 的默认延迟调度器,随后模拟了改进的剥除算法以评估潜在性能提升。
  • 通过仿真和真实实验验证了不同配置下数据局部性趋势和性能权衡。

实验结果

研究问题

  • RQ1具有固有双份复制特性的编码方案能否在存储效率上接近双份复制,同时在可靠性上匹配三份复制?
  • RQ2同一节点上来自同一编码条带的多个块共置,如何影响 MapReduce 的数据局部性和执行时间?
  • RQ3每个节点增加处理器核心数在多大程度上可以补偿编码 Hadoop 系统中因数据局部性降低而导致的性能下降?
  • RQ4在编码环境中,编码感知的 Map 任务调度器是否能显著优于 Hadoop 的默认延迟调度器?
  • RQ5在中等工作负载下,所提出的编码方案与三份复制相比,在网络流量和作业执行时间方面表现如何?

主要发现

  • 在中等负载(最高 75%)下,五边形码的 MapReduce 性能非常接近双份复制,尤其是在每个节点使用 4 个 Map 任务槽时。
  • 在每个节点使用 2 个处理器核心时观察到的性能下降,主要归因于同一编码条带中编码块共置导致的数据局部性降低。
  • 五边形码和七边形局部码的网络流量超过双份复制,主要原因是数据局部性损失,而非编码开销。
  • 当每个节点使用 4 个处理器核心时,五边形码的作业执行时间和数据局部性接近双份复制,即使在 75% 负载下也是如此。
  • 仿真结果证实,实验中观察到的数据局部性趋势与理论预期一致,验证了模型的准确性。
  • 本研究建议,未来可通过实现改进的剥除算法进行任务调度等增强措施,进一步缩小与双份复制的性能差距。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。