(计算机应用技术专业论文)基于mpi的集群系统用户信息处理.pdf_第1页
(计算机应用技术专业论文)基于mpi的集群系统用户信息处理.pdf_第2页
(计算机应用技术专业论文)基于mpi的集群系统用户信息处理.pdf_第3页
(计算机应用技术专业论文)基于mpi的集群系统用户信息处理.pdf_第4页
(计算机应用技术专业论文)基于mpi的集群系统用户信息处理.pdf_第5页
已阅读5页,还剩104页未读 继续免费阅读

(计算机应用技术专业论文)基于mpi的集群系统用户信息处理.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学位论文数据集 中图分类号t p 3 1 6 4学科分类号 5 2 0 4 0 2 0 论文编号 l 0 0 1 0 2 0 0 7 0 5 2 7密级 学位授予单位代码 1 0 0 1 0 学位授予单位名称北京化工大学 作者姓名 吕翔学号 2 0 0 4 0 0 0 5 2 7 获学位专业名称 计算机应用技术获学位专业代码 0 8 1 2 0 3 课题来源其他项目研究方向计算机网络 论文题目基于m p i 的集群系统用户信患处理 关键词m p i ,并行程序设计,集群系统,用户信息处理 论文答辩日期 20 0 7 - 6 - 8论文类型 开发研究 学位论文评阅及答辩委员会情况 姓名职称工作单位学科专长 指导教师 黄九梅 南级砩咖 此蓉彳匕l 丈手计箅机同给 评阅人1 弓耸尔 教磺北吝砷劫哼计霉机 评阅人2 亩j 、国秘埙岁匕舒脚计箅机 评阅人3 评阅人4 评阅人5 椭员蝴 弓牮尔秘掇毋k 京帅勃眵鼋t 箅加乙 答辩委员1翻、因 微硬她茛彳哟计算机 答辩委员2赵天数莜北长仁婿 计算机 答辩委员3栳嚆 高掰聊 北长艺工大争 f 算机 答辩委员4 答辩委员5 注:一论文类型:1 基础研究2 应用研究3 开发研究4 其它 二中图分类号在中国图书资料分类法查询 三学科分类号在中华人民共和国国家标准( g b t1 3 7 4 5 - 9 ) 学科分类与代码中 查询 四论文编号由单位代码和年份及学号的后四位组成 , , 摘要 基于m p i 的集群系统用户信息处理 摘要 本论文在联想深腾集群系统平台下,基于m p i ( m e s s a g ep a s s i n g i n t e r f a c e 消息传递接口) 并行程序设计技术,开发并实现了一个用户信息 处理系统,用于对集群系统中计算结点上的用户资源使用情况和用户登录 情况进行监测与管理。 本论文主要分为三个方面:第一方面介绍m p i 并行程序设计的相关 内容,这是在集群系统上执行并行查询操作的基础。其中包括并行计算及 并行程序设计的基本概念、m p i 及m p i 并行计算环境介绍,此外还给 出了一个用并行算法实现的矩阵相乘的实例,并与传统的串行算法进行了 比较。 第二方面实现了单结点上的用户资源使用情况和用户登录情况的处 理,这是对集群系统中多结点进行的操作的基础。主要分为三个模块实现: 用户信息采集及处理模块、信息入库模块和显示模块。其中通过集群系统 使用的l i n u x 操作系统所提供的一些核心命令来完成信息的采集和处 理,通过对服务器端m y s q l 数据库的操作完成信息的入库,最后通过 j s p 编程技术将入库信息以w e b 网页形式显示在客户端。 第三方面将第一方面m p i 并行程序设计技术和第二方面单结点用 户信息处理结合起来,实现了在集群系统中查询多结点的用户信息,最后 给出整个用户信息处理系统的测试过程和操作说明。 本论文主要阐述了该用户信息处理系统的开发背景、实践意义、设计 t 北京化工大学硕士学位论文 方案、实现技术与过程以及最终的测试使用过程。 关键词:m p i ,并行程序设计,集群系统,用户信息处理 a b s t r a c t u s e r i n f o r m a t i o np r o c e s s i n g o ft h ec l u s t e rs y s t e mb a s e do nm p i a b s t r a c t b a s e do nt h em p i ( m e s s a g ep a s s i n gi n t e r f a c e ) p a r a l l e lp r o g r a m m i n g t e c h n o l o g yu n d e rt h el e n o v os h e n t e n gc l u s t e rs y s t e mp l a t f o r m ,t h i st h e s i s d e v e l o p s a n di m p l e m e n t sau s e r - i n f o r m a t i o np r o c e s s i n gs y s t e mu s e dt o m o n i t o ra n dm a n a g et h es i t u a t i o no fu s e rr e s o u r c e s - u s i n ga n du s e rl o g g i n g i n f o r m a t i o no ft h ec o m p u t i n gn o d e si nt h ec l u s t e rs y s t e m t h i st h e s i sm a i n l yc o n s i s t so ft h r e ep a r t s :t h ef i r s tp a r ti n t r o d u c e st h e r e l a t e dc o n t e n t so ft h em p ip a r a l l e lp r o g r a m m i n g ,w h i c hi st h ef o u n d m i o no f p a r a l l e li n q u i r i n go p e r a t i o ni nt h ec l u s t e rs y s t e m t h i sp a r ti n c l u d e st h eb a s i c c o n c e p t so fp a r a l l e lc o m p u t i n g a n d p a r a l l e lp r o g r a m m i n g ,i n t r o d u c t i o n t om p i a n dm p ip a r a l l e lc o m p u t i n ge n v i r o n m e n t ,a n da l s oa l le x a m p l eo fm a t r i x m u l t i p l i c a t i o ni m p l e m e n t e di np a r a l l e la l g o r i t h mw h i c hi sc o m p a r e dt ot h e t r a d i t i o n a ls e r i a la l g o r i t h ml a t e r t h es e c o n dp a r ti m p l e m e n t st h ep r o c e s s i n go fu s e rr e s o u r c e s - u s i n ga n d t u s e rl o g g i n gi n f o r m a t i o no nas i n g l en o d e ,w h i c hi st h ef u n d a m e n t a lo p e r a t i o n o fa r b i t r a r yn o d e si nt h ec l u s t e rs y s t e m t h ei m p l e m e n t a t i o ni sd i v i d e di n t o t h r e em o d u l e s :u s e ri n f o r m a t i o nc o l l e c t i o na n d p r o c e s s i n g m o d u l e , i i i ;,0j 北京化工大学硕士学位论文 i n f o r m a t i o ns t o r a g em o d u l ea n dt h ed i s p l a ym o d u l e t h ei n f o r m a t i o n c o l l e c t i o na n dp r o c e s s i n ga r ca c c o m p l i s h e dt h r o u g hs o m ec o r ec o m m a n d s p r o v i d e db yt h el i n u xo p e r a t i o ns y s t e mw h i c ht h ec l u s t e rs y s t e mi sr u n n i n gk o n ;t h ei n f o r m a t i o ns t o r a g ei sa c c o m p l i s h e dt h r o u g ht h eo p e r a t i o no fm y s q l d a t a b a s eo nt h es e r v e r ;f i n a l l y , t h es t o r e di n f o r m a t i o nd i s p l a yi sa c c o m p l i s h e d t h r o u g hj s pp r o g r a m m i n gt e c h n o l o g y a saf o r mo fw e b p a g eo nt h ec l i e n t t h et h i r dp a r ti m p l e m e n t st h eu s e ri n f o r m a t i o ni n q u i r yo na r b i t r a r yn o d e s i nt h ec l u s t e rs y s t e mb yc o m b i n i n gt h ea b o v et w op a r t s f i n a l l y , t h et e s t i n g p r o c e s s a n dm a n i p u l a t i o n e x p l a n a t i o n o ft h ew h o l eu s e r - i n f o r m a t i o n p r o c e s s i n gs y s t e ma r ep r o v i d e d t h i st h e s i sm a i n l yd e s c r i b e st h ed e v e l o p m e n tb a c k g r o u n d ,p r a c t i c a l s i g n i f i c a n c e ,d e s i g ns c h e m e ,i m p l e m e n t a t i o no ft e c h n o l o g ya n dp r o c e s sa n d t h ee v e n t u a lp r o c e s so ft e s t i n ga n du s a g eo ft h eu s e r - i n f o r m a t i o np r o c e s s i n g s y s t e m k e y w o r d s :m p i ,p a r a l l e lp r o g r a m m i n g ,c l u s t e rs y s t e m ,u s e r - i n f o r m a t i o n p r o c e s s i n g i v 目录 目录 第一章绪论。1 第二章m p i 并行程序设计3 2 1 并行计算及并行程序设计3 2 2 并行编程模型及并行算法5 2 3m p i 及m p i 并行计算环境7 2 4m p i 并行程序设计实例:矩阵相乘1 8 2 4 1 矩阵相乘的串行算法1 8 2 4 2 矩阵相乘的并行算法1 9 2 4 3 并行算法改进一2 5 第三章总体设计2 9 3 1 联想深腾集群系统2 9 3 1 1 网格技术概述2 9 3 1 2 联想深腾集群系统简介3 l 3 1 3l i n u x 操作系统及l i n u x 进程理论简介3 3 3 2 用户信息处理的总体设计3 4 第四章单结点的用户信息处理3 7 4 1 相关核心命令解析3 7 4 1 1s h e l l 脚本编程简介。3 7 4 1 2t o p 命令解析3 7 4 1 3l a s t 命令解析4 0 4 1 4p s 命令解析4 1 4 1 5a w k 命令解析4 4 4 2 信息获取与处理模块4 5 4 2 1 用户资源使用信息的获取与处理4 5 4 2 2 用户登录信息的获取与处理4 8 4 3 入库模块5 0 4 3 1m y s q l 数据库简介5 0 4 3 2 数据库的设计及建库5 l 4 4 显示模块5 8 v 北京化工大学硕士学位论文 4 4 1j s p 编程简介5 8 4 4 2w e b 网页操作实现流程5 9 第五章多结点的用户信息处理6 3 5 1 多结点信息处理6 3 5 2 系统测试及使用说明6 9 结束语7 7 参考文献7 9 附录8 l 致谢8 9 研究成果及发表的学术论文9 l 作者及导师简介,9 3 v l c o n t e _ a t s co n t e n t s c h a p t e r1i n t r o d u c t i o n l c h a p t e r2m p ip a r a l l e lp r o g r a m m i n g 3 2 1p a r a l l e lc o m p u t i n ga n dp a r a l l e lp r o g r a m m i n g 3 2 2p a r a l l e lp r o g r a m m i n gm o d u l ea n dp a r a l l e la l g o r i t h m 5 2 3m p ia n dm p i p a r a l l e lc o m p u t i n ge n v i r o n m e n t 7 2 4 a nm p ip a r a l l e lp r o g r a m m i n ge x a m p l e :m a t r i xm u l t i p l i c a t i o n 1 8 2 4 1s e r i a la l g o r i t h mo f m a t r i xm u l t i p l i c a t i o n 1 8 2 4 2p a r a l l e la l g o r i t h mo f m a t r i xm u l t i p l i c a t i o n 1 9 2 4 3i m p r o v e m e n to f t h ep a r a l l e la l g o r i t h m 2 5 c h a p t e r3h o f i s t i cd e s i g n 2 9 3 1t h el e n o v os h e n t e n gc l u s t e rs y s t e m 2 9 3 1 1s u m m a r yo f t h eg n dt e c h n o l o g y 2 9 3 1 2b r i e fi n t r o d u c t i o nt ot h el e n o v os h e n t e n gc l u s t e rs y s t e m 3 1 3 1 3b r i e f i n t r o d u c t i o nt ol i n u xo sa n di t sp r o c e s st h e o r y 3 3 3 2h o l i s t i cd e s i g no f t h eu s e r - i n f o r m a t i o np r o c e s s i n g 3 4 c h a p t e r 4u s e r - i n f o r m a t i o np r o c e s s i n go ns i n g l en o d e - 3 7 4 1e x p l a n a t i o n so f r e l a t e dc o r ec o m m a n d s 3 7 4 1 1b r i e f i n t r o d u c t i o nt os h e l ls c r i pp r o g r a m m i n g 3 7 4 1 2e x p l a n a t i o no f c o m m a n dt o p 3 7 4 1 3e x p l a n l t i o no f c o m m a n dl a s t 4 0 4 1 4e x p l a n a t i o no f c o m m a n d p s 4 l 4 1 5e x p l a n a t i o n o f c o m m a n da w k 4 4 4 2i n f o r m a t i o nc o l l e c t i o na n dp r o c e s s i n gm o d u l e 4 5 4 2 1c o l l e c t i o na n d p r o c e s s i n g o f u s e r r e s o u r c e s - u s i n g i n f o r m a t i o n 4 5 4 2 2c o l l e c t i o na n dp r o c e s s i n go fu s e rl o g g i n gi n f o r m a t i o n 4 8 4 3i n f o r m a t i o ns t o r a g em o d u l e 5 0 4 3 1b r i e f i n t r o d u c t i o nt ot h em y s q l d a t a b a s e 。5 0 4 3 2d a t a b a s ed e s i g na n db u i l d i n g 5 1 4 4d i s p l a y m o d u l e 5 8 v i i 北京化工大学硕士学位论文 4 4 1b r i e f i n t r o d u c t i o nt ot h ej s pp r o g r a m m i n g 5 8 4 4 2w e b p a g eo p e r a t i o np r o c e s s 5 9 c h a p t e r 5u s e r - i n f o r m a t i o np r o c e s s i n go nm u l t i p l en o d e s 6 3 5 1i n f o r m a t i o np r o c e s s i n go nm u l t i p l en o d e s 6 3 5 2t e s t i n ga n dm a n i p u l a t i o ne x p l a n a t i o n 6 9 c o n c l u s i o n 7 7 b i b l i o g r a p h y 7 9 a p p e n d i x 8 1 a c k n o w l e d g m e n t s 8 9 r e s e a r c hr e s u l t sa n d p u b l i s h e da c a d e m i cp a p e r 9 1 b r i e fi n t r o d u c t i o nt oa u t h o ra n dt u t o r 9 3 第一章绪论 第一章绪论 课题来源 本论文课题主要来源于联想集群系统自身硬件采集功能的缺陷,即在其管理结点 上只能看到各计算结点上总体的资源使用情况,而不能采集到单一计算结点上每个用 户作业进程的资源利用率。 课题背景 本论文课题的背景主要基于联想深腾1 8 0 0 高性能服务器的实际应用情况。联想 公司于2 0 0 1 年成立高性能服务器事业部以来,就在研发、市场、服务上不断创新和 进步,在产业化方面更是取得重大进展,并牢牢确立了联想深腾高性能服务器品牌。 2 0 0 2 年推出的万亿次深腾1 8 0 0 超级计算机,不仅是当时世界上第一个万亿次机群系 统,国产机第一次进入世界t o p 5 0 0 第4 3 名,也是国内第一个万亿次高性能机产品, 国内t o p 5 0 第一。 正是凭借其在性价比、应用测试能力、系统调优能力、售后服务提供能力等方面 的优势,深腾18 0 0 服务器在石油、气象、生物信息、工业设计、电力仿真、科研教 学等领域得到了广泛的应用,在相关领域的应用厂商、科研机构和高校用户的竞标中 纷纷中的。 本校也采用了联想深腾1 8 0 0 机群服务器系统,它为本校的科研教学工作提供了 易部署、安全稳定的开放平台。 课题工作 本论文的主要工作是熟悉联想深腾集群服务器系统的结构特征、工作原理以及集 群内各计算结点之间的通信技术。以此架构为平台,开发完成一个用户信息处理系统, 用于对集群系统中计算结点上的用户资源使用情况和用户登录情况进行监测与管理, 可以嵌入到联想集群环境中,完善其硬件功能的缺陷。 本论文的主要工作有三个方面:一是学习和掌握m p i 并行程序设计技术,二是 实现对单结点的用户信息采集和处理,三是将前二者结合起来共同实现对任意多结点 的用户信息采集和处理。 课题意义 通过整体的实践可知这是一项综合性很强的研究工作,它涉及到众多的知识领 域,技术手段也非常前沿。可以说无论是其技术含量还是锻炼价值,都值得肯定。 本课题研究的意义很大程度在于为今后的研究、实践活动拓展了思路:随着信息 北京化工大学硕士学位论文 科技的发展,硬件开销变得越来越庞大,如果可以勤于思考,想方设法运用软件技术 实现部分硬件功能,一方面可以节约成本,将有限的资金投入到更广阔的研究领域, 另一方面也有利于提高自身的知识水平和研究力。表面上看本课题只是针对特定的联 想集群系统而为,但从不同的侧面恰恰反映出了这一深化的主题。这才是把握问题本 质的关键所在。当然,通过努力完成系统方案,弥补了联想集群的缺陷,这也是值得 骄傲的成绩。 论文结构 第一章绪论,综述论文的全局情况;第二章m p i 并行程序设计,主要介绍m p i 并行程序设计的基本概念和思想,并行计算环境及并行算法等知识;第三章总体设 计,介绍了联想深腾集群系统的概况和用户信息处理系统的总体设计思想;第四章单 结点的用户信息处理,实现了单结点上的用户信息采集和处理;第五章多结点的用 户信息处理,结合前三章的知识实现了集群系统上多结点的用户信息采集和处理。 本论文主要阐述了该用户信息处理系统的开发背景、实践意义、设计方案、实现 技术与过程以及最终的测试使用过程。 2 第二章m p i 并行程序设计 第二章m p i 并行程序设计 2 1 并行计算及并行程序设计 一 随着计算机硬件尤其是c p u 等核心部件的快速发展,支持超线程技术的c p u 及多核c p u 逐渐为人们所熟悉,这使得c p u 能够在同一时刻更有效地处理多个任 务。使用多处理器进行的并行计算在高性能计算等领域受到越来越多的关注,并行计 算成为一种未来计算的趋势。 并行计算【1 】是指同时对多个任务或多条指令、或对多个数据项进行处理。完成此 项处理的计算机系统称为并行计算机系统,它是将多个处理器( 可以有几个、几十个、 几千个、几万个等) 通过网络连接,以一定的方式有序地组织起来( 一定的连接方式 涉及网络的互联拓扑、通信协议等,有序的组织涉及操作系统、中间件等) 。并行计 算的主要目的:一是为了提供比传统计算机更快的计算速度;二是为了解决传统计算 机无法解决的问题。 进行并行计算的计算机系统即为并行计算机【2 1 ,它能够在同一时间内执行多条指 令或处理多个数据,是并行计算的物理载体。根据不同的划分方式,并行计算机有两 种常见的划分方法: 按照指令与数据的划分方式可以根据一个并行计算机能够同时执行的指令与处 理数据的多少将并行计算机分为s i m d ( s i n g l e - i n s t r u c t i o nm u l t i p l e - d a t a 单指令多数 据并行计算机) 和m i m d ( m u l t i p l e - i n s t r u c t i o nm u l t i p l e d a t a 多指令多数据并行计算 机) 。参见图2 1 并行计算机的划分( 按指令与数据) 。 m s 图2 - 1 并行计算机的划分( 按指令与数据) f i g 2 - 1d i v i s i o no fp a r a l l e lc o m p u t e r ( a c c o r d i n gt oi n s t r u c t i o na n dd a t a ) s 1 m d 和m i m d 这种划分方法虽然至今还在广泛使用,但是随着新的并行计算 3 北京化工大学硕士学位论文 机组织方式的产生,对比上面的划分方法,人们按照同时执行的程序和数据的不同又 提出了s p m d ( s i n g l e - p r o g r a mm u l t i p l e d a t a 单程序多数据并行计算机) 和m p m d ( m u l t i p l e - p r o g r a mm u l t i p l e - d a t a 多程序多数据并行计算机) 的概念。这种划分方式依 据的执行单位不是指令而是程序,显然其划分粒度要大得多。 按照物理存储的划分方式可将并行计算机分为共享内存和分布式内存两种基本 存储方式,除此之外分布式共享内存也是一种越来越重要的并行计算机存储方式。参 见图2 2 并行计算机的划分( 按物理存储) 。 i 共享内存 口 共享内存并行计算概 i 互连网络 分稚式内存井 j 嘲勺掌机分布式共事内存并行计算饥 广 l i 不具有局部存储的处理单元 国具有局部存储的处理肇元 共享存储的局瓤姓理单元 图2 - 2 并行计算机的划分( 按物理存储) f i g 2 - 2d i v i s i o no fp a r a l l e lc o m p u t e r ( a c c o r d i n gt op h y s i c a lm e m o r y ) 对于共享内存的并行计算机,各个处理单元通过对共享内存的访问来交换信息, 协调各处理器对并行任务的处理;对于分布式内存的并行计算机,各个处理单元都拥 有自己独立的局部存储器,各个处理器之间通过消息传递来交换信息,协调和控制各 个处理器的执行;分布式共享内存的并行计算机结合了前两者的特点,是当今新一代 并行计算机的一种重要发展方向【3 】。 如果一个实际的问题想要通过并行计算的方法来解决,需要使用并行程序设计的 方法对问题进行分析、建模、编码,最后求出结果。具体来说,就是:忽略并行机的 非本质的细节特征,可以得到该并行机的并行计算模型,在这一模型上,可以设计各 种适合该模型的并行算法,这些算法精确描述了该并行模型能够实现的功能,而这些 4 第二章m p i 并行程序设计 算法是通过用特定的并行语言设计并行程序后得以实现的。对于现实世界的物理问 题,为了能够高效地并行求解,必须建立它的并行求解模型,一个串行的求解模型是 很难在并行机上取得满意的并行效果的。有了并行求解模型,就可以针对该模型设计 高效的并行算法,这样就可以对该问题的求解进行精确描述和定量分析,就可以对各 种不同的算法进行性能上的比较,最后通过并行程序设计,实现问题和并行机的结合。 这个过程如图2 3 物理问题的并行解决过程所示。 图2 - 3 物理问题的并行解决过程 f i g 2 - 3p a r a l l e lr e s o l v i n gp r o c e s so fp h y s i c a lp r o b l e m 并行程序设计,需要将问题的并行求解算法转化为特定的适合并行计算模型的并 行算法,为了达到这一目的,首先是问题的并行求解算法必须能够将问题内在的并行 特征充分体现出来,否则并行求解算法将无法利用这些并行特征,从而使问题的高效 并行求解成为不可能;其次是并行求解模型要和并行计算模型尽量吻合,这样,就为 问题向并行机上的高效解决提供了前提。 2 2 并行编程模型及并行算法 目前两种最重要的并行编程模型是数据并行和消息传递4 1 ,数据并行编程模型的 编程级别比较高,编程相对简单,但它仅适用于数据并行问题;消息传递编程模型的 编程级别相对较低,但消息传递编程模型可以有更广泛的应用范围。 数据并行将相同的操作同时作用于不同的数据,数据并行编程模型提供给编程者 北京化工大学硕士学位论文 一个全局的地址空间,一般这种形式的语言本身就提供并行执行的语义,因此对于编 程者来说,只需要简单地指明执行什么样的并行操作和并行操作的对象,就实现了数 据并行的编程。 消息传递即各个并行执行的部分之间通过传递消息来交换信息、协调步伐、控制 执行。消息传递一般是面向分布式内存的,但是它也可适用于共享内存的并行机。消 息传递为编程者提供了更灵活的控制手段和表达并行的方法,一些用数据并行方法很 难表达的并行算法,都可以用消息传递模型来实现,灵活性和控制手段的多样化,是 消息传递并行程序能提供高的执行效率的重要原因。 表2 1 数据并行模式与消息传递模式的比较对数据并行和消息传递两种并行编 程模式进行了简单的对比。 表2 - 1 数据并行模式与消息传递模式的比较 t a b l e2 - 1c o m p a r i s o nb e t w e e nd a t ap a r a l l e lm o d ea n dm e s s a g ep a s s i n gm o d e 对比内容数据弗行消息传递 编攫缀副离低 适用的并行规类型 s 】m d s p m ds n 胁n 匝垤既。s p 鼢n 匣m d 执行效率依赖f 编译嚣高 地址空闯单一多个 存铸炭型 共享内存 分布式绒萸摩内存 通f 齑的实现编译嚣负责程序受灸资 朗题类数据蚱行类问题数据件行、任务并行 目前状况缺乏羯绶的编译器支持使j 悸广泛 并行程序是通过并行语言来表达的,并行语言的产生主要有三种方式:l 、设计 全新的并行语言;2 、扩展原来的串行语言的语法成分使它支持并行特征;3 、不改变 串行语言仅为串行语言提供可调用的并行库。对于这三种并行语言的实现方法,目前 最常使用的是第二种和第三种方法,特别是第三种方法。 并行算法是给定并行模型的一种具体、明确的解决方法和步骤,按照不同的划分 方法,并行算法有多种不同的分类。如根据运算的基本对象的不同可以将并行算法分 为数值并行算法( 数值计算) 和非数值并行算法( 符号计算) ;根据进程之间的依赖关 系可以分为同步并行算法( 步调一致) 、异步并行算法( 步调进展互不相同) 和纯并行 算法( 各部分之间没有关系) ;根据并行计算任务的大小可以分为粗粒度并行算法( 一 个并行任务包含较长的程序段和较大的计算量) 、细粒度并行算法( 一个并行任务包含 较短的程序段和较小的计算量) 以及介于二者之间的中粒度并行算法【5 】。 并行算法基本上是随着并行机的发展而发展的,从本质上说,不同的并行算法是 根据问题类别的不同和并行机体系结构的特点产生出来的,一个好的并行算法要既能 6 第二章m p i 并行程序设计 很好地匹配并行计算机硬件体系结构的特点,又能反映问题内在并行性。 对于s i m d 并行计算机一般适合同步并行算法,而m i m d 并行计算机则适合 异步并行算法。对于机群计算,有一个很重要的原则就是设法加大计算时间相对于通 信时间的比重,减少通信次数甚至以计算换通信。这是因为,对于机群系统,一次通 信的开销要远远大于一次计算的开销,因此要尽可能降低通信的次数或将两次通信合 并为一次通信。 基于同样的原因,机群计算的并行粒度不可能太小,因为这样会大大增加通信的 开销。如果能够实现计算和通信的重叠,那将会更大地提高整个程序的执行效率。 因此,对于机群计算,可以是数值或非数值的计算,也可以是同步、松同步或异 步的,但以同步和松同步为主,并行的粒度一般是大粒度或中粒度的。一个好的算法 一般应该呈现如下的计算模式,参见图2 4 并行计算模式: 计算 ,r ,r l , 遥信 或 等待 , ,r ,r , k , 图2 - 4 并行计算模式 f i g 2 - 4p a r a l l e lc o m p u t i n gm o d e 2 3m p i 及m p i 并行计算环境 m p i ( m e s s a g ep a s s i n gi n t e r f a c e 消息传递接口) 【6 】并不是- - n 并行语言,它是一个 提供消息传递接口函数的标准函数库,是一种标准或规范的代表,是一种消息传递的 编程模型。 m p i 的实现为用户提供了以下的支持: 提供应用程序编程接口 提高通信效率措施,包括避免存储器到存储器的多次重复拷贝,允许计算和 通信的重叠等 可在异构环境下提供实现 提供的接口可以方便c 语言和f o r t r a n7 7 的调用 提供可靠的通信接口,使用户不必处理通信失败 定义的接口和现在已有接口( 如p v m 、n x 、e x p r e s s 、p 4 等) 差别不能太大, 但是允许扩展以提供更大的灵活性 定义的接口能在基本的通信和系统软件无重大改变时,在许多并行计算机生 7 北京化工大学硕士学位论文 产商的平台上实现,接口的语义是独立于语言的 接口设计应是线程安全的 m p i 提供了一种与语言和平台无关,可以被广泛使用的编写消息传递程序的标 准,用它来编写消息传递程序,不仅实用、可移植、高效和灵活,而且和当前已有的 实现没有太大的变化。 由于m p i 是一个库而不是- f - j 语言,因此对m p i 的使用必须和特定的语言结 合起来进行。f o r t r a n 是科学与工程计算领域的语言,而c 语言是目前使用最广 泛的系统和应用程序开发的语言之一,因此对f o r t r a n 和c 的支持都是必须的。 在m p i 的第一个版本m p i - i 中,明确提出了m p i 和f o r t r a n7 7 与c 语言的 绑定,并且给出了通用接口说明和针对f o r t r a n7 7 与c 语言的专用接口说明。 许多组织为m p i 的标准化工作付出了努力。m p i 的标准化工作开始于1 9 9 2 年 4 月2 9 日至3 0 日,在威吉尼亚的威廉姆斯堡召开的分布存储环境中消息传递标准 的讨论会上,由d o n g a r r a , h e m p e l ,h e y 和w a l k e r 建议的初始草案于1 9 9 2 年1 1 月 推出,并在1 9 9 3 年2 月完成了修订版,这就是m p i1 0 。1 9 9 5 年6 月推出了m p i 的 新版本m p l l 1 ,对原来的m p i 作了进一步的修改完善和扩充。1 9 9 7 年7 月,在对 原来的m p i 作了重大扩充的基础上,又推出了m p i 的扩充部分m p i 2 ,而把原来 的m p i 各种版本称为m p i - i 。m p i 2 的扩充很多,但主要是三个方面:并行y o 、 远程存储访问和动态进程管理。 m p i c h 是一种最重要的m p i 实现,它可以免费从以下网址获得:h 卸: w w w - u n i x m c $ a n l g o v m p i m p i c h 。美国的a r g o n n e 国家试验室和m s u 对m p i c h 做出了重要的贡献。c h i m p 是e d i n b u r g h 开发的另一个免费的m p i 实现,是在 e p c ce d i n b u r g hp a r a l l dc o m p u t i n gc e n t r e 的支持下进行的,可以从邱: 邱e p c c e d a c u k p u b p a c k a g e s c h i m p r e l e a s e 免费下载该软件。l a m ( l o c a la r e a m u l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论