(计算机软件与理论专业论文)可视化并行程序设计方法的研究.pdf_第1页
(计算机软件与理论专业论文)可视化并行程序设计方法的研究.pdf_第2页
(计算机软件与理论专业论文)可视化并行程序设计方法的研究.pdf_第3页
(计算机软件与理论专业论文)可视化并行程序设计方法的研究.pdf_第4页
(计算机软件与理论专业论文)可视化并行程序设计方法的研究.pdf_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

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

文档简介

摘要 在,f :行计算研究领域,解决并行编程难的问题是一项富有挑战性的:j :作长期以来,并行 烈序设计一直缺乏有效的高层模型和语言的支持,对方法学的研究甚少,致使并行软件一直落 后于, - 行硬什随着高性能计算系统结构逐步向机群和网格结构发展,如何在多学科、多平台 和异构的环境下设计并行程序、理解并行程序的行为、调试和优化并行程序的性能。开展并行 程序设计方法学的研究显得十分必要和迫切 本文从并行程序设计的模型、语言、环境和工具儿个方面较为系统地研究了可视化的并行 程序设计方法研究工作首先从现有的并行系统所支持的并行程序设计方法和工具存在的诸多 问题入手,分析了并行程序设计难的原因:综述了国内外并行程序设计模型和语言的研究现状; 给出了并行程序设计模型的评价标准:提山了这一领域面i i 缶的挑战性问题和朱来的发展方向 然肝,在此基础上研究了如何将现有的软仆设计理论平| | 技术引入到人规模并行程序设计中,把 这些方法中优秀的思想、特色、观点以及技术融合成一套较为完整的并行软件开发方法本文 主要的研究工作和所取得的成果归纳为以下三个方面: ( 1 ) 研究了可视语言在并行程序设计中的应用提出了一个可视化的并行软件开发模型层 次抽象网- 络( h i e r a r c h ya n da b s t r a c tn e t s , i a n ) 该模型将并行软件的设计分为并行软件体 系结构( 高层) 、并行程序框架( 中间层) 和代码( 低层) 三个设计层次,支持在不同的层次上 做不同的设计决策。使得每个层次上要做的决策相对简单高层和中间层的可视化设计均 与5 f 台和语言无关通过对三层模型的灵活运川,可开发应川问题中不同粒度的并行性 高层适合于考虑任务级并行,可支持开发广域、异构环境下的分布协同计算;中间层适合 于考虑进程级并行,可支持开发单机、局域和同构环境下的并行计算;低层才考虑与单机 平台和语言相关的代码实现和性能优化 ( 2 ) 研究了h a n 模型的实现问题通过利用和扩展可视化的面向对象建模语言u m l 和p e t r i 网模型的可视特性,将p e t r i 网模型集成到面向对象概念中,并将并行软件的静态设计与控 制其动态行为有机地结合起来。从而支持开发过程中程序的静态调试、行为分析和性能调 整,实现以渐进的方式开发大型并行软件为此设计了一个具有句法规则的可视语言 h a n a l ( h a n a d v a n c e dl a n g u a g e ) ,主要包括两部分:面向对象部分h a n a l f r a m e ,用于在中 间层实现层次和封装的概念:和网部分h a n a l n e t ,用于在高层描述并行软件系统中的并 发、协作和资源共享 ( 3 ) 研究了在h a n 模型下开发大型并行软件的过程和建模方法,提出了一个可视化的并行程 序设计环境和工具框架h a n e t ( h a nb a s e de n v i r o n m e n ta n dt o o l s ) 从并行机用户环境和工 具界面的特殊需求和实现环境出发,提出了并行机的用户界面模型、可视界面的实现模式 汞吱撑技术结合在研的国家8 6 3 重大项目“曙光3 0 0 0 客户端集成环境的研究与开发”和 “国家高性能计算环境合肥网格结点及远程用户使用环境和工具的研制”,初步实践 了本文所提山的环境和工具的设计思想 本文提出了以下新的见解:( 1 ) 以模型驱动设计,通过模型的多级抽象降低开发大型并行 麻h j 的复杂度;( 2 ) 在面向对象方法框架一f 支持多语言混合编程;0 ) 将并行软件的静态结构设 计与动态行为控制相结合,支持在开发过程中控制并行程序的正确性、分析和调整程”行程序 的性能:( 4 ) 在客户桌面上实现虚拟并行机的概念 卒文的研究1 :作为高性能计算用户在当前和下一代高性能并行系统上设计并行程序建立 了高层抽象机制初步建立了支持层次化、结构化的可视化并行程序设计方法和工具框架,从 而有利丁i 降低大型并行程序设计的难度,提高并行机的好用性 关键词:并行程序设计,可视化,面向对象,模型和语言,环境和工具,p e t r i 网,u m l a b s t r a c t i ti sac h a l l e n g i n g p r o b l e m t os o l v et h ed i f f i c u l t yi np a r a l l e lp r o g r a m m i n g f o ral o n g t i m e ,t h e r e i sal a c ko fe f f e c t i v eh i i g hl e v e lm o d e l sa n d l a n g u a g e s ,l e s sa n dl e s sr e s e a r c ho np a r a l l e lp r o g r a m m i n g m e t h o d o l o g y ,r e s u l t e dt h a tp a r a ! l e ls o f t w a r ea l lt h r o t i 曲d r o p sb e h i n dp a r a l l e lh a r d w a r e a sh i g h p e r f o r m a n c ec o m p u t e ra r c h i t e c t u r ee v o l v e st ot h ec l u s t e ra n dt h eg r i d ,i ti sb r o u g h tf o r w a r dh o wt o d e s i g np a r a l l e lp r o g r a m ,u n d e r s t a n db e h a v i o ro fp a r a l l e lp r o g r a m ,d e b u gp a r a l l e lc o d e sa n do p t i m i z e p e r f o r m a n c e s o ,i ti se s s e n t i a lt or e s e a r c ho up a r a l l e lp r o g r a m m i n g m e t h o d o l o g y i nt h i s d i s s e r t a t i o n ,t h e m o d e l s ,l a n g u a g e s ,e n v i r o n m e n t a n dt o o l sf o rv i s u a l p a r a l l e l p r o g r a m m i n g w a r ed i s c u s s e db yt h en u m b e r s f i r s to fa l l ,w ea n a l y z et i r er e a s o n sw h ys od i f f i c u l t p a r a l l e lp r o g r a m m i n gi s ,a d d r e s st h ei s s u e sa b o u tp a r a l l e lp r o g r a m m i n gm e t h o d se x i s t i n gi nr e c e n t h i g hp e r f o r m a n c ep a r a l l e lm a c h i n e s ,s u r v e yt h es t a t e o f - t h e a r to fp a r a l l e lp r o g r a m m i n gm o d e l sa n d l a n g u a g e s ,o f f e ro u rv i e wo ft h ec r i t e r i at oe v a l u a t ep a r a l l e lp r o g r a m m i n gm o d e l s ,b r i n gf o r w a r dt h e c h a l l e n g ep r o b l e m si nt h i sa r e a ,p o i n to u ts o m ef u t u r er e s e a r c hd i r e c t i o n s t h e n ,w ec o n s i d e rh o w t o i n t r o d u c ee x i s t i n gt h e o r ya n d t e c h n i q u e so fs o f t w a r ed e s i g nt ol a r g e - s c a l ep a r a l l e lp r o g r a m m i n g t t o i n t e g r a t et h ee x c e l l e n ti d e a s ,f e a t u r e s ,v i e w p o i n t sa n dt e c h n i q u e si nt h e s em e t h o d st oa ni n t e g r a t e d m e t h o d o l o g y f o rd e v e l o p i n g p a r a l l e ls o f t w a r e o u rs t u d yw a sf i x e da t t e n t i o no nf o l l o w i n g : 【1 ) w er e s e a r c h e dt h ea p p l i c a t i o no fv i s u a ll a n g u a g et op a r a l l e lp r o g r a m m i n g ,a n dp u tf o r w a r da m o d e lf o rd e v e l o p i n gp a r a l l e ls o f t w a r ev i s u a l l y 。t h a ti s ,h i e r a r c h ya n da b s t r a c tn e t st h a n ) m o d e l t h i sm o d e ld i v i d e dt h es t a g eo ft h ed e s i g no fp a r a l l e ls o f t w a r ei n t ot h r e es t a g e s :p a r a l l e ls o f t w a r e a r c h i t e c t u r e d e s i g n ( h i g hl e v e l ) ,p a r a l l e lp r o g r a mf r a m e sd e s i g n ( m i d d l el e v e l ) ,c o d e sd e s i g n ( 1 0 w l e v e l ) t h ed e s i g nd e c i s i o n m a k i n gw a sd o n ea t e v e r y l e v e l r e s p e c t i v e l y ,s o t h a tt h ed e s i g n d e c i s i o n 。m a k i n ga te a c hl e v e li ss i m p l ec o m p a r a t i v e l y t h em o d e ls u p p o r t st od e v e l o pt h ed i f f e r e n t g r a n u l a r i t yo fp a r a l l e l i s mb ys m a r t l yu s i n gt h r e el e v e lm o d e l s t h et a s kp a r a l l e l i s mi nw i d ea r e a n e t w o r ka n d o rh e t e r o g e n e o u se n v i r o n m e n t m a y b e d e v e l o p e db yu s i n gh i g hl e v e lm o d e l ,t h ep r o c e s s p a r a l l e l i s mi nl o c a la r e an e t w o r ka n d o rs i n g l em a c h i n ee n v i r o n m e n tb ym i d d l el e v e lm o d e l ,t h ec o d e i m p l e m e n t a n dp e r f o r m a n c eo p t i m i z i n ga r ec o n s i d e r e da tl o wl e v e lm o d e l ( 2 ) i tw a sd i s c u s s e dh o w t oi m p l e m e n th a nm o d e l w e p r e s e n t e du t i l i z i n ga n de x t e n d i n g t h ev i s u a l f e a t u r e so ft h ev i s u a lo b j e c t - o r i e n t e dm o d e l i n gl a n g u a g eu m l ( u n i f i e dm o d e l i n gl a n g u a g e ) a n d p e t r in e t m o d e l ,i n t e g r a t i n gp e t r in e t si n t ot h ew o r l do fo b j e c t o r i e n t e dm o d e l i n g ,c o m b i n i n gt h e s t a t i c a s p e c td e s i g n o fp a r a l l e ls o f t w a r ew i t h c o n t r o l l i n g t h e d y n a m i cb e h a v i o r o ft h ep a r a l l e l s o f t w a r e s ot h a tt h ei d e a so fd e b u g g i n g ,b e h a v i o ra n a l y s i s ,p e r f o r m a n c ea d j u s t i n gw i t has t a t i cw a y w a r eh e l do u t ,a n dl a r g es c a l ep a r a l l e ls o f t w a r ec a nb ed e v e l o p e di n c r e a s i n g l y t h e r e f o r e ,av i s u a l l a n g u a g ew i t hs y n t a c t i c a lr u l e sw a sp r e s e n t e d ,t h a ti sh a n a l ( h a na d v a n c e dl a n g u a g e ) ,i n c l u d e : o b j e e l o r i e n t e dp a r t ,h a n a l f r a m e ,w h i c hi m p l e m e n t st h ec o n c e p t so fh i e r a r c h ya n de n c a p s u l a t i o n ; n e tp a r t ,h a n a l - n e t ,w h i c hi su s e dt od e s c r i b ec o n c u r r e n c e ,c o l l a b o r a t i o na n dr e s o u r c es h a r i n g ( 3 ) t h em o d e l i n gp r o c e d u r ea n dm e t h o df o rd e v e l o p i n gal a r g es c a l ep a r a l l e ls o f t w a r eu n d e rl t a n m o d e lw a ss t u d i e d ,a n dav i s u a le n v i r o n m e n ta n dt o o l sf r a m ef o rt h ep r o c e d u r ew a s p r o v i d e d ,t h a ti s i t a n e t ( h a nb a s e de n v i r o n m e n ta n dt o o l s ) w ed i s c u s s e dt h eu s e ri n t e r f a c em o d e l ,t h ei m p l e m e n t m e t h o d so fv i s u a li n t e r f a c ea n d e n a b l i n gt e c h n i q u e s f o r p a r a l l e lm a c h i n e s w ep r i m a r i l yi m p l e m e n t e d t h e d e s i g n i d e a s p r o v i d e db yh a n e tf o rp a r a l l e l e n v i r o n m e n ta n dt o o l sw i t h i nt w og r e a t8 6 3 h i g h - t e c hp r o g r a m m e :o n ei s r e s e a r c ha n dd e v e l o p m e n to fd a w n i n g3 0 0 0c l i e n t - - s i d ei n t e g r a t e d e n v i r o n m e n ta n dt o o l s a n o t h e ri sn a t i o n a lh i g hp e r f o r m a n c ec o m p u t i n ge n v i f o n m e n 卜一h e f e i g r i dn o d ea n di t sr e m o t eu s e t s e n v i r o n m e n ta n dt e e l s t h em a i nc o n t r i b u t i o na n di n n o v a t i o no ft h i sd i s s e r t a t i o na r ea sf o l l o w i n g :( 1 ) d e s i g nd r i v e nb y m o d e l s ,t h ec o m p l e x i t yo ft h ed e v e l o p m e n to fl a r g es c a l ep a r a l l e la p p l i c a t i o nw a sr e d u c e db y m u l t i l e v e lm o d e l a b s t r a c t ;( 2 ) s u p p o r t i n gm u l t i l a n g u a g e m i x e d p r o g r a m m i n g u n d e ra n o b j e c t o r i e n t e d m e t h o df r a m e ;( 3 ) c o m b i n i n gt h es t a t i c a s p e c td e s i g n o fp a r a l l e ls o f t w a r ew i t h c o n t r o l l i n gt h ed y n a m i cb e h a v i o r ,s u p p o r t i n gd e b u g g i n g ,b e h a v i o ra n a l y s i s ,p e r f o r m a n c ea d j u s t i n gi n d e v e l o p m e n tp r o c e d u r ew i t has t a t i cw a y ;( 4 ) p r o v i d i n gt h ev i s u a lu s e ri n t e r f a c ea tu s e r - s i d ea n d i m p l e m e n t i n g t h ec o n c e p to fv i r t u a lp a r a l l e lm a c h i n ea tu s e r s d e s k t o p t h e s ew o r ka d d r e s s e dh o wt oc r e a t ea na b s t r a c tm e c h a n i s mi nh i g hl e v e lt oh e l pp r o g r a m m i n g c o n v e n i e n t l yo nc u r r e n ta n dn e x tg e n e r a t i o np a r a l l e lm a c h i n e s ,a n db u i l tt h ef r a m eo ft h e o r ya n d t o o l sf o rh i e r a r c h y ,s t r u c t u r ea n dv i s u a lp a r a l l e lp r o g r a m m i n gt or e d u c et h ed i f f i c u l t yo ft h ed e s i g no f l a r g es c a l ep a r a l l e lp r o g r a m a n dt oi m p r o v et h eu s a b i l i t yo f p a m l l e lc o m p u t e r s k e y w o r d s :p a r a l l e lp r o g r a m m i n g ,v i s u a l i z a t i o n ,o b j e c t - o r i e n t e d 。m o d e l s a n d l a n g u a g e s , e n v i r o n m e n ta n dt o o l s ,u m l ,p e t r in e t 报送博士学位论文简况表 论文题目 可视化并行程序设计方法的研究 授予学位的 作者姓名安虹计算机软件与理论 学科、专业 作者单位中国科学技术大学地址安徽省合肥市金寨路9 6 号 专业 导师姓名陈国艮教授 技术职务 与f 单位中国科学技术大学地址安徽省合肥市金寨路9 6 号 论文隶属学科分类号:t p 3 1 1 1 1 论文关键词a t :并行程序设井? 可视 y 面向对采,簇型和语言,环境和工具,p e tr i 网,u m l 论文文摘( 约4 0 0 5 0 0 字,中文) 本文从三个方面探讨了可视化的并行程序设计方法:研究了可视语言在并行程序设计 中的戍_ l ,提出了一个可视化的并行软件开发模型层次抽象网络( h i e r a r c h ya n da b s t r a c t n e t s ,h a n ) :提出实现该模型的方案;卿利用和扩展可视化的面向对象建模语言i # - i l 和p e t r i 网模型的可视特性,将p e t r i 网模型集成到面向对象概念中,并将并行软件的静态设计与控 制其动态行为有机地结合起来,从而支持开发过程中程序的静态调试、行为分析和性能调整 实现以渐进的方式开发火型并行软件j 研究了在h a n 模型下开发火型并行软件的过程和建模 方法,提出了一个可视化的并行程序设计环境和1 :具框架h a n e te h a nb a s e de n v i r o n m e n ta n d t o o l s 瓶并结合在研的国家8 6 重大项目初步实践了本文所提出的环境和,j :具的设计思想 本文提出了以下新的见解:( 1 ) 以模型驱动设计,通过模型的多级抽象降低开发大型并 行麻h j 的复杂度:( 2 ) 在面向对象方法框架下支持多语言混合编程:( 3 ) 将并行软件的静态 结构设计与动态行为控制相结合,支持在开发过程中控制并行程序的正确性、分析和调整程 并行程序的性能:( 4 ) 在客户桌面上实现虚拟并行机的概念 ( 1 ) 2 0 0 0 年发表二e 软件学报,计算机研究与发展上 论文在何时何地以何种方式发表 ( 2 ) 1 9 9 9 年发表在i 髓e 主办的国际学术会议t o o l s 3 1 上 获得学位日期2 0 0 0 年12 月报送日期2 0 0 0 年l2 月备注 收藏单位:北京图一饽馆( 中国国家i 兰| is 馆) 。执行部门:国内资料纽。 注1 一。般赢注明中国i 生li s 资料分类法的类号 , 2 为了文献标引j i :作从论文中选取出来用以表示全文主题内存信息款目的单词或术语每 篇论( 选取3 - 8 个词作为关键词。为了国际交流戍标注与中文对虑的英文关键词。 中困科学技术人学研究生院( 合肥) 博士学位论文 图表目录 表1 1 目前主流的高性能并行计算机系统的体系结构其及主要特性8 幽2 1g r a d e 开发并行程序的过程1 5 图2 2 用例图”1 8 图2 3 包图1 8 凹2 4 状态幽1 9 图2 5 活动图1 9 图2 6 顺序| 塾| 1 9 图2 7 协作图 1 9 图2 8 构件图2 0 图2 9 配置图2 0 图2 1 0 各种定制型符号2 1 圈3 1 并行软件开发韵三个阶段2 7 图3 2 可视化并行软件体系结构设计子系统基本组成2 8 图5 1 并行软件体系结构的基本构成元素4 3 表5 1 几种常见的结构模式4 5 表5 2c c n 可视记号4 8 图5 2c c n 的例子4 9 图5 3 活动的详细可视记号及期折迭记号4 9 图5 4 活动的激发4 9 图5 5 _ 【l 】h a n a l n e t 设计连接器的模型示例5 0 图5 6 资源分配网5 0 图5 7 服务网5 1 图5 8 几何处理 绘制 图象处理流程的并行性5 2 图5 9 图形应用系统的三种体系结构模式5 3 图5 1 0 并行图形系统的配置5 4 图6 1 可视化并行程序设计模型5 7 表6 1 可视化并行程序设计语言h a n a l f r a m e 6 0 图6 2 用h a n a l f r a m e 表示的并行图形流水线的构造树6 4 图6 3 一个图形系统的h a n a l f r a m e 程序,对一个场景序列计算光线跟踪图像6 5 图7 1 工具在客户端的多视图集成7 0 图7 2 设计者、用户、系统、任务的相互关系7 1 图7 3 并行机用户界面设计流程7 1 幽7 4 可视界面的几种实现模式7 3 图7 5c o r b a 体系结构7 5 图8 1 曙光2 0 0 0 超级计算机体系结构7 8 图8 2d u e t 系统的体系结构及各层间的交互8 1 幽8 3 曙光2 0 0 0 上的d u e t 客户端环境视图8 2 图8 4r f b 中各对象间的互操作8 4 图8 5 远程文件浏览器的用户界砸8 5 表8 1 两种不同方案的网络数据流量8 5 表8 2 读取目录内容的网络传输性能的测试数据8 6 第1 章绪| 仑 第1 章绪论 并行计算技术的发展已有2 0 多年的历史了,高性能并行计算机系统正进入越来越多的应 川领域近年来,硬件技术的迅速发展和应用需求的变互作用,促成了高性能并行机系统结构 名样化局i f i i 的形成与硬件的发展枷比,- j l :q j 软件的发展则显得亚加滞后。影l 响了硬仆效牢们 发挥,限制了并行机系统的广泛应用时至今日,人们在使用高性能并行计算机的过程中一直 为两大难题所困扰,即可用性差和编程困难商性能并行计算机上至今仍缺乏有效的3 t q i 程 设计方法和工具,使得编写并行程序、理解并行程序的行为、调试和优化并行程序的性能都很 嘲难并行程序设计理论和技术的研究成为发展并行处理技术当务之急的课题 1 1 并行程序设计难的原因 分析并行程序设计难的深层原因,在于高性能并行计算技术在发展过程中存在着以下问 题: ( 1 ) 迄今为止,并行计算所需的理论仍然是不成熟的,没有理论或很少有理论为技术的发 展指明方向我们还不知道更多的表示并行计算的方法,也不知道逻辑上如何推理它们,甚至 不知道在实际的体系结构上什么样的并行算法才是有效的 ( 2 ) 人们花了很长时间才理解,并行计算机的不同部分的性能需要平衡,才理解这个5 f 衡 是如何影响性能的要获得好的性能,需要仔细控制处理器速度和互连通信性能的关系,同时 也需要与存储器层次的性能取得平衡许多并行系统无法很好地支持实现这种平衡。甚至把这 个艰难的工作交给用户去做 ( 3 ) 人们已经习惯于以串行的方式来理解、设计和调试程序,因而感到并行程序设计有点 难从另一方面来说,与串行程序设计相比。并行程序设计更具挑战性有三个方面的原因第 一,并行程序必须包含在处理器间交换数据和处理互斥区的机制这就增加了程序的语义复杂 性和语法复杂性;第二,对一个有效的并行程序来说,必须在处理器间均匀地分配任务,这种 对并行程序设计在算法方面的挑战是串行程序设计中所没有的;第三,数据也必须在处理器间 进行划分,以保持数据的局部性,因为移动数据是要开销的 ( 4 ) 比起串行程序设计,并行程序设计中存在的可移植性问题更加严重由于至今还没有 哪个并行体系结构家族是独立于技术变化的,当需要将一个软件系统从一个并行平台移植到另 一个上,可能意味着要完全重建这个软件许多用户至今还没能从高性能并行计算中得到实际 的好处。就是因为重写代码的难度太大并行软件用户期望在他们所使用的并行计算平台上能 获得平滑的过渡这样可以平滑地重新设计和重建软件, ( 5 ) 长期以来,并行系统的设计目标只面向市场较小的科学和工程计算,而忽视了大的工 业和商用市场,使得并行机十分昂贵,增加了制造商和用户的投资风险,减小了用户使用并行 机的热情,从而势必造成其上的软件技术发展缓慢并行程序设计环境和工具从来都缺少较长 的生长期,无法通过不断的版本更新,形成与现今的p c 机或工作站一样好用的环境和工具 1 2 并行程序设计的研究现状 为了帮助程序员解决并行程序设计面临的挑战性问题,并行程序设计模型和语言的研究者 们已经研究了许多种不同的模型和语言,但迄今为止,还没有哪一种模型是通用的和完美的 中陶科学技术人学研究生院( 合肥)博。i :学位论文 长期1 :作在美国s a n d i a 国家实验室的d e w o m b l e 等人在最近发表的一篇文章“m a s s i v e l y p a r a l l e lc o m p u t i n g :as a n d i ap e r s p e c t i v e ”中,从实践角度对现有模型和语言进行了评论u 1 :已 经证明s i m d 模型有太多的局限性,不够灵活也不通用,所以现在只用在小型的并行应h 】中; h p f 的殴计与s i m d 类似,也没有取得成功;串行代码的自动并行化对处理器数较少并且相对 简单的程序可能是很有用的,但是对并行规模大的机器已很少有应用价值;语言的扩展,如 s p l i t c 2 1 ,虽然学术界对它抱很大兴趣,但实际上用得极少原因是程序员不愿用那些缺少厂 家支持的语言。反过来,厂家也不会支持一个新的没有人用的语言 1 2 1 模型研究的硬件结构抽象观点 井行程序设计模型是硬件和软件之间的桥梁,是并行计算的低层实现与高层抽象的界面 更具体地说,模型是一台抽象的机器,支持在其上设计和分析并行算法,设计能有效编译的高 级语言和开发并行程序,并能在具体的体系结构上实现算法或语吉所描述的并行操作。模型的 设计将开发可高效执行的软件与提供软件的抽象性和稳定性这两件事分开考虑抽象性简化了 软件的结构,降低了软件构造的难度稳定性使得软件的构造可以独立于体系结构的发展变化, 通过采用标准的接口,获得较欧的生长期而达到成熟模型还为各种并行计算机设计的实现 ( 改进硬件、编译和运行时系统1 提供了一个固定的起点。 尽管模型的建立本当独立于具体的硬件结构,但现有的大多数并行程序设计模型和语言的 产生与发展还是深受并行硬件系统结构发展的影响,尤其在并行系统发展的早期,这大概就是 并行计算领域技术先行的发展特点在8 0 年代后期有两个相互竞争的硬件方法: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 ed a t a ) 和m l m d ( m u l t i p l ei n s t r u c t i o nm u l t i p l ed a t a ) 。最后是m l m d 占了上风 在s 1 m d 机器中,每个处理器在每个时钟周期内对不同的数据执行相同的指令;在m i m d 机 器中。处理器相互独立地操作,同步问题留给用户来控制硬件也可区分为共享存储和分布存 储机器在共享存储的机器上,每个处理器都能够访问存储器的任何部分在分布存储的机器 上,内存分布在各处理器或节点上,数据共享通过进程间通信进行近年来,批享存储和分布 存储的概念本质上已趋于合一现今大规模并行一般使用多个计算节点和分布存储来实现,每 个计算。1 ,点内部采用共享存储一些商家试图在分布存储的机器上提供一个单一的存储映象, 使并行机看上去更像一台大的工作站这种技术取向反映了这样一种观点。就是认为共享存储 程序设计要比分布存储程序设计容易但是,应该注意到消息传递程序设计包含显式的通信, 而共享存储的程序设计包含显式的同步;消息传递程序设计面临着域分解的难题,共享存储程 序设计也同样面临着另外的难题目前。分布共享存储程序设计只是在处理器数较少的情况下 获得了成功,随着处理器数量的增加很少获得成功原因主要不在硬件方面,而在于编译器不 能识别和利用数据的局部性例如,c r a yt 3 e 的通信模式已经做得开销很低了。但显式的消息 传递依然是使用多个处理器时最有效的方式因此,作者认为分布共享存储程序设计可能并非 并行计算的圣杯,尽管它是当前许多研究者所追寻的目标究竟采用哪种方法才是正确的可能 取决下可得到的硬什和想要得到什么量级的并行模型和语言代表了用户与并行体系结构之间 的中介,应该保障更多的应用领域能简单而有效地使用并行计算从体系结构中抽象山来的模 型和谮育的可用性对并行软什的开发过程有很重要的影响,也对并行计算系统能否获得r 泛廊 j “产生重要影响1 2 2 i 2 4 。 r 主要从这一角度来讨论模型和语言的发展现状 1 2 2 共享存储的模型和语富 兆享存储的程序设计模型多是由p v p ( p a r a u e lv e c t o rp r o c e s s o r ) 和s m p ( s y m m e t r i c m u l t i p m c e s s o r ) 平台提供,共享存储的程序多是在特定的多处理器平台上用平台专用的语言写 成谯这种模型上,数据处在单一地址空间,分为共享和私有两种。数据通信通过兆享存储米 完成私有数据只能被拥有该数据的进程访问和修改,其它进程不能访问;而共享数据能为儿 2 第1 章绪论 个相关的进程读写,由操作系统或编译环境提供保证共享数据一致性的同步机制一个共享数 獬应先山哪个进程访问才能保证程序的正确性,要在程序中借助系统所提供的同步机制来控制 常j h 的同步机制有锁、信号量和管程平台独立的共享存储并行程序设计的标准模型有 x 3 h 5 1 3 ,p t h r e a d 4 , t l lo p e n m p 5 x 3 h 5 标准于1 9 9 3 年建立,它没有象m p i 标准那样被广泛接 受,现在已发展成为o p e n m p 标准p o s i xt h r e a d s ( 简称p t h r e a d s ) 标准,由i e e e 标准化委员会 建立,在功能和接口方面都类似于s o l a r i s 的线程当前最重要的共享存储标准是o p e n m p 它 通过一组编译说明、库例程和环境变量为u n i x 和w o n d o w sn t 平台提供共享存储的应用程 序接口支持共享存储并行的标准f o r t r a n 语言有p c f ( p a r a l l e lc o m p u t i n gf o r u m ) 【6 】,它是在 f o r t r a n7 7 里加入并行结构,使程序员能对并行性进行控制,但需要程序员关注进程同步和数 据共享问题商用共享存储语言的例子有s g ip o w e rc 1 7 它在串行c 语言的基础上扩展了编 译制导( c o m p i l e rd i r e c t i v e s ) 和库函数,用于支持共享变量的并行程序设计s g i 对f o r t r a n 也提 供了类似的扩展结构 1 2 3 肖息传递的模型和语盲 分布存储结构( 主要代表为m p p ( ( m a s s i v e l yp a r a l l e lp r o c e s s o r ) ) 和c i u s t e r ) 的出现带来了两 火焦点问题:局部性要求和并行程序设计的复杂性一种解决局部性的方法是使用显式描述并 行的方法,对应于采用消息传递库的消息传递模型和采用说明语句的数据并行模型 在消息传递模型中,一个并行应用由一组进程组成,每个进程的代码是本地的,只能访问 私有数据,进程之间通过传递消息实现数据共享和进程同步消息传递的优点是显然的,用户 可以对并行性的开发、数据分布和通信实现完全控制一般认为消息传递的主要缺点是要求程 序员显式地处理通信问题,如,消息传递调用的位置,数据移动,数据复制,数据操作,数据的 一致性等等对大多数科学计算程序来说,消息传递模型的真正困难还在于显式的域分解也 就是说。将对相应数据的操作限定在指定的处理器上进行,在每个处理器上只能看见整个分布 数据的一部分另一个问题是消息传递程序无法以渐进的方式、通过逐步将串行代码转换成并 行代码而开发出来大量的散布在程序各处的域分解要求整个程序由串行到并行的转换一次性 实现,而共享存储方法允许在现有的串行代码中插入并行说明从而实现逐步转换与之相比,这 是消息传递的一个明显的缺点c m m d 8 是一个用于t h i n k i n gm a t h i n e sc m - 5 系统的消息传 递库。其特点是基于主动消息( a c t i v em e s s a g e ) 机制在用户空间实现通信以减少

温馨提示

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

评论

0/150

提交评论