摘要
随着互联网数据的爆发式增长,越来越多的分布式存储系统开始引入纠删码存储机制,以在提供数据可靠性的同时降低存储开销。但纠删码机制的引入改变了数据放置模式,从而影响分布式系统上层业务的数据访问和运行效率。在异构Hadoop集群环境中,一类典型的离线批处理作业——MapReduce应用在条带式纠删码存储模式下需要从多个节点访问数据,该“一对多”的数据访问模式由于节点性能差异造成应用执行效率下降。对此,该文提出了一种基于异构环境的数据放置和任务分配策略。通过对异构集群中各节点的硬件参数和历史负载进行分析,将同一纠删码条带的数据块尽可能分布在性能相近的节点上;在系统进行任务分配时,针对各节点当前负载和运算能力确定节点的任务并发度,以平衡各节点计算资源的占用情况,从而避免因数据访问或计算过程中的资源竞争产生极端缓慢任务以致降低整个MapReduce应用的运行效率。实验结果表明,相比当前Hadoop默认的随机数据放置和任务分配策略,该文提出的异构感知数据放置策略和动态任务分配策略能够在不同类型的MapReduce应用中有效削弱任务的长尾效应,使得作业整体运行时间节约10.5%~42%,验证了该方案的有效性。
- 单位