多核程序设计课件2-并行计算基础

上传人:我*** 文档编号:137144494 上传时间:2020-07-05 格式:PPT 页数:134 大小:2.90MB
返回 下载 相关 举报
多核程序设计课件2-并行计算基础_第1页
第1页 / 共134页
多核程序设计课件2-并行计算基础_第2页
第2页 / 共134页
多核程序设计课件2-并行计算基础_第3页
第3页 / 共134页
多核程序设计课件2-并行计算基础_第4页
第4页 / 共134页
多核程序设计课件2-并行计算基础_第5页
第5页 / 共134页
点击查看更多>>
资源描述

《多核程序设计课件2-并行计算基础》由会员分享,可在线阅读,更多相关《多核程序设计课件2-并行计算基础(134页珍藏版)》请在金锄头文库上搜索。

1、1,多核程序设计第二章 并行计算基础,2008年8月18日,2, 并行处理技术,2.0.1并行性概念 一、并行技术定义 开发计算过程中并行事件的处理方法 事件的并行性 结构的并行性 二、并行性含义 同时性:两个或两个以上事件在同一时刻发生 并发性:两个或两个以上事件在同一时间间隔发生 流水线:两个或两个以上事件在可能重叠的时间段内,2.0 并行处理技术概述,3, 并行处理技术,2.0.2 并行性的层次 一、程序执行的并行性 指令内部并行:微操作并行 指令间并行:多条指令并行 任务或进程间并行:任务作并行性分解 作业或程序间并行:资源的并行性分配算法 二、数据处理的并行性 位串字串:一次只对一个

2、字的一位进行处理无并行 位并字串:一次对多个字的一位进行处理W=1,B1 位串字并:一次对一个字的多位进行处理W1,B=1 位并字并:一次对许多字的多位进行处理W 1,B 1 三、操作并行性的层次 存储器操作并行:在一个存贮周期内访问多个存贮单元 处理器操作步骤并行:指令执行子操作重叠 处理器操作并行:多处理单元(多核),在同一控制器控制下按同一条指令对多个数据组同时操作(多SIMD核),并行度增加 通信与调度开销增加 硬件实现的比例增加,4, 并行处理技术,2.0.3 并行性措施及困难 一、并行性措施 时间重叠:时间上错开,轮流重叠使用硬件:如流水线 资源重复:空间重叠,以量取胜 资源共享:

3、多用户按时间顺序轮流使用同一套资源:如分时系统 二、并行性困难 任务分配非常困难 可并行性:任务的并行性划分和分发 算法对并行性的限制 算法不仅与问题有关,还与硬件有关 处理机之间的通信开销限制 当通信开销大时并行处理技术得不偿失 并行处理环境 可编程性 并行开发环境需要并行编译和并行操作系统支持 并行规模的确定 可扩展性,5,2.0.5 多处理器互联方式,通信网络是多处理机性能发挥的瓶颈 主要方式:总线、交叉开关、多端口存贮器、开关枢纽 网络参数 节点度(Node Degree):射入或射出一个节点的边数。在单向网络中,入射和出射边之和称为节点度。 网络直径(Network Diameter

4、): 网络中任何两个节点之间的最长距离,即最大路径数。 对剖宽度(Bisection Width) :对分网络各半所必须移去的最少边数 对剖带宽( Bisection Bandwidth):每秒钟内,在最小的对剖平面上通过所有连线的最大信息位(或字节)数 如果从任一节点观看网络都一样,则称为对称的(Symmetry),6,静态互连网络与动态互连网络,静态互连网络 处理单元间有着固定连接的一类网络,在程序执行期间,这种点到点的链接保持不变;典型的静态网络有一维线性阵列、二维网孔、树连接、超立方网络、立方环、洗牌交换网、蝶形网络等 动态网络: 用交换开关构成的,可按应用程序的要求动态地改变连接组态

5、;典型的动态网络包括总线、交叉开关和多级互连网络等。,7,静态互连网络-一维线性阵列,1-D Linear Array 并行机中最简单、最基本的互连方式, 每个节点只与其左、右近邻相连,也叫二近邻连接, N个节点用N-1条边串接之,内节点度为2,直径为N-1,对剖宽度为1 当首、尾节点相连时可构成循环移位器,在拓扑结构上等同于环,环可以是单向的或双向的,其节点度恒为2,直径或为 (双向环)或为N-1(单向环),对剖宽度为2,8,静态互连网络-二维网孔,NN二维网孔(2-D Mesh) 每个节点只与其上、下、左、右的近邻相连(边界节点除外),节点度为4,网络直径为 2N-1,对剖宽度为N 在垂直

6、方向上带环绕,水平方向呈蛇状,就变成Illiac网孔了,节点度恒为4,网络直径为N-1,而对剖宽度为2N 垂直和水平方向均带环绕,则变成了2-D环绕(2-D Torus),节点度恒为4,网络直径为2N/2,对剖宽度为2N,9,静态互连网络-二叉树,二叉树 除了根、叶节点,每个内节点只与其父节点和两个子节点相连。 节点度为3,对剖宽度为1,而树的直径为 如果尽量增大节点度为,则直径缩小为2,此时就变成了星形网络,其对剖宽度为 传统二叉树的主要问题是根易成为通信瓶颈。胖树节点间的通路自叶向根逐渐变宽。,10,静态互连网络-超立方,超立方 一个n-立方由N=2n 个顶点组成,3-立方如图(a)所示;

