并行编程原理及程序设计

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
UMA:
2003年9月
并行计算概述
30/59
均匀存储器存取 (UMA)
对称多处理机系统(symmetric multi-processor) 所有处理机都能同样访问所有外围设备;所有处理机 都能同样运行执行程序,如操作系统的内核、I/O服务 程序 不对称处理机系统(asymmtric multi-processor) 只有一台或一组处理机(MP主处理机)执行操作系统 并操纵I/O,其余处理机(AP附属处理机)没有I/O能 力
2003年9月
并行计算概述
27/59
机群系统(Cluster)
Cluster:
每个节点都是一个完整的计算机 各个节点通过高性能网络相互连接 网络接口和I/O总线松耦合连接 每个节点有完整的操作系统 曙光2000, 3000, ASCI Blue Mountain (48台128-way DSM Origin 2000,6144 个处理器)
2003年9月
并行计算概述
26/59
大规模并行计算机系统(MPP)
MPP:
物理和逻辑上均是分布内存 能扩展至成百上千个处理器(微 处理器或向量处理器) 采用高通信带宽和低延迟的互联 网络 (专门设计和定制的) 一种异步的MIMD机器;程序系 由多个进程组成,每个都有其私 有地址空间,进程间采用传递消 息相互作用; 代 表 : CRAY T3E(2048), ASCI Red(3072), IBM SP2, 曙光1000;
2003年9月 并行计算概述 29/59
均匀存储器存取 (UMA)
均匀存储器存取(UMA-Uniform Memory Access)
所有处理器均匀共享物理存储器, 这里所谓均匀是指所有处理器对所 有存储字具有相同的存取时间 每台处理器可带私有高速缓存 外围设备也可以一定形式共享 各处理机之间的通信是通过共享存 储器的共享变量来实现的 这一类多处理机由于对资源的高度 共享,常称紧耦合系统(tightly coupled system)
2003年9月
并行计算概述
23/59
结构模型
2003年9月
并行计算概述
24/59
共享存储对称多处理机系统(SMP)
SMP:
对称式共享存储:任意处理器可直接 访问任意内存地址,且访问延迟、带 宽、几率都是等价的; 系统是对称的; 微处理器: 一般少于64个; 处理器不能太多, 总线和交叉开关的 一旦作成难于扩展; 例子: IBM R50, SGI Power Challenge, SUN Enterprise, 曙光一号;
2003年9月
并行计算概述
3/59
并行计算概述
2003年9月
并行计算概述
4/59
讲座内容提示
并行计算概述 并行计算机体系结构 并行编程
2003年9月
并行计算概述
5/59
并行计算--高性能计算
并行计算(Parallel Computing) 高端计算(High-end Parallel Computing) 高性能计算(High Performance Computing) 超级计算(Super Computing) 任何高性能计算和超级计算都离不开使用并行技术 计算科学与传统的两种科学,即理论科学和实验科学,并 立被认为是人类认识自然的三大支柱,他们彼此相辅相成 地推动科学发展与社会进步。在许多情况下,或者是理论 模型复杂甚至理论尚未建立,或者实验费用昂贵甚至无法 进行时,计算就成了求解问题的唯一或主要的手段。
并行化的主要方法:分而治之
根据问题的求解过程,把任务分成若干子任务 (任务级并行或功能并行) 根据处理数据的方式,形成多个相对独立的数 据区,由不同的处理器分别处理(数据并行)
2003年9月
并行计算概述
15/59
www.top500.org
2003年9月
并行计算概述
16/59
Linpack
Linpack是国际上流行的用于测试高性能计算机系统浮点性 能的benchmark 通过对高性能计算机求解线性代数方程组能力的测试,评 价高性能计算机的浮点性能 HPL(High Performance Linpack)
7/59
现代计算机的共同特点:并行性
2003年9月
并行计算概述
8/59
现代计算机的共同特点:并行性
2003年9月
并行计算概述
9/59
为什么要做并行计算? --应用需求
2003年9月
并行计算概述
10/59
为什么要做并行计算?
人类对计算及性能的要求是无止境的 从系统的角度:集成系统资源,以满足不断增 长的对性能和功能的要求 从应用的角度:适当分解应用,以实现更大规 模或更细致的计算
2003年9月
并行计算概述
17/59
NEC Earth Simulator
处理器: 5120 (8 × 640) 500 MHz NEC 计算能力: 理论值: 41 TFLOPS (8 GFLOPS ×5120 ) 实际值: 35.86 TFLOPS 主存: 10 TB total (2 GB × 5120) 节点内通信: 共享存储 节点间通信: 640 × 640 交叉开关交换机 16 GB/s 带宽
2003年9月
并行计算概述
31/59
非均匀存储访问(NUMA)
非均匀存储访问(NUMA— Nonuniform Memory Access)
被共享的存储器在物理上是分布在 所有的处理其中的,其所有本地存 储器的集合就组成了全局地址空间 处理器访问存储器的时间是不一样 的:访问本地存储器(LM)较快,而 访问外地的存储器较慢(此即是非 均匀存储访问名称的由来) 每台处理器可带私有高速缓存,且 外设也可以某种形式共享
2003年9月 并行计算概述 12/59
并行计算的功能
降低单个问题求解的时间 增加问题求解规模、提高问题求解精 度 (多机同时执行多个串行程序)容错、 更高的可用性、提高吞吐率
2003年9月 并行计算概述 13/59
如何实现并Fra Baidu bibliotek计算?
分而治之! 分而治之!
2003年9月
并行计算概述
14/59
分而治之
2003年9月
并行计算概述
2/59
相关网址
MPI: http://ww.mpi-forum.org, http://www.mcs.anl.gov/mpi Pthreads: http://www.oreilly.com PVM: http://www.epm.ornl.gov/pvm/ OpemMP: http://www.openmp.org 网上搜索:www.google.com
针对大规模的并行计算机系统的测试 HPL版Linpack一般用于并行超级计算机 用户可以选择矩阵的大小(问题规模)、使用各种优化方法来执行测 试程序,寻求最佳的测试结果 计算量(2/3 * N^3 – 2*N^2) / 计算时间 http://www.netlib.org/benchmark/hpl/
2003年9月
并行计算概述
19/59
IBM ASCI White
处理器: 8196 (16 × 512) 375 MHz Power3 计算能力: 理论值: 12.3 TFLOPS 实际值: 7.2 TFLOPS 主存: 6 TB
2003年9月
并行计算概述
20/59
讲座内容提示
并行计算概述 并行计算机体系结构 并行编程
Flynn(1972)提出指令流、数据流和多倍性 概念,把不同的计算机分为四大类:
SISD(Single-Instruction Single-Data) SIMD(Single-Instruction Multi-Data) MISD(Multi-Instruction Single-Data) MIMD(Multi-Instruction Multi-Data)
2003年9月
并行计算概述
21/59
并行计算机系统结构
Flynn分类:
SISD, SIMD, MIMD, MISD
结构模型:
PVP, SMP, MPP, DSM, COW
访存模型:
UMA, NUMA, COMA, CC-NUMA, NORMA
2003年9月 并行计算概述 22/59
Flynn分类
2003年9月
并行计算概述
28/59
访存模型
NORMA: UMA:
NUMA:
多处理机(单地址空间共享存储器) UMA: Uniform Memory Access
NUMA: Nonuniform Memory Access 多计算机(多地址空间非共享存储器) NORMA:No-Remote Memory Access
机群应用开发
Parallel Programming: Fundamentals and Implementation
曹振南 czn@ncic.ac.cn
并行编程原理及 程序设计
国家智能计算机研究开发中心 国家高性能计算中心(北京) 2003.9
2003年9月 并行计算概述 1/59
参考文献
黄铠,徐志伟著,陆鑫达等译. 可扩展并行计算技术,结构与编程. 北京:机 械工业出版社, 2000. 陈国良著.并行计算—结构、算法、编程. 北京:高等教育出版社,1999. Barry Wilkinson and Michael Allen. Parallel Programming(Techniques and Applications using Networked Workstations and Parallel Computers). Prentice Hall, 1999. 李晓梅,莫则尧等著. 可扩展并行算法的设计与分析. 北京:国防工业出 版社,2000. 张宝琳,谷同祥等著. 数值并行计算原理与方法. 北京:国防工业出版 社,1999. 都志辉著. 高性能计算并行编程技术—MPI并行程序设计. 北京:清华 大学出版社, 2001.
2003年9月 并行计算概述 6/59
什么是并行计算?
并行计算: 由运行在多个部件上的小任务合作来求解一
个规模很大的计算问题的一种方法 例: 在曙光2000上用8个节点计算的Mandelbrot集结 果(Mandelbrot为分形理论创始人)
zi +1 = zi2 + c
2003年9月
并行计算概述
2003年9月
并行计算概述
25/59
分布共享存储多处理机系统(DSM)
DSM:
分布共享存储: 内存模块物理上局部 于各个处理器内部,但逻辑上(用户) 是共享存储的; 这种结构也称为基于 Cache 目 录 的 非 一 致 内 存 访 问 ( CCNUMA)结构;局部与远程内存访问的 延迟和带宽不一致,3-10倍 高性能 并行程序设计注意; 与SMP的主要区别:DSM在物理上 有分布在各个节点的局部内存从而 形成一个共享的存储器; 微处理器: 16-128个,几百到千亿次; 代表: SGI Origin 2000, Cray T3D;
UMA: NUMA: NORMA:
2003年9月
并行计算概述
34/59
多处理机 & 多计算机
多处理机 (共享存储)
多计算机 (分布式存储)
UMA:
NUMA:
NORMA:
2003年9月
并行计算概述
35/59
几种体系结构特征比较
2003年9月
并行计算概述
2003年9月
并行计算概述
18/59
No10: 曙光4000A
处理器: 2560 (4 × 640) Opteron 2.2GHz 计算能力: 理论值: 11TFLOPS (4.4 GFLOPS × 2560 ) 实际值: 8 TFLOPS 主存: 5TB total (2 GB × 2560) 通信: Myrinet 2000 Top500:第10(2004/06)
2003年9月
并行计算概述
11/59
为什么要做并行计算?
• 问题: 科学和工程问题的数值模拟与仿真 – 计算密集 – 数据密集 – 网络密集 – 三种混合 • 要求:在合理的时限内完成计算任务 – 秒级 制造业 – 分钟级 短时天气预报(当天) – 小时级 中期天气预报(3~10日) – 尽可能快 长期天气预报(气候) – 可计算 湍流模拟
NUMA:
2003年9月
并行计算概述
32/59
非远程存储访问(NORMA)
非远程存储访问(NORMA — NoRemote Memory Access)
所有存储器都是私有的,仅能由 其处理器所访问 绝大都数都不支持远程存储器的 访问
NORMA:
2003年9月
并行计算概述
33/59
结构模型 ---- 访存模型
相关文档
最新文档