论文部分内容阅读
各种大数据处理技术如Hadoop、Spark等已被广泛应用于遥感大数据处理;机器学习的分类方法也已大量应用于遥感图像的分类识别。针对遥感大数据,如何快速高效地利用机器学习分类算法对遥感图像进行分类是一项急需解决的问题。虽然已有基于Spark平台下MPI任务和GPU任务的调度实施研究,但其任务划分是一种二分法模式,即把任务分为MPI任务或者GPU任务,没有把GPU任务嵌入MPI进程中。为了充分利用MPI的粗粒度并行编程模型和CUDA的细粒度并行编程模型的特点,本文提出了基于Spark框架将CUDA并行嵌套在MPI多进程中,从而能够更加有效提高计算处理速度,并搭建了基于Spark框架的高性能支持向量机并行计算框架。基于提出的框架,本文改进了机器学习的支持向量机算法,实现了支持向量机分类算法在该平台下的高性能并行计算。以上海地区的Landsat8遥感影像作为实验数据,在不同实验情境下进行实验,得出如下结果:1)在单节点下,MPI-CUDA并行的遥感图像分类精度较单机串行下虽然降低了1.05%,但是其计算速度却提高了6.3倍。2)在单节点MPI-CUDA环境下,随着次进程数的增多虽然遥感图像分类精度逐渐降低,由94.64%(开启1个次进程)降至92.42%(开启10个次进程),当次进程数超过8时,支持向量机的分类精度趋于稳定。但是其计算速度却明显逐步提高,最后趋于平稳(当次进程数量超过9时)。3)随着节点数的增多,支持向量机分类算法的计算耗时逐渐降低,加速比逐渐增大,但是增长幅度是越来越低的;当节点数个数分别为2、4、6时,其对应加速比为1.62、2.34、2.65。虽然本文提出的框架会造成遥感图像分类精度的轻微降低,但通过综合分析不同环境下的支持向量机分类精度以及分类时效,证明了本文提出的基于Spark平台的高性能并行计算框架是可行且可靠的,将CUDA并行嵌套在MPI多进程中是一种高效的混合并行模式。