并行计算课件 第8章-进程通信.pptVIP

  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文档。上传文档
查看更多

第8章进程通信3.组通信ISIS中的组通信ISIS中定义的通信原语: ABCAST。ABCAST使用两阶段提交协议(two-phasecommitprotocol)的形式进行工作。首先,发送者A向进程组中的所有成员申请一个时间戳(timestamp),并将报文发送到进程组的所有成员。进程组的所有成员向发送者分配一个时间戳,该时间戳要大于所有该成员所发送的和所接收的报文的时间戳。A接收到所有成员分配的时间戳之后,从中选择一个最大的时间戳作为要发送报文的时间戳,然后向所有组成员发送一个带有该时间戳的提交报文。提交报文按照时间戳的顺序传递给应用程序。使用该协议能够保证所有报文按照同样的顺序传递到所有进程。第8章进程通信3.组通信ISIS中的组通信ISIS中定义的通信原语: CBCAST。使用CBCAST原语,只能保证因果相关的报文被所有的进程按同样的顺序接收。利用一个向量来调整具有因果关系的报文的接收顺序。 如果一个进程组有n个成员,则每个成员保持一个有n个元素的向量,向量中的第i个元素是该成员从进程i那里收到的最后一个报文的号码。当一个进程需要发送一个报文时,它首先将向量中对应自己的元素增1,对于发送者来说,因为自己是该组的成员,发向该组的报文也意味着发向自己。发送者将修改后的向量随报文一起发送。第8章进程通信3.组通信ISIS中的组通信ISIS中定义的通信原语:第8章进程通信2.不同节点上的进程间通信端口服务员顾客服务员1.申请端口端口2.分配端口3.申请句柄4.返回句柄5.使用句柄通信RPC建立通信的过程:第8章进程通信2.不同节点上的进程间通信设计和实现远程过程调用主要考虑的问题包括以下方面:RPC认证。在一个分布计算系统中,顾客可能需要对服务员的身份进行认证,或者服务员希望对顾客的身份进行认证。RPC调用语义。调用语义确定了同一个调用的多次重复请求所造成的后果。第一种是恰好一次语义(Exactly-Once)。第二种是最多一次语义(At-Most-Once)。第三种是至少一次语义(At-Least-Once)。第四种是多次中最后一次语义(Last-of-Many-Call)。第五种是幂等语义(Idempotent)。第8章进程通信2.不同节点上的进程间通信报文传递实例1:socket进程通信socket地址structin_addr{ u_longs_addr; /*32_bitnetid/hosted*/ /*networkbyteordered*/ };structsockaddr_in{ shortsin_family; /*AF_INET*/ u_shortsin_port; /*16_bitportnumber*/ /*networkbyteordered*/ structin_addrsin_addr; /*32_bitnetid/hostid*/ /*networkbyteordered*/ charsin_zero[8]; /*unused*/ };第8章进程通信2.不同节点上的进程间通信报文传递实例1:socket进程通信Socket原语(1)s=intsocket(domain,type,protocol)。(2)intbind(s,localaddr,addrlen)。(3)intconnect(s,server,serverlen)。(4)listen(s,n)。(5)new_sock=intaccept(s,from,fromlen)。(6)send(s,buf,buflen,flags)。(7)recv(s,buf,buflen,flags)。(8)close(s)。(9)shutdown(s,how)。(10)sendto(s,buf,buflen,flags,to,tolen)。(11)recvfrom(s,buf,buflen,flags,from,fromlen)。(12)select(nfds,readfds,writefds,exceptfds,timeout)。第8章进程通信2.不同节点上的进程间通信报文传递实例1:socket进程通信Socket通信模型:TCPsocket()bind()listen()accept()等待来自顾客的连接recv()数据处理send()socke

文档评论(0)

翰林大当家 + 关注
实名认证
服务提供商

文案个性定制,计划书、方案、策划书专业撰写。

1亿VIP精品文档

相关文档