用户名: 密码: 验证码:
分布式并行计算环境MPIBD的设计、实现及应用
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
当前随着计算要求的不断提高,并行计算发展方兴未艾,分布式并行计算更成为新的潮流。消息传递方式是广泛应用于一些并行机,特别是分布存储并行机的一种模式。在基于消息传递的分布式计算中,MPI(Message Passing Interface)是广受欢迎的消息传递接口函数库。消息传递标准的论坛制定了消息传递接口MPI标准,为MPI实现最佳性能提供了可能。
     MPI函数库提供了C语言和Fortran语言描述,分别称为C语言或Fortran语言绑定。目前,公用的MPI实现有CHIMP、LAM等。Delphi是较好的面向对象的应用程序快速开发工具,能把Delphi语言与MPI绑定起来,提供MPI对Delphi语言的支持,将会给MPI带来更广阔的应用前景。我们开发的MPIBD(Message Passing Interface Binding Delphi)是在建立绑定Delphi的MPI通信库基础上构架的一个分布式并行计算环境。MPIBD的一个重要特性是通信子,它允许在一组能够通信的进程间定义独立的通信空间,在通信子中提供点到点的消息传递。此分布式并行计算环境中的每个节点运行在Windows X操作系统环境下,以TCP/IP作为基础通信协议。本文分析了MPI标准,详细介绍了设计MPIBD通信库与构架MPIBD分布式并行计算环境的过程,同时介绍了一些实现上的技术难点。为了分析所构造的MPIBD分布式并行计算环境的可用性与有效性,本文选择计算量大、并行度高的应用实例,即“求拉丁方”。针对拉丁方具有位序的特性,我们提出了利用位序法求找拉丁方。为了解决特大整数的表示与处理问题,本文构造了一套字符化大整数运算系统。我们给出了一个求找标准拉丁方的并行算法,编写了对应的MPIBD并行程序,给出了实际运行结果。最后,对系统性能进行了分析,对系统的发展进行了展望。
With the enhancing demand to the performance of computer, parallel computing is developing rapidly. In recent years, the distributed parallel computing is becoming a new trend. The method of message passing is widely used in some parallel computers, especially in distributed memory parallel computers. In the distributed computing based on message passing, MPI is a popular message passing interface library in parallel programming. The committee of the MPI Forum defines a set of standard interface library which makes MPI to achieve the best performance.
    MPI library provides the description using C and Fortran, which is named as C binding and Fortran binding respectively. Popular realizations of MPI standard are CHIMP and LAM and so on. Delphi is an excellent object-oriented tool for rapid development of applied programming. If we bind Delphi with MPI so that MPI can support Delphi, MPI will have wider application foreground. MPIBD(Message Passing Interface Binding Delphi) presented in this paper is a distributed parallel computing environment constructed on the MPI-communication-library bound with Delphi. One of the important feature of MPIBD is the communicator, which allows the programmer to define unique communication space within a set of processes that can communicate each other. In the space, we provide a message passing method of node-to-node, each of which runs on Windows X operating system and uses TCP/IP protocol as its basic communication protocol. In this paper, we first analyze MPI standard, and then illustrate the designing of MPIBD communication library and the structure of MPIBD Distributed Parallel Computing Environment. Some key techniques in the development of MPIBD are also presented.
    In order to analyze the usability and validity of MPIBD Distributed Parallel Computing Environment, we choose the problem of "Latin square searching" as an instance to test MPIBD, since the problem requires a large amount of computation and has potentially high parallelism. Noticing that the Latin square can be listed in a particular order, we can follow this order to search for all the Latin Squares. Since arithmetic operations of large magnitude integers can not be carried out directly, a set
    
    
    
    of subroutines for large magnitude integer arithmetic operations are developed by characterizing the large integers. We present a parallel algorithm of searching standard Latin square and develop its parallel program using MPIBD. The experimental results are also given. At last, we analyze the system performance and prospect the further development of our system.
