LBGK模型的分布式并行计算

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

万方数据

2LBGKD2Q9模型的并行计算

2.1数据分布

将流场划分成N。xN,的网格。设有P=只×Pv个进程参与并行计算,进程号P。=H以(0≤i<只,0≤J<尸v)。将数据按照重叠一条边的分块分布到各进程中。其中,进程P。存储并处理的数据网格点集,如图l所示。

图1进程珊存储并处理的区域(斜线处为重叠部分)

2.2交替方向的Jacobi迭代通信

Jacobi迭代是一类典型的通信迭代操作。文献[4】主要讨论了一个方向的Jacobi迭代。根据数据分布及计算要求,需要采用2个方向交替的Jacobi迭代通信操作。本文认为,“即发即收”的通信策略能有效避免完全的“先发后收”可能造成的通信数据“堆积”过多,从而避免数据的丢失。进程Pli的通信操作如下(见图2):

(1)Ifi≠只一1then发送数据到进程P¨,;

(2)Ifi≠0then从进程Pf_J,接收数据;

(3)If,≠只-1then发送数据到进程Pml;

(4)IfJ≠0then从进程P—l接收数据。

各进程并行执行上述操作。

图2交普方向的Jacobi迭代

2.3通信时间理论

由一般的通信模型可知,若发送、接收信息长度为n字节的数据所需时间为:丁(n)=口+n∥,其中,常数口为通信启动时间;∥为常系数,则上述一次交替方向的Jacobi迭代通信操作的时间约为

20e+2fl'N、.P,=1

P。=1

其他

其中,∥7=∥sizeof(double)。

一般情况下,当等3鲁,即等=鲁时,通信的数据量(字节数)是最少的,为4口+4∥,./丝堡。可见,通信的信息

V只×0

总量和通信时间随进程总数只×尸v的增加而减少。

由于c语言中数组是按“行”存放的(Fortran是按“列”存放的),当存放、发送列数据时,需要一定的辅助操作,这就增加了并行计算的计算时间,因此在只:Pv无法恰好等于Nx:N。时,需要综合考虑流场形状及大小、数据在内存中的按“行”(或按“列”)的存放方式,以确定数据的最佳分布方案。

3数值实验

数值实验是在“自强3000”计算机上进行的ou自强3000”计算机拥有174个计算结点,每个计算结点上有2个3.06CPU,2GB内存。本文的实验使用了其中的32个计算结点共64个CPU。程序采用MPI及C语言编写,程序执行时,每个计算结点中启动2个进程。数值实验针对不同规模的网格划分、不同进程数以及不同的数据分布方案进行了大量实验,测得如下结果:不同的流场规模对应着各自的最佳网格划分方式;计算次数越多,加速比越大,越能体现并行计算的优越性。

由表1数据可以得知,对于规模为Nx×N、,=400x400,数据划分成6×6块时的加速比最高,而对于MXNy=600x200,数据划分为12×3块则更具优越性。合适的划分方式可以使总体通信量减至最少,从而提高加速比和并行效率。另外,计算规模越大,加速比越大。

表1并行计算D2Q9模型的加速比(进程数为36)

在固定计算规模,增加处理器的情况下,并行系统的加速比会上升,并行效率会下降;在固定处理器数目,增加计算规模的情况下,并行系统的加速比和效率都会随之增加。

从表2可见,流场规模越大,并行计算的优越性越显著。因为此时计算规模(粒度)较大,相对于通信量占有一定的优势。由图3可见,加速比随进程数呈线性增长,这表明LBGKD2Q9模型的并行计算具有良好的可扩展性。

表2漉场规模固定时并行计算D2Q9模型的加速比

0816243240485664

numofprocess

图3藐场规模固定时D2Q9模型并行计算的加速比

4结束语

本文讨论了LBGKD2Q9模型的分布式并行计算,通过大量的数值实验重点研究了数据分布方案如何与问题规模匹配,以获得更高的并行效率的问题。展示了LBGK模型方法良好的并行性和可扩展性。得到了二维LBGK模型并行计算数据分布的一般原则、交替方向Jacobi迭代的通信策略。这些结论对进一步开展三维LBGK模型的并行计算及其他类似问题的并行计算有一定的指导意义。(下转第104页)

一101—万方数据

万方数据

相关文档
最新文档