[理学]并行计算基础知识课件(PPT 55页).pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《[理学]并行计算基础知识课件(PPT 55页).pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 理学 理学并行计算基础知识课件PPT 55页 并行 计算 基础知识 课件 PPT 55
- 资源描述:
-
1、第一章 并行计算基础知识第1页,共55页。第一章 并行计算基础知识1.1 并行计算的主要研究目标和内容 1.1.1 并行计算的定义 1.1.2 并行计算的研究内容 1.1.3 并行计算的应用范围 1.1.4 并行计算的应用分类1.2 并行计算机发展历史 1.2.1 并行计算机发展简述 1.3 并行计算机体系结构 1.3.1 并行计算机体系结构的要素 1.3.2 并行计算机的类型2第2页,共55页。1.1 并行计算的主要研究目标 和内容第3页,共55页。1.1.1并行计算的定义n并行计算并行计算是指同时对多个任务或多条指令、或对多个数据项进行处理。完成此项处理的计算机系统称为并行计算机系统,它是
2、将多个处理器(可以几个、几十个、几千个、几万个等)通过网络连接以一定的方式有序地组织起来(一定的连接方式涉及网络的互联拓扑、通信协议等,而有序的组织则涉及操作系统、中间件软件等)。n并行计算的主要目的:n一是为了提供比传统计算机快的计算速度;n二是解决传统计算机无法解决的问题。4第4页,共55页。1.1.2并行计算的研究内容 n并行计算的研究内容广泛,包括并行计算机系统结构、并行算法设计、并行编程环境等,具体表现在下面几个方面:n(1)并行计算机的设计并行计算机的设计n包括本并行计算机的结构设计、互联拓扑、网络通信等。设计并行计算机重要的一点要考虑处理机数目的按比例增长(即可扩展性)及支持快速
3、通信及处理机间的数据共享等。5第5页,共55页。1.1.2并行计算的研究内容 n(2)有效算法的设计有效算法的设计n如果没有有效的并行算法,并行计算机无法使用,而并行算法的设计完全不同于串行算法的设计,不同的并行计算机的算法设计不同,只有将不同的并行计算机与不同的实际问题相结合,才能设计出有效的并行算法。主要研究内容包括并行计算模型、并行算法的一般设计方法、基本设计技术和一般设计过程,并讨论一些数值并行算法与非数值并行算法的设计。6第6页,共55页。1.1.2并行计算的研究内容 n(3)评价并行算法的方法评价并行算法的方法n对于给定的并行计算机及运行在上面的并行算法,需要评价运行性能。性能分析
4、需解决的问题:如何利用基于并行计算机及其相适应的并行算法去快速地解决问题,及如何有效地利用各个处理器。研究内容包括结合机器与算法,提出相应的性能评测指标,为设计高效的并行算法提供依据。7第7页,共55页。1.1.2并行计算的研究内容 n(4)并行计算机语言并行计算机语言n与传统的机器语言不同,并行计算机语言依赖于并行计算机,并行计算机语言必须简洁,编程容易,可以有效地实现,目前的语言有:PVM、MPI、HPF等,而且新的编程语言和编程模式正在不断地出现。8第8页,共55页。1.1.2并行计算的研究内容 n(5)并行编程环境与工具并行编程环境与工具n为了使编程容易,必须开发综合的编程环境与工具,
5、且能达到两个目的:并行计算机的底层机构对用户透明;为用户提供设计与开发程序所需要的调试器与模拟器等工具。9第9页,共55页。1.1.2并行计算的研究内容 n(6)并行程序的可移植性并行程序的可移植性n 可移植性为并行程序设计的主要问题,要求在一台并行机上开发的程序不加修改或进行少量修改即可在另一台计算机上运行。这一点为目前受到了广泛关注的重要课题。n(7)并行计算机的自动编程并行计算机的自动编程n可否设计一个并行化编译器,使用户的串行程序通过并行化编译器编译,直接可在并行机上运行。到目前为此,这种编译器还不存在,而仅有一些半自动并行化编译器。10第10页,共55页。1.1.3 并行计算的应用范
6、围 n并行计算在许多计算机应用领域都产生了巨大的影响,使原来无法解决的应用问题成为可能。n天气预报、卫星数据处理、石油数据处理(连续优化问题),调度问题、平面性问题及VLSI设计(离散优化问题)、生物工程、医药研究、飞机制造、汽车设计、环境保护等领域。11第11页,共55页。1.1.4并行计算的应用分类 n科学与工程计算对并行计算的需求是十分广泛的,但所有的应用可概括为三个方面:n(1)计算密集型()计算密集型(Compute-Intensive)n这一类型的应用问题主要集中在大型科学工程计算与数值模拟(气象预报、地球物理勘探等)12第12页,共55页。1.1.4并行计算的应用分类 n(2)数
7、据密集型)数据密集型(Data-Intensive)nInternet的发展,为我们提供了大量的数据资源,但有效地利用这些资源,需要进行大量地处理,且对计算机的要求也相当高,这些应用包括数字图书馆、数据仓库、数据挖掘、计算可视化。n(3)网络密集型)网络密集型(Network-Intensive)n通过网络进行远距离信息交互,来完成用传统方法不同的一些应用问题。如协同工作、遥控与远程医疗诊断等。13第13页,共55页。1.2 并行计算机发展历史第14页,共55页。1.2.1 并行计算机发展简述n 40年代开始的现代计算机发展历程可以分为两个明显的发展时代:串行计算时代、并行计算时代。n每一个计
8、算时代都从体系结构发展开始,接着是系统软件(特别是编译器与操作系统)、应用软件,最后随着问题求解环境的发展而达到顶峰。创建和使用并行计算机的主要原因是因为并行计算机是解决单处理器速度瓶颈的最好方法之一。15第15页,共55页。1.2.1 并行计算机发展简述n并行计算机是由一组处理单元组成的,这组处理单元通过相互之间的通信与协作,以更快的速度共同完成一项大规模的计算任务。n因此,并行计算机的两个最主要的组成部分是计算节点和节点间的通信与协作机制。n并行计算机体系结构的发展也主要体现在计算节点性能的提高以及节点间通信技术的改进两方面。16第16页,共55页。1.2.1 并行计算机发展简述n 60年
9、代初期,由于晶体管以及磁芯存储器的出现,处理单元变得越来越小,存储器也更加小巧和廉价。这些技术发展的结果导致了并行计算机的出现,这一时期的并行计算机多是规模不大的共享存储多处理器系统,即所谓大型主机(Mainframe)。IBM 360是这一时期的典型代表。17第17页,共55页。1.2.1 并行计算机发展简述n 到了60年代末期,同一个处理器开始设置多个功能相同的功能单元,流水线技术也出现了。n与单纯提高时钟频率相比,这些并行特性在处理器内部的应用大大提高了并行计算机系统的性能。18第18页,共55页。1.2.1 并行计算机发展简述n1972年,诞生了第一台并行计算机ILLIAC (Illi
10、nois Integrator and Automatic Computer)伊利诺斯(理工学院)积分仪和自动计算机。n它由Illinois 大学和Burrouphs公司合作研制成功的。n运算速度为1.5亿次/秒(1.5*108次/秒)n由64台处理器组成的阵列机(Array Computer)n可对数组进行并行计算n它是当时性能最高的 CDC 7600 机器速度的26倍。19第19页,共55页。1.2.1 并行计算机发展简述n从80年代开始,微处理器技术一直在高速前进。稍后又出现了非常适合于SMP 方式的总线协议,而伯克利加州大学则对总线协议进行了扩展,提出了Cache一致性问题的处理方案。
11、从此,共享存储多处理器之路越走越宽;现在,这种体系结构已经基本上统治了服务器和桌面工作站市场。n同一时期,基于消息传递机制的并行计算机也开始不断涌现。80年代中期,加州理工成功地将64个i8086/i8087处理器通过超立方体互连结构连结起来。此后,便先后出现了Intel iPSC系列、INMOS Transputer 系列、Intel Paragon 以及IBM SP 的前身Vulcan等基于消息传递机制的并行计算机。20第20页,共55页。1.2.1 并行计算机发展简述n 80年代末到90年代初,共享存储器方式的大规模并行计算机又获得了新的发展。IBM 将大量早期RISC微处理器通过蝶形互
12、连网络连结起来。人们开始考虑如何才能在实现共享存储器缓存一致的同时,使系统具有一定的可扩展性(Scalability)。n90年代初期,斯坦福大学提出了DASH计划,它通过维护一个保存有每一缓存块位置信息的目录结构来实现分布式共享存储器的缓存一致性。后来,IEEE在此基础上提出了缓存一致性协议的标准。21第21页,共55页。1.2.1 并行计算机发展简述n 90年代以来,主要的几种体系结构开始走向融合。属于数据并行类型的CM-5除大量采用商品化的微处理器以外,也允许用户层的程序传递一些简单的消息;CRAY T3D是一台NUMA结构的共享存储型并行计算机,但是它也提供了全局同步机制、消息队列机制
13、,并采取了一些减少消息传递延迟的技术。22第22页,共55页。1.3 并行计算机体系结构第23页,共55页。n结点(node):包含一个或多个CPU,这些CPU通过HUB或全互联交叉开关相互联接,并共享内存,也可以直接与外部进行I/O操作。n互联网络(interconnect network):所有结点通过互联网络相互连接相互通信。n内存(memory):内存由多个存储模块组成,这些模块可以与结点对称地分布在互联网络的两侧,或者位于各个结点的内部。1.3.1 并行计算机体系结构的要素24第24页,共55页。n结点是构成并行机的最基本单位。一个结点包含2 个或2 个以上微处理器(CPU),并行程
14、序执行时,程序分派的各个进程将并行地运行在结点的各个微处理器上。n每个微处理器拥有局部的二级高速缓存(L2 cache)。L2 cache 是现代高性能微处理器用于弥补日益增长的CPU 执行速度和内存访问速度差距(访存墙)而采取的关键部件。它按cache 映射策略缓存内存访问的数据,同时为CPU 内部的一级cache 提供计算数据。CPU 内部的一级cache为寄存器提供数据,寄存器为逻辑运算部件提供数据。1.3.1 并行计算机体系结构的要素25第25页,共55页。n随着处理器速度的日益增长,结点内配置的内存容量也在增长。传统地,1 个单位的浮点运算速度配1 个字节的内存单元,是比较合理的。但
15、是,考虑到日益增长的内存墙的影响,这个比例可以适当缩小。n例如,1 个单位的浮点运算速度配0.4 个字节的内存单元。如果以单个微处理器速度为每秒60 亿次计算,包含4 个处理器的单结点的峰值运算速度可达240 亿次,内存空间需要8GB 以上。n于是,在当前并行机的结点内,一般需要采用64 位的微处理器,才能操作如此大的内存空间。1.3.1 并行计算机体系结构的要素26第26页,共55页。n互联网络是连接所有结点成并行机的高速网络。对于一般的并行机使用者,无须知道互联网络底层复杂的通信原理,而只需从拓扑结构的角度了解互联网络。n互联网络的拓扑结构可用无向图表示。其中,图中的结点唯一地代表并行机的
展开阅读全文