论文部分内容阅读
当前许多科学技术问题都要依赖于计算机技术解决,比如科学计算,计算机模拟等。虽然近几十年来硬件技术的发展使CPU的处理速度迅速提高,但在很多领域对处理速度的要求仍不能得到满足。单机技术的有限性决定了计算机发展必然走上多核、多机并行的道路,并行处理技术的发展成为未来国防建设、科技发展的主要推动力量,因此并行计算成为未来主流计算模式。
由于栅格空间分析处理过程中涉及到的栅格数据具有数据量大、规律性强、相关性强、视频传输率高等特点,而栅格空间分析的算法实现复杂而且各种算法中有大量的卷积运算和乘法运算存在,就为栅格空间分析处理过程中的并行算法设计和实现提供了可能。并行算法的设计是为了提高空间分析处理的速度,在有限的空间和时间处理更多的栅格数据。因此,在这种背景下,栅格空间分析与并行计算技术的结合变得自然而迫切。本文研究的课题即是这两者结合的产物。
本文将多核技术和集群技术与栅格空间分析典型算法结合,在得到好的分析结果的同时也缩短了运行的时间。首先对栅格空间分析中的典型算法进行了分析研究与设计。介绍了栅格数据基本地形因子计算、海量栅格数据等值线追踪以及地形特征信息提取的核心串行算法,通过对每种串行算法的分析,验证了该算法并行的可行性。
然后,介绍了三类典型算法如何在多核以及集群上实现并行化的,对每一类算法提供三种并行化策略:第一种是基于共享内存的多核并行策略,采用共享存储系统并行编程标准-OpenMP技术,在具有多核系统的单机上实现并行化,优点是实现相对简单,充分利用共享内存体系机构的特点,避免了消息传递的开销;第二种是基于分布式内存并行策略,采用消息传递的并行编程标准-MPI技术,在机群各节点间实现并行化,优点是允许静态任务调度,提供明确的并行机制,可实现通信和计算的重叠,减少额外的同步开销;第三种是基于分布式/共享内存混合并行策略,节点间采用分布式内存结构,节点内处理器间采用共享内存结构,在结构上实现了两级层次并行性。采用MPI和OpenMP混合模式实现两级层次并行程序设计,优点是充分利用硬件分布/共享内存层次系统结构的优势,OpenMP线程级并行具有较小的延迟可缓解纯MFI实现带来的网络延迟,同时可以优化I/O等资源的使用。
最后,通过实验分析了三类栅格空间分析典型算法的串行程序的效果、对比了串行程序与并行程序的性能。结果表明,栅格空间分析算法并行化的效果非常理想。同时,随着数据量的加大,无论是共享内存的并行策略、分布式内存的并行策略还是两者的混合并行策略相对于串行算法的运行效率都有明显的提高,其中又以基于分布式/共享内存的混合并行策略效果最好。