基于Gaussian 03 的计算化学集群系统方案(2)

时间:2008-11-22   来源:   网友评论:0   人气: 1440 作者:

NUMA 体系结构的高性能计算机上采用多线程的方式实现高速并行。这也是Gaussian 系列软件最早采用的并行方式。对于目前最流行的集群系统,Gaussian 系列软件也引入了Linda并行库来实现多机的并行作业。TCP-Linda 是专门为Gaussian03 设计,实现G03分布式并行的必需程序。Gaussian 03 软件可以在执行任务的时候选择Linda 并行方式还是共享内存方式。当然,基于OpenMP 的并行方式将受到单节点的CPU数的限制。例如如果服务器的CPU 数为8,则采用Gaussian 03 OpenMP 并行方式将最多使用8 CPU 并行工作。


2. Gaussian 03 并行平台系统分析

从本章开始,将着重阐述北京宏剑公司对Gaussian 03 运算并行平台的系统分析,从而帮助我们为向用户提供一套具有最优性能价格比的方案做好准备。

 

2.1. 关于g03 在并行集群平台上的加速比

Gaussian 03 的问题规模会随着计算题目的复杂程度、所选取的粒子数目、所选基组的数目、使用的基函数的数目以及算法收敛快慢等多种因素的变化而变化;在很多领域中,Gaussian 03 计算只需要普通的PC 机就可以进行,但是同样也有很多使用PC 机无法解决的问题,这个时候,采用并行技术的Gaussian 03计算就成为了解决该类问题的必然方法。目前Gaussian 03 中几个比较消耗CPULink 都实现了并行。一个采用了优秀方法的运算题目可以使得Gaussian 03 在并行平台上的运算效果更好。以Gaussian 03 Benchmark 中的test397 为例,其并行部分主要集中在Link 502 Link 703,这两个部分都可以实现很好的并行。

 

下面是Gaussian 03 软件的test397 测试在并行平台上的并行测试结果:

 
A1.jpg
A1.jpg 
 

 


Test397
在并行平台上的加速比

 

如图,综坐标是运行时间(Wall time),以秒为单位;横坐标是CPU 个数,其中4 CPU 以内采用了sharemem 的形式,8 CPU 的并行采用了Linda 并行的方式。我们可以看到在目前的测试规模下,test397 在并行集群系统上显示了较为良好的性能加速比,这也就意味着过去需要一天才能算完的题目可以在4个小时以内完成运算。这也标志着很多大规模的题目可以在规定的时间内运算完毕并获得满意的结果。

因此,通过并行集群配合LindaGaussian 03 计算可以取得很好的性能突破,这使得采用集群作为Gauusian 03 计算的硬件平台成为一个发展趋势。同时,该平台具有较CC-NUMA 平台以及小型机平台更高的性能价格比,这也使得集群技术成为Gaussian 03 计算的必然趋势。

 

2.2. g03 采用Linda 并行和OpenMP 并行的性能差别

为了了解Linda 并行和OpenMP 并行之间的性能差距,我们进行了下面的实

验:

实验平台:

12×H4402(运行Linda 并行作业test415,采用2 CPU 并行)

21×H4402(运行OpenMP 并行作业test415,采用2 CPU 并行)

运行结果:
A2.jpg
A2.jpg 
 

 

从表中可以清楚地看到,采用OpenMP 的并行方式的计算题目运算效率更高,当然,这需要在硬件层面上解决OpenMP 的问题――即采用多CPU 的高性能节点机。

 

2.3. 关于g03 对内存的需求

Gaussian 计算是对内存要求非常高的计算,在整个运算过程中有一个参数(%mem)可以控制使用的内存总量,利用这些内存可以使得很多计算速度更高,同时将该参数提高将可能提高整个运算的运算速度。不过该参数的设置也不是越大越好,实验证明,当该参数达到一定程度的时候,运算的性能并不会随着参数值的增加而提高。另外对于一些计算,采用64 位系统将可能花费更高的内存。

 

下图是对test415 的内存消耗的描述:
A3.jpg
A3.jpg 

Test415
内存消耗

 

从图中可以清楚地看到,test415 计算分为两个阶段(表现在test415 运算题目上,是两个Link),并且内存消耗有所不同,最大可以达到2.5G,很多运算题目所使用的内存远远大于


 

文章评论