7、4-立方如图(b)所示,由两个3-立方的对应顶点连接而成。 n-立方的节点度为n,网络直径也是n ,而对剖宽度为N/2。 如果将3-立方的每个顶点代之以一个环就构成了如图(d)所示的3-立方环,此时每个顶点的度为3,而不像超立方那样节点度为n。,11,动态互连网络-总线,PCI、VME、Multics、Sbus、MicroChannel 多处理机总线系统的主要问题包括总线仲裁、中断处理、协议转换、快速同步、高速缓存一致性协议、分事务、总线桥和层次总线扩展等,12,动态互连网络-交叉开关(Crossbar),单级交换网络,可为每个端口提供更高的带宽。象电话交换机一样,交叉点开关可由程序控制动态设

8、置其处于“开”或“关”状态,而能提供所有(源、目的)对之间的动态连接。 交叉开关一般有两种使用方式:一种是用于对称的多处理机或多计算机机群中的处理器间的通信;另一种是用于SMP服务器或向量超级计算机中处理器和存储器之间的存取。,13,单级交叉开关级联构成多级互连网络,MIN(Multistage Interconnection Network),14,2.1并行计算机体系结构,并行计算机组成的各个部分: 节点(node) 互联网络(interconnect network) 内存 (memory),内存模块与节点分离,内存模块位于节点内部,15,2.1.0 并行处理机的结构,四种体系结构 SI

9、SD (Single Instruction Single Data) -Uniprocessors MISD (Multiple Instruction Single Data) ?; multiple processors on a single data stream SIMD (Single Instruction Multiple Data) Examples: connection machine 2:65535个 1bit processors; Illiac IV: 64个 64bit processors; Ad: Simple programming model; Low

10、overhead;Flexibility;All custom integrated circuits (Phrase reused by Intel marketing for media instructions vector) MIMD (Multiple Instruction Multiple Data) Examples: Sun Enterprise 5000, Cray T3D, SGI Origin Ad: Flexible; Use off-the-shelf micros; Multiprocessors, Multicomputers MIMD current winn

11、er: Concentrate on major design emphasis = 128 processor MIMD machines,16,并行处理机的结构,多个处理节点通过互连网络联接,17,MIMD结构,Center on organization of main memory Shared vs. Distributed Appearance of memory to hardware Q1: Memory access latency uniform? Shared (UMA): yes, doesnt matter where data goes Distributed (N

12、UMA): no, makes a big difference Appearance of memory to software Q2: Can processors communicate directly via memory? Shared (shared memory): yes, communicate via load/store Distributed (message passing): no, communicate via messages Dimensions are orthogonal e.g. DSM: (physically) distributed, (log

13、ically) shared memory,18,典型MIMD-集中共享存储多处理机系统,Centralized Shared-Memory Architecture,总线结构,SMP,19,典型MIMD-分布存储多处理机系统,Structure of distributed-memory multiprocessor,互连网络,20,典型MIMD-片上多处理器系统,Intel Core Micro-architecture,CPU1,Memory,CPU2,Cache Line,Front Side Bus (FSB),L2 is shared: No need to ship cache

14、line,21,Intel Core微架构,22,IBM PowerPC CEll,IBM 架构核心的3.2 GHz Cell处理器,包括8个协同处理器(SPE),除1个SPE保留用做其它用途,其余7个SPE均以3.2 GHz频率运做,内建512 KB二级缓存,浮点性能最高可达218 GFLOPS,23,二种常见的分布存储多处理机系统,Distributed shared memory(DSM or scalable shared memory) 统一的逻辑地址空间,但物理空间是分布的 每个处理器可以通过逻辑 Shared memory means sharing the address sp

15、ace, which is different from centralized shared memory. multiple computers Address space consists of multiple private address spaces。逻辑上不连续,远程处理器无法访问。 每一结点(processor-memory)模块是一单独的计算机,故称为多计算机结构。 NOW计划,每一结点实质上是一工作站或PC,由LAN连接而成。,24,UMA vs. NUMA,UMA: uniform memory access From p0 same latency to m0-m3

16、Data placement doesnt matter Latency worse as system scales Interconnect contention restricts bandwidth Small multiprocessors only NUMA: non-uniform memory access From p0 faster to m0 than m1-m3 Low latency to local memory helps performance Data placement important (software!) Less contention = more scalable Large multiprocessor systems,25,2.1.1 多级存储体系结构,为了解决处理器与内存之间的性能/成本瓶颈问题。 理论依据:局部性原理 目前有多级Cache 在节点内部的cache称为二级cache(L2 cache)。 在处理器内部更小的cache成为一级cache(L1 c

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号