基于MPI—OpenMP混合编程的并行三维FDTD计算研究
以多处理器节点集群计算机为平台,构建了MPI-OpenMP混合并行的层次化结构模型。然后以三维金属圆柱FDTD散射计算为算例,将单独使用MPI和MPI-OpenMP混合编程情况下结果的加速比进行了比较,并借此做了通信与计算重叠试验,不仅验证了混合方法的有效性,而且可以看出在多处理器集群计算系统上运用MPI-OpenMP模式能进一步提高加速比和带宽利用率。最后, 通过对附加通信量、负载平衡以及网络通信性能等因素对FDTD并行计算产生的影响进行讨论,可以进一步得出构建局域网的硬件性能、子区域的不同划分以及通信原语言的软件设计对并行加速比和效率具有明显影响,而带宽利用率的提高则系于负载平衡问题的改善。
【关键词】MPI-OpenMP FDTD 加速比 带宽利用率
时域有限差分作为一种在电磁领域有广泛应用的数值计算方法,最早由Yee于1966年正式提出 (Finite Difference Time Domain,简称FDTD)。在随后近五十年中,该方法迅速发展成熟,并被应用于各向异性介质、天线远场算法等诸多领域的分析与计算。由于方法层面的限制,在实际应用FDTD进行计算或分析时,必须要求计算区域内的网格有足够精细的划分,因此,目标电尺寸的增大会造成计算内存量迅速上升,而当前的单台微机往往难以满足此项要求。
要解决上述矛盾只有两个有效途径,一是采用大规模的并行机和专用机进行计算,二是对计算方法进行改进。采用大规模的并行机和专用机进行计算成本过高,不利于大面积推广使用,因此利用现有计算设备,解决上述问题就成为解决问题的关键。在这一背景下,Kondylis等人提出了有利于提升内存使用效率的时域有限差分法(R-FDTD),闫玉波等也基于不同视角提出MPI网络并行FDTD算法,但是上述方法仍然不能解决一些更为复杂的计算。为了进一步提升计算机内存利用率,以解决复杂度更高的计算问题,本文提出了基于局域网系统以及消息传递(Massage Parallel Interface,简称MPI)和OpenMP混合编程平台的三维网络并行FDTD方法。该方法主要以10/100Mbps以太网为基础构建并行微机系统,实现了处理机的个数的随时增减,使计算过程对大内存的需求问题得到更为有效的解决。
1 MPI-OpenMP混合编程模式
MPI是集群计算中广为流行的编程平台,但是单独采用MPI并不能在这种多处理器构成的集群上取得理想的性能。MPI-OpenMP混合编程模式很好地结合了分布式内存结构和共享式内存结构的优势,实现了节点内和节点间的两级并行。混合编程模式的结构如图1所示,对于单独的MPI进程来看,其不仅可以OpenMP编译制导区产生线程级并行,同时又保留了线程外的单线程。这种编程模式充分集合和发挥了两种不同编程模式的诸多优点,其中MPI主要用于处理并行处理器之间的粗粒度通信问题,而依靠OpenMP所提供的轻量级线程又对计算机内部不同处理器之间的信息交互提供了有效手段。
2 网络并行FDTD方法中子域划分
显然,数据通信量是影响计算时间的主要因素。设计时要想达到充分发挥两台微机的计算性能,提高运算速度、缩短计算时间的目的,就必须在计算域划分时尽量减少数据通信量,而至于计算机需要等待数据通讯。将FDTD计算域设想为一个立方体,那么可以考虑的分割方式有图2(a)和图2(b)两种。
其中:nx、ny、nz分别是计算区域沿对应坐标轴方向上的网格划分数。由此可见,公式(1)、(2)是公式(3)、(4)的特殊化,其前提各个坐标轴方向网格划分数必须相同。我们还应该注意到:通信总量虽然会对计算时间造成直接影响,但是并不能决定并行加速比的高低。一般来说,节点机计算量与每个节点机所处理的计算域的体积成正比,而通信量则和相应的通信面面积成正比。所以在合适的问题尺寸下,并行加速比可以通过提高节点机计算量和通信量的比。此外,计算机的内部数据交换速度要远快于数据通信速度,因此在具体计算中,本地机具有天然的计算优势,所以在计算中要注意优先发挥本地计算机的计算优势,也就是要依据节点机的实际情况进行负载量的具体分配。
3 结束语
相对于单独使用MPI编程模式,对圆柱单站RCS计算和通信分别采用双线程并行处理方式,可以实现计算过程中的计算与通信的真正重叠。所以上述混合编程模式在加速比方面具有明显优势。但在具体计算中也应当注意下述问题:当线程数多于处理器个数时,会产生线程竞争总线带宽的问题,并导致整个系统性能的下降;当采用线程通信时,要尽量使发送与接收操作均通过同一线程处理;当需要处理通信与计算重叠的问题时,要注意负载的分配均衡。
参考文献
[1]陈文光.MPI与OpenMP并行程序设计C语言版[M].北京:清华大学出版社,2004.
[2]葛德彪,闫玉波.电磁波时域有限差分方法[M].西安:西安电子科技大学出版社, 2002, 150-152.
作者单位
湖南交通职业技术学院现代教育技术中心 湖南省长沙市 410004