资源描述:
《基于mpi的并行计算系统构建及评测new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第23卷第4期兰州交通大学学报(自然科学版)Vol.23No.42004年8月JournalofLanzhouJiaotongUniversity(NaturalSciences)Aug.2004文章编号:1001-4373(2004)04-0091-03基于MPI的并行计算系统构建及评测X122赵庶旭,朱正平,孙传庆(1.兰州交通大学信息与电气工程学院,甘肃兰州730070;2.兰州师范专科学校计算机系,甘肃兰州730070)摘要:利用普通微机(PC)构建高性能机群(Beowulf)同样可以获得强大的计算能力.针对在Beowulf系统中基于MPI环境的并行计算问题给出了可行的构建方案,对
2、于如何解决负载平衡,针对MPI(MessagePassingInterface)并行编程环境下测试并行系统加速比编程比较困难的情况,介绍开发了一个矩阵相乘的通用并行算法模块,针对评测模型进行了性能测试,测试结果表明可以达到比较好的实际效果.关键词:并行计算;MPI;Beowulf;加速比中图分类号:TP301.4文献标识码:A程之间一定需要通信.并行计算问题涉及最多的就0引言是矩阵的运算.比如说,在一些典型算法中的大型矩目前,在大型科学与工程计算问题中,如气象预阵相乘,如果只在单机上运算,数据规模很小,不能报、空气动力学计算等,对运算数据的安全性、稳定达到问题的需求,且因为计算量大,运行时
3、间会很性和正确性等方面的要求愈来愈高,由此,对计算机长.在这种问题背景之下,就必须利用高性能计算的计算速度提出了更高要求.但大型机、巨型机如银机,来并行求解该问题.在并行求解的过程中,自然河、曙光等昂贵价格不能为绝大多数商用和科研单涉及的问题就是采用什么样的算法来进行并行计位所接受.而个人计算机(PC)日益普及,PC中处理算.器性价比显著提升,计算机通信硬件性能指标及以本文将主要介绍Beowulf系统的系统构建实现,太网局域网技术的突破,诸多因素使得使用PC构并利用在MPI环境下进行编程成功实现的一种矩建成/高性能计算集群0成为可行.使用并行分布式阵相乘的通用算法进行了系统性能评测.系统,
4、以低廉的价格获得强大的计算能力,成为计算1Beowulf系统硬/软件构建机系统发展的一个重要方向.MPI(MessagePassingInterface)是并行计算机的Beowulf系统1994年诞生于美国航空航天局消息传递接口标准,作为国内外在高性能计算机系(NASA)的飞行中心,以使用通用机组成的局域网,统中最广泛使用的并行编程环境.具有移植性好功造价便宜而得名.随着微机的普及,处理器性能提高能强大效率高等多种优点,而且有多种不同的免费和价格下降,用微机建造的Beowulf系统来实现并行高效实用的实现版本,这是其它并行编程环境都无计算集群,由于其极高的性价比而吸引各国科学家,法比拟的.
5、MPI其实就是一个库共有上百个函数调甚至一些商业公司的注意.随着通用机处理器的计用接口,在FORTRAN77和C语言中可以直接对这算速度提高而成本降低,系统除了显示出强大的计些函数进行调用.算能力和极为优越的价格优势外,还展现了诸多优并行计算就是把在单机上运行的任务同时并行点:首先,系统依赖于成熟的、容易获得的计算机技地分配到多个计算机上执行.比如说,对一个大型矩术和通信技术以及硬件设备,容易上手.其次,构建阵的运算,可以把矩阵分成n块,每一块在一个单系统所用的软件,如MPI编程环境、测试工具软件机上运行.那么作为一个整体任务的一部分,各个进等,可以通过网上免费下载,较容易获得.再次,PC
6、X收稿日期:2004-04-21基金项目:甘肃省自然科学基金(2S031-A25-019-G).作者简介:赵庶旭(1977-),男,山东青岛人,硕士生.92兰州交通大学学报(自然科学版)第23卷的使用允许用户在一个熟悉的硬/软件环境下开发,调试和运行并行程序,这为使用者带来了很大的方便.最后,系统具有良好的可移植性,可伸缩性,对系统的构建、维护以及资源的充分利用十分有利.本文以下将对所构建的Beowulf并行计算系统进行介绍.#硬件平台通用PC机(本系统选用IBM机型,内存256M);交换机(本系统选用Cisco百兆16口交换机);图1并行系统原理示意图网卡(本系统选用为10/100M交换
7、式网卡).Fig.1Principlefigureofparallelsystem#软件平台规整这一特点,来分析数据之间的相关性,较好地实linux,Windows2000,WindowsNT等(本系统选用现了基于二维数组的分块通信计算的局部性,减少WindowsNT);了通信开销,从而提高计算效率.该算法的主导思想开发环境(本系统选用MPI.NT和VisualC++是将矩阵的行平均分配到各节点上,并将这些行的6.0).