论文部分内容阅读
时域有限差分法(FDTD)在计算电磁学中被广泛的应用。FDTD算法公式简洁直观,适合求解各类电磁工程问题和可视化计算的实现,计算过程需要在FDTD网格中递推求解空间电磁场值,处理大规模的电磁仿真问题为了保证计算精度和稳定条件,需要增加的FDTD的网格量,使计算机内存的需求庞大,并且求解时间过长,一般的计算机无法运行这样计算过程,这成为了FDTD应用的主要瓶颈。随着计算机硬件和机群平台的性能提高,高性能的并行计算应用领域也更加广泛。本文采用局域网内的并行技术结合FDTD算法,以空间区域剖分策略离散FDTD区域,同时FDTD算法本身具有良好的并行性。调用MPI消息传递函数完成离散计算区域边界电磁场数据的通信,使用数据收集技术完成每个节点计算完成后的离散数据的主机输出,使完整的FDTD区域在并行机群系统中各个节点并行计算求解,并优化并行过程,测试并行计算的性能。本文结合微波实验室的硬件条件,并行计算机群的搭建分为并行硬件平台、软件平台、编程模式三个部分。硬件基础为现有的以实验室路由器建立的局域网环境和个人计算机节点。软件平台主要包括基于MPI消息传递策略的并行软件运行平台和编程软件开发平台两个方面。并行编程模式选择主从编程模型编写计算程序代码,编写和维护两部分程序代码,这样更适合现有的硬件结构,同时使得计算程序的稳定性和扩展性增强,更适合后期对于并行计算的优化。本文提出了利用动态剖分并行区域策略,按需分配并行系统内各节点承担计算量的概念。传统的优化如并行粒度大小或者利用OpenMP与MPI结合实现两级并行的方式都不能从根本上实现系统内资源的有效利用。动态剖分策略过程是测试各节点的计算性能,根据返回主机的归一化的性能指标分配计算量。FDTD程序在并行系统中执行前都会测试一下性能,每次都是根据归一化指标进行计算量分配。另一个研究内容在于并行FDTD技术的数据结构用指针代替了数组。传统参数使用数组。数组定义直观,声明简单,编程难度小,存在两个缺点:声明数组空间和初始化的过程浪费计算资源过多和数组确定后经常会出现计算的数据溢出的情况。指针可以弥补这样的缺点,正确灵活地使用指针,使得并行FDTD的计算程序更简洁、紧凑和高效。