当前位置:问答库>论文摘要

题目:GPU集群上基于Data-Aware的分布式调度框架

关键词:分布式调度;Kirchhoff叠前深度偏移;Mapreduce编程模型;Data-Aware调度策略;数据分布策略

  摘要

随着分布式计算技术的发展,利用集群可以处理规模越来越庞大的问题,类似于Hadoop这样的分布式框架,可以将用户编写的程序自动化的分布到集群结点上调度执行,实现海量数据的分布式处理,因此在广泛的领域获得了应用。Kirchhoff叠前深度偏移是地球物理领域非常重要的一个应用问题,地震数据处理中最先进的偏移方法,能够对地下的情况进行精确的成像,在整个地震数据处理流程中具有绝对核心的作用。但是Kirchhoff偏移需要处理规模庞大的SEGY地震道数据,同时拥有极高的计算量,因此,如何利用分布式计算技术,较好的解决Kirchhoff偏移的计算,就显得非常有意义。Kirchhoff偏移的计算,可以将庞大的SEGY地震道数据拆分为多个split单独计算,最后汇总每个split的结果,因此在是可以利用Mapreduce编程模型来进行计算的,但是由于Kirchhoff偏移在计算时需要查询庞大的旅行时表,同时需要利用GPU来计算以获得较高的矩阵并行处理速度,对于Kirchhoff计算这一类型的问题,Hadoop在多个Task内存共享、GPU调度、磁盘IO调度分配等方面都显现出了一系列的缺陷。针对Kirchhoff叠前深度偏移的计算,本文提出了一个新的编程模型,这个编程模型去除了Mapreduce部分语义,同时提出了slice分片语义,使得原先输入数据被Map函数一遍处理,现在可以拆分为多遍,同时,针对新的编程模型,突破Hadoop基于Task Slot的调度模型,设计了一个全新的集群调度策略,这个调度策略是与海量输入数据的分布策略相绑定的,通过一个合理的性能计算模型,辅以合适的性能测试框架,能够针对每一个特定WorkLoad的Job,确定出最合理的数据分布策略和每个Task的调度策略,这样每个Job在执行时能够充分利用集群每个结点的硬件资源(计算能力,IO能力等),达到处理速度的最大化。基于本文设计的新的编程模型和调度策略,实现了一个GPU集群上分布式调度框架的原型系统,同时对Kirchhoff偏移计算实例在本框架和Hadoop平台上进行了对比测试,测试结果验证了本文设计的编程模型和调度策略的有效性。