PISCES:MapReduce中的多作业应用程序执行优化

1 下载量 154 浏览量 更新于2024-08-26 收藏 1.12MB PDF 举报
"这篇文章主要探讨了MapReduce框架在处理多作业应用程序时的不足,并提出了一种名为PISCES(Pipeline Improvement with Schedule and Critical Chain Estimation for MapReduce)的解决方案,旨在优化作业之间的依赖关系和执行重叠,以提高系统并行度和应用程序执行效率。PISCES通过动态构建作业依赖项DAG(有向无环图)来识别和管理作业间的依赖,并利用数据流水线化来加速作业执行。此外,它还引入了关键链作业调度模型,以更准确地估计关键作业的运行时间,从而更好地调度作业。实验结果显示,PISCES可以显著减少应用程序的执行时间,最高可达52%的提升,并能将系统并行度提高68%。" 在MapReduce中,多作业应用程序通常包括一系列相互依赖的作业,如迭代机器学习算法和大型数据库查询。然而,原始的MapReduce框架并未针对这类应用进行优化,它仅能独立调度各个作业,导致作业执行时间过长。PISCES的出现是为了填补这一空白,它通过关键链优化和数据流水线化策略,增强了MapReduce的性能。 关键链优化关注于那些对整体应用运行时间有显著影响的关键作业。PISCES通过建立作业依赖项DAG,可以实时跟踪作业的输入输出,动态调整作业的执行顺序。当上游作业完成其Map阶段或整个Map-Reduce阶段时,PISCES会尝试启动下游作业的Map阶段,实现数据流水线化,从而减少等待时间和数据传输的开销。 文章中提到的实验比较了PISCES与传统方法在不同应用类型(线性和超线性)下的作业运行时间预测精度。实验结果表明,PISCES采用的局部加权线性回归模型能够准确预测作业的运行时间,这对于关键链作业调度至关重要。此外,实验在PigMix2基准测试上运行,证明了PISCES在各种数据规模下都能有效提高执行效率。 PISCES是MapReduce框架的一个重要补充,通过创新的调度策略和精确的运行时间预测,它提高了多作业应用程序的执行效率,降低了总的运行时间,对于大数据处理环境中的复杂应用尤其有价值。这一技术对于进一步优化云计算平台的资源利用率和性能具有重要意义。