引文
[1]陈国良编著.并行计算:结构·算法·编程.北京:高等教育出版社.1999.
    [2]郑纬民,汪东升等译.高性能机群计算:结构与系统.北京:电子工业出版社.2001.
    [3]都志辉,李三立.高性能计算并行编程技术:MPI并行程序设计.北京:清华大学出版社.2001.
    [4]胡凯,胡建平等.分布式并行计算网络体系结构研究.小型微型计算机系统.2000,Vol.21.No.2:113-115.
    [5]臧天仪,李莲治等.群机间进程间通讯.小型微型计算机系统.1999,Vol.20,No.10:726-730.
    [6]MPI Forum. http://www.mpi-forum.org/docs/docs.html.
    [7]http://nexus.cs.usfca.edu/mpi/.
    [8]http://www.mpi-softtech.com/.
    [9]国家高性能计算中心(合肥).消息传递程序设计.合肥:中国科学技术大学出版社.1998.
    [10]http://www.lfbs.rwth-aachen.de/~karsten/projects/nt-mpich/index.html.
    [11]http://www.criticalsoftware.com/wmpi/.
    [12]http://www.lam-mpi.org/.
    [13]http://www-csag.ucsd.edu/projects/comm/mpi-fm.html.
    [14]http://www.osl.iu.edu/research/oompi/
    [15]http://now.cs.berkeley.edu/Fastcomm/MPI/.
    [16]http://www.psrv.com/deep_mpi__top.html
    [17]http://www.npac.syr.edu/users/yjchang/mpi/mpi.html
    [18]http://exodus.physics.ucla.edu/appleseed/appleseed.html.
    [19]Mohammad Banikazemi,Member, IEEE,Rama K.Govindaraju. MPI-LAPI:An Efficient Implementation of MPI for IBM RS/6000 SP Systems. IEEE Trans. On Parallel and Distributed Systems.2001 ,Vol. 12,No. 10:1081-1093.
    [20]吴洁明,计永昶,陈国良.网络环境下的并行计算模型.计算机科学.1999,Vol.26,No.4:43-45.
    [21]纪庆革,王东木,洪炳熔.分布式虚拟环境.计算机工程与应用.1999,Vol.35,No.10:3-5.
    
    
    [22]陆嘉,温冬婵,王鼎兴等.一个基于机群系统的面向对象并行程序开发环境的研究与实现.计算机研究与发展.1999,Vol.36,No.7:836-841.
    [23]胡宁,周笑波,杜鹏,谢立.并行支撑环境JavaPVM的研究及实现.计算机科学.1999,Vol.26,No.6:29-32.
    [24]王三军,王晨,张德富.一种基于工作站网络的软件平台.计算机工程与应用.1999,Vol.35,No.5:82-84.
    [25]王晨,周颖,张德富.一种分布对象的并行程序设计框架.软件学报.1999 Vol.10 No.3:310-316.
    [26]吴巨红,罗铁庚,龚正虎.网络计算管理研究.计算机工程与应用 2000 No.1:54-56.
    [27]梅皓,沈志宇等.基于Java的分布式并行计算关键技术.计算机工程与科学.2000,Vol.22,No.2:103-106.
    [28]陶杰,鞠九滨.一个并行计算支持环境的设计与实现.软件学报.1999,Vol.10,No.2:117-120.
    [29]陶杰,鞠九滨等.NCSE:一个支持网络并行计算的图形化开发工具.计算机学报.1998,Vol.21,No.8:264-269.
    [30]胡亮,鞠九滨等.用于并行计算的PC机群.小型微型计算机系统.1998,Vol.19,No.10:726-730.
    [31]李建华,王兆青,诸鸿文,顾尚杰.基于WWW的并行程序环境的设计与实现.计算机工程与应用.1999,Vol.35,No.2:87-101.
    [32]刘贤梅,李从信,任庆东等.校园网分布式计算环境的建立.大庆石油学院学报.1999 Vol.23No.2:50-52.
    [33]刘勇,朱国强.基于TCP/IP的刚络并行计算环境的实现.计算机工程.2000,Vol.26No.8:187-189.
    [34]庄昌文,林晓东等.实现并行计算的群集系统.计算机应用.1998,Vol.18,No.6:11-13.
    [35]戴光明,戴晓明.基于PVM的微机网络并行计算及其应用.计算机工程与应用.2000,Vol.36,No.9:154-156.
    [36]赵军锁,周恩强.消息传递、PVM及MPI.电脑与信息技术.1998,No.2:11-15.
    [37]秦忠国,姜弘道.消息传递界面PVM和MPI的现状与发展趋势.计算机研究与发展.1998,Vol.35,No.6:496-499.
    [38]邵子立,宋杰.基于消息传递的并行计算环境:MPI与PVM的比较.小型微型计算机系统.2000,Vol.21,No.11:1140-1142.
    
    
    [39]卢凯,金士尧.一个基于PVM的分布式多线程通信库.小型微型计算机系统.1999,Vol.20,No.10:747-750.
    [40]朱建秋,孙国振等.PVM应用移植到MPI问题的讨论.计算机工程与应用.1999,Vol.35,No.3:27-29.
    [41]周恩强,赵军锁等.MPI及MPI的高效实现.计算机工程与科学.1999,Vol.21,No.5:47-51.
    [42]张晓军,杨灿群.Java MPI的实现.微型机与应用.2000,Vol.19,No.3:41-42.
    [43]赵军锁,周恩强等.主动消息与MPI.小型微型计算机系统.1999,Vol.20,No.3:209-213.
    [44]计永昶,刘伟,陈国良等.MPI在曙光-1000上的实现与分析.中国科学技术大学学报.1998,Vol.28,No.3:277-282.
    [45]E.D.Demaine, I.Foster. Generalized Communicators in the Message Passing Interface. IEEE Trans. On Parallel and Distributed Systems.2001,Vol. 12,No.6:610-616.
    [46]张宏烈,刘艳菊等.应用TCP/IP实现UNIX与Windows的网络通信.计算机应用研究.1999,Vol.21,No.9:45-46.
    [47]龙翔,吴文峻等.SNOW系统通讯协议:Homer.计算机科学.2000,Vol.27,No.1:1-5.
    [48]熊玉庆等.OilCL一个面向油藏数值模拟并行计算的通信库.计算机学报.2000,Vol.23,No.7:744-749.
    [49]武剑锋,李三立等.网络并行计算系统的消息存储器网络接口设计.计算机学报.2000,Vol.23,No.2:195-201.
    [50]甘泉.用RMI实现三层分布式对等通讯.计算机工程与应用.1999,Vol.35,No.12:104-106.
    [51]张宏莉,田耕,胡铭曾.多线程技术与并行计算.计算机科学.1999,Vol.26,No.9:48-50.
    [52]李春华,徐明,周兴铭.多线程的软件实现.计算机工程与科学.1999,Vol.21,No.4:17-21.
    [53]陶先平,吕建等.流动agent:一种未来的分布计算模式.计算机科学.1999,Vol.26,No.2:1-4.
    [54]王振宇,上野义人.CORBA:全面的分布式对象计算.计算机工程与应用.1999,Vol.35,No.11:28-30.
    [55]陈华平,陈国良等.并行分布计算中的分布动态任务调度.计算机科学.1999,Vol.26,No.4:10-13.
    [56]周桂林,李三立.网络并行计算环境中的派生机制和进程调度策略.计算机研究与发展.1997,Vol.34,No.10:79-83.
    
    
    [57]周晴华,徐炜民等.网络并行计算系统性能评估工具.上海大学学报.1997,Vol.3,No.11:203-208.
    [58]张文彬,孙世新.网络并行计算可伸缩策略的研究及其实现.计算机应用.2000,Vol.20,No.6:31-34.
    [59]肖侬,黄金锋等.网络并行计算的动态负载平衡策略.计算机工程与科学.1998,Vol.20.No.3:13-17.
    [60]孙安香,宋君强等.工作站网络并行计算的性能分析.国防科技大学学报.1997,Vol.19,No.1:57-60.
    [61]孟杰,李三立等.MPI网络并行计算系统通信性能及并行计算性能的研究.小型微型计算机系统.1997,Vol.18,No.1:13-18.
    [62]张建军,陈莘萌.一个网络并行计算的性能预测模型.武汉大学学报.1999,Vol.45,No.1:49-52.
    [63]孟杰,王小鸽等.并行计算性能的分析和预测.计算机科学.1999,Vol.26,No.2:14-17.
    [64]戴梅萼.高性能网络并行计算模型LogP的剖析,小型微型计算机系统.2000,Vol.21,No.2:124-126.
    [65]吴锤红,吴锤结.微机网络并行计算环境Linux、并行计算平台MPI及其应用.福建农业大学学报.1997,Vol.26,No.4:478-482.
    [66]李东,胡铭曾等.一个基于MPI网络并行计算的图形函数库.哈尔滨工业大学学报.1998,Vol.30,No.6:98-100.
    [67]张玉珩,陆鑫达.网络并行计算在图象处理中的应用.计算机工程.1999,Vol.25,No.6:11-13.
    [68]赵以保,臧天仪等.局域网并行处理在语音识别中的应用.小型微型计算机系统.1999,Vol.20,No.9:699-703.
    [69]赵军,宋君强等.全球气象资料客观分析系统的分布式并行计算.国防科技大学学报.2000,Vol.22,No.3:39-43.
    [70]余志勇,刘光斌等.分布式测控系统的多线程应用程序设计.计算机工程与应用.1999,Vol.35,No.5:43-45.
    [71]詹永照,谢立等.使用CORBA实现各种分布式应用系统的策略.计算机科学.1999,Vol.26,No.4:13-16.
    [72]饶文碧等.网络分布式环境下的并行计算方法.武汉工业大学学报.2000,Vol.22,No.1:54-56.
    
    
    [73]潘军.三维地图动画生成中的粗粒度分布式并行计算.福州大学学报.2000,Vol.28,No.3:43-45.
    [74]覃中平,张焕国等.拉丁方合痕分类的计算机辅助方法.计算机学报.1998,Vol.21,No.7:669-673.
    [75]周俊,覃中平.生成拉丁阵合痕类代表元的一种快速算法.华中理工大学学报.2000,Vol.28,No.1:100-103.
    [76]陈国良编著.并行算法分析与设计.合肥:中国科学技术大学出版社.1993:135-156.
    [77]卢开澄编著.组合数据.北京:清华大学出版社.1999:239-283.
    [78]张应山,卢一强.广义拉丁矩阵的计数.河北师范大学学报.1997,Vol.25,No.1:9-11.
    [79]陶仁骥,陈世华.拉丁方的枚举和计数(1).中国科学(A辑).1990,Vol.33:579-585.
    [80]陶仁骥,陈世华.拉丁方的枚举和计数(2).中国科学(A辑).1990,Vol.33:930-937.
    [81]刘欢.分布式处理系统中进程调度的设计.计算机工程与应用.1999,Vol.35,No.8:49-51.
    [82]余志勇.Delphi环境下串行通信应用程序设计.计算机应用.2000,Vol.20,No.4:28-30.
    [83]殷苌茗,李峰等.Delphi多线程在分布式实时多任务系统中的应用.长沙电力学院学报.2000,No.2:22-25.
    [84]郑纬民,石威等译.高性能机群计算:编程与应用.北京:电子工业出版社.2001.
    [85]杨剑,汤克明,杨晓秋.字符化大整数运算系统的构造与实现.扬州大学学报自然科学版.2000,Vol.3,No.4:52-56.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700