1、并行算法实践,上篇 并行程序设计导论,国家高性能计算中心(合肥),2,2019/7/4,并行算法实践 上篇 并行程序设计导论,单元I 并行程序设计基础单元II 并行程序编程指南单元III 并行程序开发方法,国家高性能计算中心(合肥),3,2019/7/4,单元I 并行程序设计基础,第一章 并行计算机系统与结构模型第二章 PC机群的搭建第三章 并行程序设计简介,国家高性能计算中心(合肥),4,2019/7/4,第一章 并行计算机系统与结构模型,1.1 典型并行计算机系统简介 1.1.1 阵列处理机 1.1.2 向量处理机 1.1.3 共享存储多处理机 1.1.4 分布存储多计算机 1.1.5 分
2、布共享存储多处理机 1.2 当代并行计算机体系结构 1.2.1 并行计算机体系结构模型 1.2.2 并行计算机存储结构模型 1.2.3 分布式高速缓存与主存体系结构 1.3 小结,国家高性能计算中心(合肥),5,2019/7/4,阵列处理机向量处理机共享存储多处理机分布存储多计算机,典型并行计算机系统,分布存储 共享存储,流水线 并行向量机,紧耦合多机系统 同构对称对机系统,DSM/SVM,国家高性能计算中心(合肥),6,2019/7/4,阵列处理机的两种基本结构,(a)分布存储阵列机,(b)共享存储阵列机,国家高性能计算中心(合肥),7,2019/7/4,阵列处理机的特点,SIMD单指令多数
3、据流机利用资源重复开拓计算空间的并行同步计算所有PE执行相同操作适于特定问题(如有限差分、矩阵运算等)求解,国家高性能计算中心(合肥),8,2019/7/4,Cray-1的向量处理,国家高性能计算中心(合肥),9,2019/7/4,共享存储的多处理机,MIMD多指令多数据流机单一的共享地址空间易于编程、难于扩展存储访问可成为性能瓶颈紧耦合与同构对称方式,国家高性能计算中心(合肥),10,2019/7/4,典型的紧耦合多处理机系统,国家高性能计算中心(合肥),11,2019/7/4,Balance同构对称多处理机系统,国家高性能计算中心(合肥),12,2019/7/4,分布存储多计算机,松散耦合
4、多机系统节点独立(可有局存、IO设备等)易于扩展多地址空间消息传递通信界面难于编程,国家高性能计算中心(合肥),13,2019/7/4,Intel Paragon系统框图,国家高性能计算中心(合肥),14,2019/7/4,分布共享存储多处理机,分布共享存储DSMDistributed Shared Memory将物理上分布的存储系统,通过硬件和软件的办法,向用户提供一个单一的全局地址空间易于编程易于扩展,国家高性能计算中心(合肥),15,2019/7/4,并行计算机体系结构,单指令多数据流机SIMD(Single-Instruction Multiple-Data); 并行向量处理机PVP(
5、Parallel Vector Processor); 对称多处理机SMP(Symmetric Multiprocessor); 大规模并行处理机MPP(Massively Parallel Processor); 工作站机群COW(Cluster of Workstation) 分布式共享存储DSM(Distributed Shared Memory)多处理机。,国家高性能计算中心(合肥),16,2019/7/4,并行计算机体系结构模型,国家高性能计算中心(合肥),17,2019/7/4,对称多处理机SMP(1),SMP: 采用商用微处理器,通常有片上和片外Cache,基于总线连接,集中式共
6、享存储,UMA结构 例子:SGI Power Challenge, DEC Alpha Server,Dawning 1,国家高性能计算中心(合肥),18,2019/7/4,对称多处理机SMP(2),优点 对称性 单地址空间,易编程性,动态负载平衡,无需显示数据分配 高速缓存及其一致性,数据局部性,硬件维持一致性 低通信延迟,Load/Store完成 问题 欠可靠,BUS,OS,SM 通信延迟(相对于CPU),竞争加剧 慢速增加的带宽(MB double/3年,IOB更慢) 不可扩放性-CC-NUMA,国家高性能计算中心(合肥),19,2019/7/4,大规模并行机MPP,成百上千个处理器组成
7、的大规模计算机系统,规模是变化的。 NORMA结构,高带宽低延迟定制互连。 可扩放性:Mem, I/O,平衡设计 系统成本:商用处理器,相对稳定的结构,SMP,分布 通用性和可用性:不同的应用,PVM,MPI,交互,批处理,互连对用户透明,单一系统映象,故障 通信要求 存储器和I/O能力 例子:Intel Option RedIBM SP2 Dawning 1000,国家高性能计算中心(合肥),20,2019/7/4,典型MPP系统特性比较,国家高性能计算中心(合肥),21,2019/7/4,机群型大规模并行机SP2,设计策略: 机群体系结构 标准环境 标准编程模型 系统可用性 精选的单一系统
8、映像 系统结构: 高性能开关 HPS 多级网络 宽节点、窄节点和窄节点2,国家高性能计算中心(合肥),22,2019/7/4,工作站机群COW,分布式存储,MIMD,工作站+商用互连网络,每个节点是一个完整的计算机,有自己的磁盘和操作系统,而MPP中只有微内核 优点: 投资风险小 系统结构灵活 性能/价格比高 能充分利用分散的计算资源 可扩放性好 问题 通信性能 并行编程环境例子:Berkeley NOW,Alpha Farm, FXCOW,国家高性能计算中心(合肥),23,2019/7/4,典型的机群系统,国家高性能计算中心(合肥),24,2019/7/4,SMPMPP机群比较,国家高性能计
9、算中心(合肥),25,2019/7/4,五种结构特性一览表,国家高性能计算中心(合肥),26,2019/7/4,并行计算机访存模型,均匀存储访问模型 UMA非均匀存储访问模型 NUMA全高速缓存访问模型COMA高速缓存一致性非均匀存储访问模型CC-NUMA非远程存储访问模型NORMA,国家高性能计算中心(合肥),27,2019/7/4,UMA访存模型,UMA(Uniform Memory Access)模型是均匀存储访问模型的简称。其特点是: 物理存储器被所有处理器均匀共享; 所有处理器访问任何存储字取相同的时间; 每台处理器可带私有高速缓存; 外围设备也可以一定形式共享。,国家高性能计算中心
10、(合肥),28,2019/7/4,NUMA访存模型,NUMA(Nonuniform Memory Access)模型是非均匀存储访问模型的简称。特点是: 被共享的存储器在物理上是分布在所有的处理器中的,其所有本地存储器的集合就组成了全局地址空间; 处理器访问存储器的时间是不一样的;访问本地存储器LM或群内共享存储器CSM较快,而访问外地的存储器或全局共享存储器GSM较慢(此即非均匀存储访问名称的由来); 每台处理器照例可带私有高速缓存,外设也可以某种形式共享。,国家高性能计算中心(合肥),29,2019/7/4,COMA访存模型,COMA(Cache-Only Memory Access)模型
11、是全高速缓存存储访问的简称。其特点是: 各处理器节点中没有存储层次结构,全部高速缓存组成了全局地址空间; 利用分布的高速缓存目录D进行远程高速缓存的访问; COMA中的高速缓存容量一般都大于2 级高速缓存容量; 使用COMA时,数据开始时可任意分配,因为在运行时它最终会被迁移到要用到它们的地方。,国家高性能计算中心(合肥),30,2019/7/4,CC-NUMA访存模型,CC-NUMA(Coherent-Cache Nonuniform Memory Access)模型是高速缓存一致性非均匀存储访问模型的简称。其特点是: 大多数使用基于目录的高速缓存一致性协议; 保留SMP结构易于编程的优点,
12、也改善常规SMP的可扩放性; CC-NUMA实际上是一个分布共享存储的DSM多处理机系统; 它最显著的优点是程序员无需明确地在节点上分配数据,系统的硬件和软件开始时自动在各节点分配数据,在运行期间,高速缓存一致性硬件会自动地将数据迁移至要用到它的地方。,国家高性能计算中心(合肥),31,2019/7/4,NORMA访存模型,NORMA(No-Remote Memory Access)模型是非远程存储访问模型的简称。NORMA的特点是: 所有存储器是私有的; 绝大数NUMA都不支持远程存储器的访问; 在DSM中,NORMA就消失了。,国家高性能计算中心(合肥),32,2019/7/4,构筑并行机
13、系统的不同存储结构,国家高性能计算中心(合肥),33,2019/7/4,分布式存储中的共享与非共享存储,在并行计算机中,一个物理上分布的存储器在逻辑上可以被共享与非共享。 如果系统内任何处理器上的进程都能直接地访问系统内任何本地存储器和远程存储器,则就称该系统具有共享存储结构。注意,所谓直接访问系指能用load和store之类的指令存取整个系统内的任何存储单元。 如果系统内任何处理器上的进程不能直接对远程存储器用load和store之类的指令进行访问,而必须借助于运行时软件层和用户可调用的例程库来实现,则就称该系统具有非共享存储结构。,国家高性能计算中心(合肥),34,2019/7/4,分布存储中四种不同的远程访问,国家高性能计算中心(合肥),35,2019/7/4,五种分布存储结构的特性比较,