- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机的体系结构2006ch6b
第六章 并行处理技术 北京航空航天大学计算机学院 2005 年 5 月 主要内容 多个处理单元(a collection of computing elements) 协作、通信( cooperate communicate ) 快速求解大型问题(to solve large problems fast) 并行体系结构: 用通信体系结构(Communication Architecture)对传统的体系结构进行扩展。 处理器之间协同的基础是什么? 互连与通信 编程人员使用何种方式编程? 编程模型 如何保证并行程序的正确性? 存储一致性 1、互连与通信的问题 互连网络的定义及特性 静态网络 动态网络 多处理器通信问题 互连与通信的问题 并行计算机往往采用多个处理节点。其根本思想就是将要完成的任务尽量分布到各个处理节点并发执行,在最理想的情况下并行计算机的性能是所有节点计算性能的简单相加。但是由于节点间存在着通信延时和各个节点间的同步关系,使得系统的整体性能通常达不到理想情况。比如在某些MPP上其持续速度只是峰值速度的3%~10%。 同时,并行计算也逐步向着松耦合(loosely Coupled)和复杂化的方向发展。大量的SMP集群(CLUMPs)的出现,使得并行计算机内部节点与节点间的通信瓶颈愈发明显。因此,解决并行计算机的通信问题也就成为了一个研究的热点。 互连与通信的问题 互连网络的定义及特性 定义:由开关元件按一定拓扑结构和控制方式构成的网络,以实现计算机系统内部多个处理机或多个功能部件间的相互连接。 互连网络对并行处理机的性能影响很大,是系统构成的主要部分。 互连网络有三大要素,即互连拓扑(包括连接通路)、开关元件和控制方式。由于这三大要素的工作方式和所处的地位不同,才出现了各种各样的互联网络。 互连与通信的问题 操作方式: 同步通信(Synchronous Communication):收发双方必须在时间上同步。这类似于电话网中需要呼叫方和被呼叫方同步。 异步通信(Asynchronous Communication):收发双方不需要同步。这类似于发送和接收mail。 互连与通信的问题 控制策略: 集中控制(Centralized control):互连网络中的各级互连开关由一组信号统一控制。其优点是控制简单,实现容易,但网络的灵活性相对较差。 分布控制(Distributed control):互连网络中的各级互连开关由多个或多组信号分别控制,各(组)开关可处于不同状态。其优点是网络的灵活性强,但控制相对复杂,实现相对困难。 互连与通信的问题 网络拓扑结构: 静态网络(Static network) 静态网络的特点与指标 典型的静态网络 动态网络(Dynamic network) 互连函数 多级互联网络 基本术语与性能指标 通信方式 寻径算法 软件开销 基本通信方式 无论网络拓扑结构如何,高性能计算机节点间通信对于用户是透明的。其通信模式无外乎以下4种: 单播 (Unicast):一个源节点到一个目的节点; 多播 (Multicast):一个源节点到多个目的节点; 广播 (Broadcast):一个源节点到全体节点; 会议 (Conference):多个源节点到一个目的节点。 互连与通信的问题 小结 减小通信时延是提高高性能计算机性能的一项非常关键的技术,其手段大体上有硬件和软件两种。 硬件上:对于通信网络可以通过改进拓扑结构、提高通信速度的手段实现;对于节点可以使用高速缓存、超线程技术等。 软件上:可以通过精简和优化协议改善通信过程的软件开销;同时在更高的层次上,可以通过改善任务划分和处理器的分配,以及适量的任务复制(即在不同节点上执行相同的任务)达到通信时延隐藏的效果。 2、编程模型问题 如果能对计算机的系统结构进行高度的抽象,给出一个简洁的概念模型,那么,程序员在编写程序时,就不需要了解硬件结构的具体细节。这种抽象模型就是我们所说的编程模型。 从用户角度看,一个理想的抽象模型应与一台工作站或PC给用户的映象接近, 因而可以使用我们最熟悉的传统的编程方式 : 就并行计算机而言,除了计算单元以外,通信体系结构也是非常重要的一个方面。在为并行计算机编写程序时,就不得不考虑到不同节点上不同进程之间的通信问题,而这是一项非常复杂的工作。 因此,在并行编程模型中,就必须对节点之间的通信、同步、协作等各种问题给出很好的定义。共享地址空间、消息传递以及数据并行是最常见的三种并行编程模型。 共享存储
文档评论(0)