论文部分内容阅读
Navier-Stokes方程描述的是非常普遍的流体运动现象,因而具有十分广泛的实际应用。这种方程的解通常具有异常大量的高频细节,因而其快速数值求解常常需要用列自适应并行计算。有限体积元方法(FVEM),又称广义差分方法(GDM),具备很多适合计算此类方程的性质。本文因此研究这一方法的自适应并行计算,特别是其自适应网格在并行计算中的实现方法。
本文在研究过程中,发现近年来出现的多核处理器对并行计算的主要形式——也就是集群计算——有极大的负面影响。尽管多核处理器是单核处理器的必然继任者,尽管它是未来处理器的主流发展方向,尽管它具备更高的本地计算能力,多核处理器非但不会顺其自然地提高计算机集群的性能,而且还很可能使很多原有的并行计算程序变慢。美国加州大学伯屯莱分校的系统研究,以及美国国家实验室最近的模拟实验,都印证了这一观点。究其原因,其负面作用主要源自于一个事实:多核处理器让多个计算单元共同使用同一计算节点上的网络接口控制器,从硬件上大幅度地增大了网络接口控制器的工作负荷。原有的并行程序没有清醒地认识刭这一事实,自然就无法避短扬长,真正开发出多核处理器的计算潜力了。
本文因此而研究:在多核计算机集群上的有限体积元自适应并行计算中,如何去解决这个网络负荷的问题。由于多核处理器是新生事物,这方面的研究目前也只是刚刚开始。本文在资料搜集中只发现两类处于探索阶段的解决方案:(1)对计算机集群的硬件、操作系统和计算程序进行彻底的系统的改造——这一方案尚未实现;(2)重新设计程序中的并行算法,让其算法显式地利用多核集群计算中的多层内存布局——这一方案实现了一些基础算法的重构,包括稠密矩阵乘法和快速傅利叶变换的并行计算。第一类方案的可行性有待考证,第二类方案在本论文的计算问题中遇到了困难——有限体积元的网格调整过程必须使用保持网格质量的自适应算法,其算法很难显式地为多层内存布局重构。因此,本文另辟新的途径,转而重构并行计算下面的基本通信模块(数据交换、并行求和以及并行求前缀和),从而即使保持原有的并行算法不变,都可以避开多核处理器对集群计算的负面作用,证计算性能随着核数的增加而真正得到提高。
本文的论述主要分为四个部分:(1)解释有限体积元网格自适应需要保持网格质量的原因和细节;(2)建立数据交换在多核集群计算中的数学模型并且重构数据交换;(3)重构并行求和以及并行求前缀和;(4)分析有限体积元的网格自适应并行算法在数据交换重构之前和之后的性能变化。
本文还通过实验证实了基本通信模块重构的可行性。实验数据还显示,基本通信模块重构对当前的每节点四核的集群计算效果显著。因为以后每过两三年多核处理器的核数都会翻一翻,本论文的方法值得继续观察和进一步的研究。