ISSN 1000-0054
CN
11-2223/N
清华大学学报 (自然科学版)
J T singhua U niv (Sci& T ech),
2005 年 第 45 卷 第 10 期
2005, V ol.45, N o.10
29/36
1409-1412
基于区域分解和
MPI
的线性带状方程组
归并迭代解法器
刘朝辉, 舒继武, 郑纬民
(清华大学 计算机科学与技术系, 北京 100084)
收稿日期: 2004-11-09
基金项目:清华大学“九八五”基础研究基金项目 (
JC
2002027)
作者简介: 刘朝辉 (1980-), 男 ( 汉), 山 东, 硕士 研 究生。
通讯联系人: 舒继武, 副教授 , E -m ail: shujw @ tsinghua.edu.cn
摘 要: 线性带状方程组并行解法器往往基于两层迭代的
区域分解方法,采用 M PI(m essage passing interface)实现,
因此导致的总迭代次数太多或者进程通信开销太大都会使
解法器效率低下。该文通过研究减少迭代次数和降低进程通
信开销的方法,设计了一种适合区域分解和
MPI
系统的高
效的归并迭代并行解法器。这种解法器通过引入全局加速收
敛算法,把两层迭代归并为一层迭代,有效减少了迭代求解
的总次数,并且采用分块并行技术降低
MPI
系统上加速收
敛算法的进程通信开销。实验证明归并迭代并行解法器能够
保证和串行解法器大致相当的总迭代次数,分块并行加速收
敛技术能够降低接近 1/2 的全局进程通信时间。
关键词: 并行解法器; 区域分解; M PI; 迭代; 进程通信
中图分类号: T P 301.6 文献标识码:A
文章编号: 1000-0054(2005)10-1409-04
Ite ration-merged so lver for linea r
banded m atric es base d o n domain
dec ompo sitio n and M PI
LIU Zha ohui
,
SHU Jiwu
,
ZH ENG W eim in
(
Departm e nt of Com puter Scie n c e and Te c h nol ogy
,
Tsinghua University
,
Beijing 100084
,
China
)
Abstract
: P arallel solvers for linear banded system s are often based
on dom ain decom position m ethods w ith tw o levels of iterations
im plem ented w ith a m essage p assing interface (M P I). H ow ever,
excessive iterations, as w ell as excessive process com m unicatio n s,
result in low parallel efficiency . T h is pap er presents an efficien t
iteration -m erg ed solver su itable for dom ain decom position and M P I
system s that m inim izes the itera tions and the process
co m m u n ica tions. A global acceleration algorith m m erged tw o levels
of iterations into one level to reduce the total num ber of iterations
w ith a b lo c k -p a r a lle l te c h n iq u e t o m in im ize th e process
co m m u n ica tions on M P I system s caused by the g lo b al acceleratio n.
T ests dem onstrate that the parallelsolver have the sam e num ber of
iterations w ith the block-parallel technique reducing the process
co m m u n ica tion tim e fo r the glob al acceleration by half.
Key words
: parallel solver; dom ain decom p osition ; m essage passin g
interface (M P I); iteration; p ro cess com m unicatio n
大型线性带状方程组的求解是许多工程应用中
问题求解的核心,也是构成许多数值模拟问题计算
量的主要部分。例如,在流体力学计算,电力系统的
优化设计,地震数据处理及天气预报等许多领域,求
解大型线性带状方程组往往占到总计算量的 80%
以上
[1]
。随着工程应用的不断发展,求解问题的复杂
度也不断增加,使得串行计算机难以胜任,以
C luster 为代表的 M PI(消息传递接口)并行计算机
系统逐渐成为求解大型数值问题的主要平台。因此,
有必要研究基于
MPI
的高效率的线性带状方程组
并行解法器
[2]
。
在许多工程应用中,线性带状方程组并行解法
器大多采用基于区域分解的迭代解法
[3 5]
。所谓区域
分解,是指把整个模拟问题区域划分成很多相对小
的求解子区域,把每个子区域分配给不同的进程并
行求解,然后把每个子区域的解综合,得到整个区域
的全局解,如果整个区域的解达到收敛条件则是最
终结果,否则发送到每个区域再进行下一轮迭代,直
到迭代收敛,这个过程通常需要多次迭代
[6 ]
。其中子
区域求解往往也采用迭代算法,就构成了两层迭代
结构。为了保证全局迭代收敛,进程之间的还需要通
过消息传递接口
MPI
实现数据交换。当前很多并行
解法器的效率不高,主要是由于两层迭代结构的总
迭代次数太多和进程通信的开销太大引起的,所以
减少总迭代次数和降低进程通信开销是设计高效率
的并行线性解法器的两个关键问题
[7]
。我们的并行
解法器就是从这两个方面来提高效率。