并行平台上CFD通用界面标准.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
而其费用可能只是购买几块网卡、一些网线(而这些硬件一股部已经具备)。因此.技 展网络并行计算是非常必要和有前景的。 分布式网络并行概述 虽然超级向量计算机上许多任务是在并行执行,但是其处理器内部结构仍为串 行。任务的并行执行是靠计算机内部集成大量的处理器.并把任务分配到各个处理器 上采实现的。网络并行的原理与之相同,只不过处理器和内存是分布在网络上的计算 机中,其相互之间的通信和中间结果的交换是通过网络而不是通过计算机内部的电子 ● ● ‘ 亡 ● ●  线路。由于网络的传输速度与计算机内部电子线路的传输速度相比要慢很多,因此也 就导致了它们在并行粒度上的不同。超级计算机适台于采用数据级的细粒度并行.而 网络并行适合于采用任务级的粗粒度并行。并行计算还耍解决的一个问题是计算负荷 的分配问题。对于大的计算工作来说,并行计算可能会j戚少计算时间.但是也可能降 低独个处理器的效率。使用串行处理一个大的计算工作,单个处理器将一直保持满员 荷:使用并行处理.处理器必须花费一些时问来通信或等待其中最慢的部分。这个问 题在网络并行计算中更为突出。与超级计算机不同,网络上的各种计算机的计算能力 一般是不同的,因此磋通过合理地分配计算负荷来充分利用其各自的计算能力。 网络并行的硬件系统 几乎目前的所有备种计算机系统,如㈣Ix工作站、大型计算机、超级计算||『l、 微机等部可以被用来进行并行处理。当然,硬件系统越高级、组成网络并行环境的硬 件性能相差越小,其并行计算的礅果也就越好。由于目前各种网络并行平台要求的避 件系统不同,并不是所有的硬件系统部能够连接在一起进行并行处理.具体使用j可种 硬件系统还要看支持并行结构的软件平台的要求而定。本文讨论的内容均基于I叶一l x86结构的微机和由多数微机组成的集群。 网络并行的软件系统 网络并行计算需要有一个具备良好性能的网络并行平台。目前,网络并行平台非 常多,有的是针对某种计算机硬件设备和操作系统平台专门设计的,也有的是对某种 操作系统来设计的,还有的可以在不同的计算机硬件设备上踌操作系统平台来使用。 对于平常使用的IntPl x86系列处理器的计算机,网络并行的软件系统主要有PⅧ、”I、 P4系统、ExPREss系统和Linda系统。这些软件系统中绝大部分是在…Ix或LjMx系 统上开发的,也育部分软件在州Ix系统上成功地推出几个版本后,也推出了wind—x 的版本。n’lnd。ws下的版本主要是针对windows NT的.而且在使用上还有一些限制. 还需要其它软件的辅助。通过对几种比较流行的网络并行环境的比较.我们最后选择 了Pw作为软件平台。  、 网络并行计算模式 存PVM中最常采用的有两种并行计算模式:一种是如图I所示的主从模式:另 ~种是如图2所示的SPMD(单程序多数据)模式l。1。这两种模式分别适合于两种不 同的并行要求。主从模式适合于育几种不同的进程模块,可以利用主进程对从进程进 行监控和管理。一般采说.主进程不承担计算任务。但是如果需要.一些需墨整体运 算的串行计算也可以利用主进程来处理。SPMD模式适台于计算进程相同.而只有亡 165 们计算的数据不同的模式这种模式在叶轮机械流体计算中也是相当普遍的。 图l主“模式  图2  sm模式  量 ● 二、并行平台上的CFD通用界面标准 串行CFD程序转为并行程序面临的问题 由于我们目前使用的绝大部分CFD程序都是基于单台计算机的串行程序,因此 需要把串行程序改为适合于网络并行计算的并行程序。在程序的改变过程中.我们发 现把串行程序改为并行程序面临着不少问题。比如: ▲ 1) 2) 3)  对于每一个程序,每一个算例.部要对程序进行大的改动,改动比较困难. 而且程序的可读性也比较差: 可移植性差,在某一并行平台上修改的程序无法在其他并行平台上应用: 程序改动起来复杂.修改程序的人既需要掌握CFD技术.叉要对并行t台 本身有深入的了解。 因此.我们提出一个CFD程序在并行平台上的通用界面标准。通过这'标准来 解决上面提到的问题。 通用界面标准:  l  应用层 在通讯领域,也曾经面临过如同现在的CFD并行平台所 面对的问题:各种网络的硬件结构千差万别:各种通讯协议各 f 行其是:在这个网络平台上费尽千辛万苦搭建起来的系统在另 0 表示层 ● 一个网络平台上需要重新来过:程序员既需要考虑系统分析、 数据结构等顶部编程叉要在底部硬件编程上耗费大量精力。这 种状况在OSI通讯模型标准建立以后得到了解决。0SI通讯模 型标准的核心就是分层,备晨从低到高面对不同的物理对象, 各层之间采用标准的接口。硬件层只管对硬件编程.完成一个 标准的函数库提供给上~层:应用层只用下一层提供的标准函

文档评论(0)

ww88606 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档