- 1、本文档共75页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
并行处理技术-向北航行
第六章 并行处理技术
北京航空航天大学计算机学院
2006 年6月
主要内容
主要内容
1.什么是并行处理
2.为什么要开发并行处理技术
3.并行机的分类及基本结构
4.并行处理的基本问题和技术
并行处理的基本问题
并行处理的基本问题
2、编程模型问题
如果能对计算机的系统结构进行高度的抽
象,给出一个简洁的概念模型,那么,程序员
在编写程序时,就不需要了解硬件结构的具体
细节。这种抽象模型就是我们所说的编程模
型。
编程模型问题
从用户角度看,一个理想的抽象模型应与一台工作
站或PC给用户的映象接近,因而可以使用我们最熟悉
的传统的编程方式:
RAM CPU
File System
编程模型问题
就并行计算机而言,除了计算单元以外,
通信体系结构也是非常重要的一个方面。在为
并行计算机编写程序时,就不得不考虑到不同
节点上不同进程之间的通信问题,而这是一项
非常复杂的工作。
因此,在并行编程模型中,就必须对节点
之间的通信、同步、协作等各种问题给出很好
的定义。共享地址空间、消息传递是最常见的
并行编程模型。
编程模型问题
共享存储:具有统 分布式存储:每个
一的地址空间。 处理器的地址空间
单独编址。
“大厅式” “包间式”
编程模型问题
并行计算机程序设计的两种主要方式
并行意味着计算过程的划分:子任务、子问题
同一问题的各子任务间有联系:同步、数据交换
共享存储与消息传递提供了不同的数据交换方式
共享存储
数据不必划分,每个子任务都能看到完整的数据
需要同步,不同子任务都按确定的次序访问数据
消息传递
数据也要划分,每个子任务只能看到一部分数据
任务通过发送或接收消息来交换数据、保持同步
编程模型问题
例:假设有两台4节点的的多机系统,一台为
共享存储,另一台为分布式存储,计算矩阵乘
A×B = C 。
P0 P1 P2 P3 LMLM LM LM LM
P0 P1 P2 P3
Shared Mem
编程模型问题
1)、共享存储
将矩阵A按行逻辑的均匀分为4块,矩阵B按列逻辑
的均匀分为4块,均存放在共享存储器中。
C00 C01 C02 C03 A0
C10 C11 C12 C13 A1
= × B0 B1 B2 B3
C20 C21 C22 C23 A2
C30 C31 C32 C33 A3
A = (A0 ,A1 ,A2 ,A3)T
B = (B0 ,B1 ,B2 ,B3)
编程模型问题
节点机 Pi 上程序执行步骤:
1.K = i ,j=0 ;
2.各节点计算A ×B ;
i k
3.K =
文档评论(0)