• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

MPI__通讯域

发布: 2007-6-08 22:43 | 作者: seanhe | 来源: | 查看: 29次 | 进入软件测试论坛讨论

领测软件测试网



通信域

MPI通信域包括两部分:进程组和通信上下文。进程组即所有参加通信的进程的集合,如果一共有N个进程参加通信,则进程的编号从0到N-1;通信上下文提供一个相对独立的通信区域,不同的消息在不同的上下文中进行传递,不同上下文的消息互不干涉,通信上下文可以将不同的通信区别开来。
讲解
一个预定义的通信域MPI_COMM_WORLD由MPI提供。MPI初始化后,便会产生这一描述子,它包括了初始化时可得的全部进程,进程是由它们在MPI_COMM_WORLD组中的进程号所标识。
用户可以在原有的通信域的基础上,定义新的通信域。通信域为库和通信模式提供一种重要的封装机制。他们允许各模式有其自己的独立的通信域,和它们自己的进程计数方案。

-----------------------------------------------------------------------------------------------------------------------

除了数据部分, 消息带有用于识别消息并选择接收他们的信息。这个信息是由确定的域数组成的,我们称信封。这些域有 :         

source( 源 )        

destination( 目的 )

tag( 标识 )

communicator( 通信子 ) 也称作通信域

消息的source隐含地由消息发送者的标识来决定。其他域是由发送操作的参数决定。  

消息的destination是由dest参数指定。   

整型值的消息tag是由tag参数指定。这个整型能被程序用于识别不同的消息。有效标识值的范围是0,...,UB, 这儿UB的值依赖于实现。在第七章描述,通过查寻属性MPI_TAG_UB的值, 可得到UB。MPI要求UB不小于32767。 comm参数指定用于发送操作的communicator。在第五章解释communicator; 下面是其使用的简介。  

一个通信子( communicator )给一个通信操作指定上下文。每个通信上下文提供一个单独的“通信全域”:消息总是在其被发送的上下文内被接收,不同的上下文发送的消息互不干涉。  

通信子也指定共享这个通信上下文的进程组。这个进程组被编号,并且进程是由这个组中的进程号标识。所以,dest的有效值范围是0,...,n-1, 其中n是该组中的进程数。( 如果这个进程组是一个通信子间的, 那么destination是由远程组中他们的进程号所标识。请看第五章)。  

一个预定义的通信子MPI_COMM_WORLD是由MPI提供。MPI初始化后, 它允许和可存取的全部进程通信, 进程是由他们在MPI_COMM_WORLD组中的进程号所标识。   

给用户的建议. 喜欢进程名字空间的用户, 和由大多数已存在的通信库提供的一个简单通信上下文, 仅需要使用预定义的变量MPI_COMM_WORLD作为comm参数。这将允许初始化时和所有可能得到的进程通信。用户可以定义新的通信子,第五章解释这个。通信子为库和模式提供一种重要封装机制。他们允许模式有其自己的独立的通信域,和他们自己的进程计数方案。(给用户的建议结束)。    

给实现者的建议. 消息信封将正常地由一个定长的消息头编码。但实际的编码是依赖于实现的。有些信息( 例如, source或destination )可以是隐式的, 不必由消息显式携带。进程也可以由相对的进程号或绝对的进程号标识,等等。(给实现者的建议结束)。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网