590 likes | 847 Views
高性能计算与高性能计算机. 总结. 什么是高性能计算和高性能计算机 什么是集群 ( Cluster ) ,怎么配置集群 什么样的用户需要高性能计算机 高性能用户都关心哪些问题 高性能计算机销售和一般服务器销售的区别. 提纲. 高性能市场概要 曙光和高性能计算机 什么是高性能计算 什么是高性能计算机 集群系统. 高性能计算市场. IDC对08年服务器市场的预测: 08 年,全球服务器产业预计以接近 9% 的速度发展, HPC 产业预计的发展速度将会超过 12% 在中国, HPC 市场的发展速度将会超过 20%
E N D
总结 • 什么是高性能计算和高性能计算机 • 什么是集群(Cluster),怎么配置集群 • 什么样的用户需要高性能计算机 • 高性能用户都关心哪些问题 • 高性能计算机销售和一般服务器销售的区别
提纲 • 高性能市场概要 • 曙光和高性能计算机 • 什么是高性能计算 • 什么是高性能计算机 • 集群系统
高性能计算市场 • IDC对08年服务器市场的预测: • 08年,全球服务器产业预计以接近9%的速度发展,HPC产业预计的发展速度将会超过12% • 在中国,HPC市场的发展速度将会超过20% • HPC市场既是一个传统的市场,又是一个新兴的、高速发展的市场 • 高:定位高端用户 • 标杆项目,影响力大 • 平民化趋势 • 快速发展
高性能计算市场 • 技术的发展 • CPU多核化的趋势 • 多进程、多线程并行化的趋势 • 其他 • 并行计算机上的广泛应用 • 高端下移 • … … … • 一些厂商的表现 • 例如:Intel • 国家的政策 • 自主创新 … … … 高性能计算的市场正处于发展阶段
提纲 • 高性能市场概要 • 曙光和高性能计算机 • 什么是高性能计算 • 什么是高性能计算机 • 集群系统
计算所/曙光和高性能计算 • 1956年成立,我国第一个计算技术研究所,被誉为“我国计算机事业的摇篮” • 第一台电子管计算机(103机) • 第一台大型晶体管计算机(109机) • 第一台大型集成电路计算机(111机) • 第一台向量计算机(757机) • 第一台大规模并行计算机(曙光1000) • 被国防部门誉为“功勋机” 109丙机,为两弹一星做出过重要贡献
计算所/曙光和高性能计算 1993.10曙光一号 16个处理器,每秒6.4亿次 使中国成为少数能生产制造MPP的国家之一 1995.5曙光1000 36个节点机,每秒25.6亿次 1998.12曙光2000 I 68个节点机,每秒200亿次 2000.1曙光2000 II 164个CPU,每秒1117亿次 中国第一个SMP集群
计算所/曙光和高性能计算 2001.10曙光3000 每秒4032亿次 SUMA标准诞生 2003.3曙光4000L 644个CPU,每秒3万亿次 2004.6曙光4000A 2560颗CPU,每秒10万亿次 名列世界第十,成为除美日以外第一个进入世界“top500”前10名的国家
计算所/曙光和高性能计算 中国登峰造极的最高性能的计算机系统 • 运算速度超过百万亿次的曙光5000,将使中国成为美国之后第二个能生产百万亿次超级计算机的国家 • 曙光5000共采用3万颗CPU核,峰值230万亿次,Linpack效率超过70% • 曙光5000计算能力超过曙光4000A十多倍,而体积、功耗与曙光4000A相同,代表了中国高性能计算机发展的最高水平
计算所/曙光和高性能计算 2005年 2006年 2007年
提纲 • 高性能市场概要 • 曙光和高性能计算机 • 什么是高性能计算 • 什么是高性能计算机 • 集群系统
什么是高性能计算? • 高性能计算 • HPC:High Performance Compute • 高性能计算---并行计算 • 并行计算(Parallel Computing) • 高端计算(High-end Parallel Computing) • 高性能计算(High Performance Computing) • 超级计算(Super Computing)
什么是高性能计算? • 计算科学与传统的两种科学,即理论科学和实验科学,并立被认为是人类认识自然的三大支柱,他们彼此相辅相成地推动科学发展与社会进步。在许多情况下,或者是理论模型复杂甚至理论尚未建立,或者实验费用昂贵甚至无法进行时,计算就成了求解问题的唯一或主要的手段。
为什么要做高性能计算 • 人类对计算及性能的要求是无止境的 • 从系统的角度:集成系统资源,以满足不断增长的对性能和功能的要求 • 从应用的角度:适当分解应用,以实现更大规模或更细致的计算 • 问题: 科学和工程问题的数值模拟与仿真 • 计算密集 • 数据密集 • 网络密集 • 三种混合
什么人需要高性能计算 • 高性能计算机都在什么地方使用?都卖到哪儿去? • 国外状况 • 国内状况
提纲 • 高性能市场概要 • 曙光和高性能计算机 • 什么是高性能计算 • 什么是高性能计算机 • 集群系统
什么是高性能计算机? 由多个计算单元组成,运算速度快、存储容量大、可靠性高的计算机系统。 也称为:巨型计算机、超级计算机 目前任何高性能计算和超级计算都离不开使用并行技术,所以高性能计算机肯定是并行计算机。
其发展历程可以简单的分为两个时代 • 专用时代包括向量机,MPP系统,SGI NUMA 系统,SUN大型SMP系统,也包括我国的神威,银河,曙光1000等。之所以称为“专用”,并不是说它们只能运行某种应用,是指它们的组成部件是专门设计的,它们的CPU板,内存板,I/O板,操作系统,甚至I/O系统,都是不能在其它系统中使用的。由于技术上桌面系统与高端系统的巨大差异,和用户群窄小。 • 普及时代高性能计算机价格下降,应用门槛降低,应用开始普及。两个技术趋势起到重要作用。商品化趋势使得大量生产的商品部件接近了高性能计算机专有部件标准化趋势使得这些部件之间能够集成一个系统中,其中X86处理器、以太网、内存部件、Linux都起到决定性作用。机群系统是高性能计算机的一种,它的技术基础和工业基础都是商品化和标准化。
高性能计算机系统架构 • 并行向量机 • SMP • DSM(NUMA) • MPP,节点可以是单处理器的节点,也可以是SMP,DSM • Cluster • Constellation
高性能计算机的制造厂商 • Cray • SGI • IBM • 曙光 • 银河 • 神威
并行计算机系统类型 • Flynn分类: • SISD, SIMD, MIMD, MISD • 结构模型: • PVP, SMP, MPP, DSM, COW • 访存模型: • UMA, NUMA, COMA, CC-NUMA, NORMA
并行计算机分类 Flynn分类 Flynn(1972)提出指令流、数据流和多倍性概念,把不同的计算机分为四大类: • SISD(Single-Instruction Single-Data) • SIMD(Single-Instruction Multi-Data) • MISD(Multi-Instruction Single-Data) • MIMD(Multi-Instruction Multi-Data) 现代高性能计算机都属于MIMD。MIMD从结构上和访存方式上,又可以分为: • 结构模型:PVP, SMP, MPP, DSM, COW • 访存模型:UMA, NUMA, COMA, CC-NUMA, NORMA
对称多处理机系统(SMP) • SMP • 对称式共享存储:任意处理器可直接访问任意内存地址,且访问延迟、带宽、机率都是等价的; 系统是对称的; • 微处理器: 一般少于64个; • 处理器不能太多, 总线和交叉开关的一旦作成难于扩展; • 例子: IBM R50, SGI Power Challenge, SUN Enterprise, 曙光一号;
分布式共享存储系统(DSM) • DSM • 分布共享存储: 内存模块物理上局部于各个处理器内部,但逻辑上(用户)是共享存储的; 这种结构也称为基于Cache目录的非一致内存访问(CC-NUMA)结构;局部与远程内存访问的延迟和带宽不一致,3-10倍高性能并行程序设计注意; • 与SMP的主要区别:DSM在物理上有分布在各个节点的局部内存从而形成一个共享的存储器; • 微处理器: 16-128个,几百到千亿次; • 代表: SGI Origin 2000, Cray T3D;
大规模并行计算机系统(MPP) • MPP • 物理和逻辑上均是分布内存 • 能扩展至成百上千个处理器(微处理器或向量处理器) • 采用高通信带宽和低延迟的互联网络 (专门设计和定制的) • 一种异步的MIMD机器;程序系由多个进程组成,每个都有其私有地址空间,进程间采用传递消息相互作用; • 代表:CRAY T3E(2048), ASCI Red(3072), IBM SP2, 曙光1000
机群系统(Cluster) • Cluster • 每个节点都是一个完整的计算机 • 各个节点通过高性能网络相互连接 • 网络接口和I/O总线松耦合连接 • 每个节点有完整的操作系统 • 曙光2000、 3000、4000, ASCI Blue Mountain
NORMA: UMA: NUMA: 访存模型 多处理机(单地址空间共享存储器) UMA: Uniform Memory Access NUMA: Nonuniform Memory Access 多计算机(多地址空间非共享存储器) NORMA: No-Remote Memory Access
UMA: NORMA: NUMA: 结构模型--访存模型
UMA: NORMA: NUMA: 多处理机 && 多计算机 多计算机 (分布式存储) 多处理机 (共享存储)
衡量系统性能的主要指标(1) MIPS(百万条指令每秒) • 理论计算:处理器的时钟频率与平均每条指令所需的时钟周期(Cycles Per Instruction)的比值 MIPS = clock rate / CPI = (number of Instructions) / (CPU time) • 实际数值:对于一个应用(程序),指令数目与运行时间的比值 MIPS’= (number of Instructions) / (execution time)
衡量系统性能的主要指标(2) MFLOPS(百万次浮点运算每秒) • 理论计算:系统的浮点计算部件每秒可以做的浮点计算次数; • MFLOPS = (number of Floating Point compute Unit)×N • N为每个浮点计算部件一个周期内可以做的最多浮点操作数,对于目前常见的微处理器,一般为1-4; • 实际数值:对于一个应用,浮点运算数目与运行时间的比值; • MFLOPS’ = (number of floating operations) / (execution time)
两个指标的缺点 • 都不能全面表征系统的性能 • MIPS指标比较适用于事务处理领域; • 不同系统的指令不同,一条指令的功能和复杂度差别很大, 如IBM的大型主机(Mainframe),价格达到千万元的大型机(含配套软件),其MIPS值一般为5-10,不及价值数千元的Pentium4 PC; • 非计算密集型的应用(事务处理)对I/O要求高,计算密集型的应用(图形程序)对主频要求高。用户对可靠性等特殊要求; • 应用的需求不同,高性能计算领域也是“通才”难求,各有所长; • 某些特殊类型计算机适合特定的应用。
两个指标的缺点 • 理论计算和实际测试的差别 • 对于一个具体的应用,可获得的实际性能与理论峰值有相当大的差距,即效率低的问题; • 应用效率成为高性能计算的核心问题之一,受到普遍关注。
加速比定律 • 在并行计算系统,并行算法(并行程序)的执行速度相对于串行算法(串行程序)加快的倍数,就是该并行算法(并行程序)的加速比; • 加速比是衡量“并行收益”的重要指标; • Amdahl定律适用于固定计算规模的加速比性能描述,Gustafson定律适用于可扩展问题。
Amdahl定律 S = (WS+WP)/(WS+WP/p) = 1/(1/p+f(1-1/p)) • 显然,当p→∞时,S=1/f,即对于固定规模的问题,并行系统所能达到的加速上限为1/f • 一度引发了并行界部分人士的悲观情绪
Gustafson定律 S‘=(WS+pwp)/(WS+WP) =p-f(p-1)=f+p(1-f) • 并行计算是为了解决大规模并行问题,可并行部分的比例是可扩大的 • 加速比与处理器数成斜率为(1-f)的线性关系 • 这样串行比例f就不再是程序扩展性的瓶颈, • 当然,f越低,斜率会越大,加速性能越好。
Linpack • 采用主元高斯消去法求解双精度稠密线性代数方 程组,结果按每秒浮点运算次数(flops)表示。 • 包含三类测试,问题规模与优化选择各不相同: • 100×100测试 ,在该测试中,不允许对Linpack测试程序进行任何修改(包括注释行) • 1000×1000测试,在该测试中,允许对算法和软件进行修改或替换,并尽量利用系统的硬件特点,以达到尽可能高的性能。但是所有的优化都必须保持和标准算法如高斯消去法相同的相对精度,而且必须使用Linpack的主程序进行调用。
Linpack(续) • HPL测试 • 针对大规模并行计算系统的测试,其名称为High Performance Linpack (HPL),是第一个标准的公开版本并行Linpack测试软件包, • 用于TOP500与国内TOP100排名依据。 • 使用者可以改变问题规模。 • 有相当大的优化空间。
NAS Parallel Benchmark • NPB套件由八个程序组成 • 每个基准测试有五类:A、B、C、D、W (工作站)。A最小,D最大 • NPB套件以每秒百万次运算为单位输出结果。 • 整数排序(IS) • 快速Fourier变换(FT) • 多栅格基准测试(MG) • 共轭梯度(CG) 基准测试 • 稀疏矩阵分解(LU) • 五对角方程(SP)和块状三角(BT)求解 • 密集并行(EP)
高性能计算机的最新发展状况 • 顶天立地 • 高端: • 低端: • 从单纯关注性能到综合评价 • 高性能 vs 高效能 • 性能 vs 使用 • 硬件建设 vs 综合建设
提纲 • 高性能市场概要 • 曙光和高性能计算机 • 什么是高性能计算 • 什么是高性能计算机 • 集群系统
什么是机群系统 • 机群系统(Cluster)利用标准网络将一台台普通服务器或者PC机连接起来,为使用者提供更高的计算能力和存储能力并为使用者提供单一系统映象的系统。 • 单一系统映象使用者在使用机群系统的时候感觉上就象使用一个单独的计算机系统一样。单一系统映象实现方法:硬件层、操作系统层、软件层
机群系统的优势 • 极高的性价比 • 大型机的主流 • 良好的可扩展性 • 更高的可管理性 • 更低的使用维护成本 • 更好的可使用性 • 更改的系统鲁棒性 • 更多的应用支持 机群使用越来越广泛 应用领域越来越多
机群系统的应用领域 信息服务 基因信息 气象预报 汽车制造 船舶制造 生物物理 石油勘探 数学
机群成为高性能计算机的主流 TOP500排名(2008年6月)