1、HPCChina,Company Logo,,Contents,TOP100张云泉,存储墙杨学军,分层模型陈国良,千万亿次天河一号,艾级 高性能软件 CUDA ,Company Logo,,天河一号,系统概况 我国首台千万亿次超级计算机系统,峰值性能1.206千万亿次双精度浮点运算 国家863“高效能计算机及网格服务环境”重大项目 国家超级计算天津中心业务主机,部署于天津市滨海新区 中国国家网格计算主节点,Company Logo,,天河一号,系统配置 多阵列可配置协同并行体系结构 6144个最新英特尔至强5500系列CPU和5120个ATI 的GPU 内存总容量98TB 点点通信带宽40Gb
2、ps 共享磁盘总容量1PB 64位的操作系统 系统特点 1 高性能 峰值性能 1.206PFlops LINPACK测试性能560.3TFlops 可列2005.6TOP500第四位,Company Logo,,天河一号,2 高效能 系统能效为431.7MFlops/W 可列2009年6月Green500第五位 3 高安全 操作系统符合B2级安全标准,提供基于隔离的用户安全工作环境。 4 易用性 统一的全系统资源管理视图 友好的系统管理使用界面 一体化的并行应用集成开发环境 虚拟化的网络计算环境,Company Logo,,“天河一号”系统构成(1),硬件系统 计算阵列、加速阵列、服务阵列,以
3、及互连通信子系统、I/O存储子系统和监控诊断子系统等,Company Logo,,“天河一号”系统构成(2),计算阵列 2560个计算结点 ; 每个计算结点集成2个Intel CPU,配32GB内存 。 加速阵列 2560个加速结点; 每个加速结点含2个AMD的 GPU、 2GB显存 。 服务阵列 512个服务结点 ; 每个服务结点含2个Intel EP CPU、32GB内存 。,Company Logo,,“天河一号”系统构成(3),互连通信子系统 采用两级Infiniband QDR互连 ; 单个通信链路的通信带宽为40Gbps、延迟1.2s 。 I/O存储子系统 采用全局分布共享并行I/
4、O系统结构 ; 磁盘总容量1PB 。 监控 采用分布式集中管理结构,实现全系统的实时安全监测、系统控制和调试诊断等功能,Company Logo,,“天河一号”系统构成(4),软件系统 操作系统、编译系统、资源管理系统和并行程序开发环境等四部分组成 。,Company Logo,,“天河一号”系统构成(5),操作系统 操作系统采用64位Linux ; 面向高性能并行计算、支持能耗管理、虚拟化和安全隔离等进行了针对性设计 。 编译系统 支持C、C+、Fortran77/90/95、Java语言; 支持OpenMP、MPI并行编程 ; 提供异构协同编程框架,高效发挥CPU和GPU的协同计算能力 。
5、,Company Logo,,“天河一号”系统构成(5),资源管理 提供全系统资源统一视图,实现多策略资源分配与作业调度,有效提高资源利用率和系统吞吐率 并行程序开发环境 并行程序开发环境提供一体化图形用户界面,支持应用程序的调试和性能分析 。,Company Logo,,“天河一号”的应用领域,可广泛应用于: 石油勘探数据处理; 生物医药研究; 航空航天装备研制; 资源勘测和卫星遥感数据处理; 金融工程数据分析;,气象预报和气候预测; 海洋环境数值模拟; 短临地震预报; 新材料开发和设计; 土木工程设计; 基础科学理论计算等。,Company Logo,,天河一号,“我第一次听到这个消息的时
6、候很震惊,我们原来预计千万亿次的计算机要到2010年底才能出现,天河一号的面世,比预期时间提前了一年 !它将极大推动一大批科学计算,提高科学计算的数值精确度,缩短科学计算的时间,加快科学研究的速度。我国超级计算机与国际先进水平的差距,正在不断缩小。” 张云泉“中国的天河计算机采取的CPU与GPU融合的结构代表了未来高性能计算机的发展趋势。随着计算机规模的不断拓展,这种结构虽然不是唯一的解决方法,但目前看来是最好的。我以前对中国国防科技大学的了解,大多来自学术文章。我希望今后能和他们在软件开发和更广阔的应用领域进行合作。” 美国斯坦福大学计算机系主任、 NVIDIA公司首席科学家比尔戴利(Bil
7、l Dally),Company Logo,,天河一号,“今年11月即将公布的新排行榜肯定会有排名上的变化,一些新的产品和研制机构会加入进来。至于千万亿次计算机,目前全世界的数量还是相当有限的,但明年会出现更多。研制千万亿次计算机是很难的,中国将在这一领域有所斩获。” 德国Prometeus公司咨询专家、世 界超级计算机500强排行榜代表霍斯特基尔特(Horst Gietl) 中国成为继美国之后世界上第二个能够研制千万亿次超级计算机的国家 它为世界公认的高新技术制高点和21世纪最重要的科学领域之一 天河一号装有6144个英特尔和5120个公司的,它的存储量相当于4个藏书量为2700万册的中国国
8、家图书馆。” 它的速度意味着,如果用“天河一号”计算一天,一台当前主流微机得算160年。 2010年年底之前,这台由103个机柜组成、占地面积近千平方米、总重量155吨的庞大计算机将安装到中国两个国家级超级计算中心之一的天津中心,向国内外用户提供超级计算服务。,Company Logo,,天河一号,在世界超级计算机500强6月排名榜中,美国占291席,欧洲占145席,亚洲占49席。前10名都是美国的产品。中国大陆有20台超级计算机进入这个榜单,但它们的核心中央处理器都靠进口。 另一个有能力的制造商曙光公司也在研制自己的千万亿次超级计算机,计划于2010年推出。 虽然“天河一号”每年的电费可高达
9、1800万元,但根据6月国际超级计算机能效排名,它依然算得上世界上最环保的5台超级计算机之一。 世界上的超级计算机还很少使用加的体系结构。是图形处理器,扮演加速器的作用,它加快了计算机的运行速度,却降低了功耗和成本。 专家分析,“天河一号”适用于大规模科学与工程计算,其广泛应用将大大提升滨海新区高科技服务业水平,为构筑高端化、高质化、高新化产业结构,发展优势支柱产业提供更好支撑。,Company Logo,,陈国良,陈国良 中国科学技术大学和深圳大学教授,博士生导师,中国科学院院士,全国首届高等学校教学名师。 现任国家高性能计算中心(合肥)主任,国际高性能计算(亚洲)常务理事。曾任国家教育部计
10、算机科学与技术教指委副主任、全国高等教育电子、电工与信息类专业自考委副主任、中国计算机学会理事、安徽省计算机学会理事长、全国自然科学名词审定委员会委员和中国科学技术大学计算机系主任等。 主要研究领域为并行算法、并行计算机体系结构和智能计算等。先后承担10多项国家863计划、国家攀登计划、国家自然基金、国家973计划等科研项目。,Company Logo,,陈国良,陈国良教授是我国非数值并行算法研究的学科带头人。他率先创建的我国第一个国家高性能计算中心是我国并行算法研究、环境科学与工程计算软件的重要基地,在学术界和教育界有一定的影响和地位。,Company Logo,,并行计算模型研究方法:单一
11、模型和分层模型 陈国良,观点: 根据并行计算模型的发展和演变,现今对并行计算模型进行分层是势在必行的。 按照并行计算模型的功能和使用的对象,模型分为三个层次,是充分和必要的。 并行算法设计模型和并行程序设计模型,目前相对比较成熟,而并行程序执行模型尚处于酝酿阶段,有待进一步研究与开发。,Company Logo,,并行计算模型研究方法:单一模型和分层模型 陈国良,目前的困难 研究并行程序执行模型,究竟应如何下手,其基本框架大体是什么样的? 并行程序执行模型,可否比照并行算法设计模型和并行程序设计模型那样来定量描述? 研究并行程序的性能优化应着眼于计算机的系统软件(比如OS与编译等)或计算机的底
12、层硬件? 我们的设想 研究并行程序的执行模型,仍应借鉴和参考“程序性能优化”的研究方法。 先确定出并行程序执行模型的粗框架,哪怕是非常粗糙和不完整的。 在此粗框架上,进行实例研究,总结经验,反复修正之。,Company Logo,,并行计算模型研究方法:单一模型和分层模型 陈国良,分层模型性能对照表,Company Logo,,并行计算模型研究方法:单一模型和分层模型 陈国良,分层模型性能对照表,Company Logo,,并行计算模型研究方法:单一模型和分层模型 陈国良,1.1 什么是并行计算模型 模型定义: 是从计算的角度,呈献给算法设计者的一种不同结构并行机的虚拟抽象机 是算法设计者和系
13、统结构师之间的桥梁 模型三要素: 一组反映计算性能的机器参数(CPM、存储器、I/O网路等) 约束计算过程的计算行为(同步/异步等) 一个计算算法复杂度的成本函数 计算三要素: 数据的存储 数据的计算 数据的传输,Company Logo,,并行计算模型研究方法:单一模型和分层模型 陈国良,1.2 并行计算模型的发展历程 模型随主流并行机结构变化而演变 共享存储的SIMD机器 SIMD-SM模型 不同互连结构的SIMD机器 SIMD-IN模型 共享存储的MIMD机器 MIMD-SM模型 分布存储的MIMD机器 MIMD-DM模型 分布共享存储的MIMD机器 MIMD-DSM模型 模型沿着完善、
14、强化单一模型功能的路线而发展 起初,模型仅考虑了CPU参数(第一代模型) 然后,模型又考虑了通信网络参数(第二代模型) 最近,模型又考虑了存储访问特性(第三代模型) 现在,在存储层次的基础上,又扩展到同时考虑层次并行特性,Company Logo,,2、单一计算模型的分代研究方法,2.1 第一代:共享存储模型 第一代计算模型的特点 共享存储 以“CPU计算为中心” 计算、存储和通信合一 锁步(自动同步)计算 代表性模型 PRAM,包括EREW、CREW、CRCW和C-CRCW、P-CRCW、A-CRCW APRAM,即异步PRAM模型 优缺点 优点:适合于并行算法的表达和分析,理论计算机科学家
15、使用 缺点:高度抽象,不考虑细节,不实用,Company Logo,,2、单一计算模型的分代研究方法,2.2 第二代:分布存储模型 第二代计算模型的特点 分布式存储 以“数据通信为中心” 计算和通信分开考虑 整体大同步和个体异步计算 代表性模型 整体大同步模型BSP 个体异步模型LogP 非独占异构模型NHBL 优缺点 优点:BSP模型大同步易于编程和确保计算的正确性 LogP模型隐藏通信拓扑,只考虑点-点通信,易于分析 缺点:BSP模型在一个超步内必须等待最慢计算者 LogP模型设计和分析算法很困难,Company Logo,,2、单一计算模型的分代研究方法,2.3 第三代:存储层次模型 第
16、三代计算模型的特点 分布共享存储 以“数据访问为中心” 计算和访存分开 层次存储包括寄存器、高速缓存、主存和辅存等 代表性模型 均匀存储层次模型UMH 分布的RAM模型DRAM(h,k)(h级存储层次、k种并行方式) 基于LogP的存储层次模型Memory-LogP 同时考虑层次存储和层次并行模型HPM 优缺点 优点:反映当代并行机体系结构多存储层次的特点和多级并行度的特点 缺点:分析过于复杂,难以操作使用,Company Logo,,3、单一模型的问题和分层模型的动机,3.1 单一计算模型遇到的困境 模型本身 一味追求单一模型的功能强和多目标,致使单一模型越来越复杂,最终导致模型不实用和不可
17、操作性。 单一模型中,反映机器不同特性的参数过多,致使单一模型描述越来越困难,最终导致成本函数过于复杂而无法求解。 当在单一模型中又考虑到机器的底层特性和不同的硬件并行度时,致使该模型很难建立。 模型的使用: 对算法设计者而言,单一模型太复杂,设计算法时考虑的因素过多,影响设计低时空开销的优秀算法; 对程序设计者而言,编程模型要简洁,才能确保算法的正确编程实现; 而对程序执行者而言,尽管单一模型似乎很精确,但对程序执行时性能的优化却又缺乏足够的制导信息。,Company Logo,,3、单一模型的问题和分层模型的动机,3.2 分层计算模型的基本出发点 模型应按算法设计、算法实现和算法执行进行分
18、层: 算法设计应建立在并行算法设计模型上; 算法实现应通过并行程序设计模型来完成; 算法执行应由并行系统的软/硬件来支撑。 分层好处: 分层计算模型可将单一模型中的功能按要求分配到模型不同的层次中,缓解了单一计算模型的精确性与可使用性之间的矛盾。 分层后,各层次模型职能不同,目标单一,各负其责,易于设计与实现。,Company Logo,,3、单一模型的问题和分层模型的动机,3.3 分层计算模型的基本概念 三层并行计算模型:并行算法设计模型,并行程序设计模型和并行程序执行模型。前者是面向并行算法研究者的,中者是面向并行程序设计者的,后者是面向程序运行者的。 三层并行计算模型从几何形状上看,呈现
19、哑铃形状:从不同的并行计算机来(抽象计算参数建立模型),经过不同的加工后,又回到不同的并行计算机中去(运行代码,求解问题)。 三层并行计算模型的图示可如下页所示。,Company Logo,,3、单一模型的问题和分层模型的动机,Company Logo,,3、单一模型的问题和分层模型的动机,三层并行计算模型的功能划分 并行算法设计模型:它是算法设计者和计算机体系结构家之间的桥梁,主要用来指导并行算法的设计与分析。 并行程序设计模型:它是程序设计者与计算机软/硬件之间的接口,主要负责把算法转换成可在并行机上正确执行的程序。 并行程序执行模型:它是编译设计者与系统实现者之间的接口,编程人员在并行机
20、软/硬件支撑下,编译和运行机器目标代码,以优化程序的性能。,Company Logo,,4、复合计算模型的分层研究方法,4.1 第一层:并行算法设计模型 算法设计模型需要反映硬件关键特性同时又必须非常简单易于算法描述和表达,是算法设计者与机器结构家之间的桥梁,是面向算法研究者的。 算法设计模型重点关注算法的原理,确保设计出来的算法的正确性和较低的时间、空间复杂度。 算法设计模型三要素: 机器参数:抽象的CPU,Memory,I/O网络参数 执行行为:同步/异步 成本函数:它是机器参数的函数,Company Logo,,4、复合计算模型的分层研究方法,算法复杂性度量单位:算法步数 算法设计模型支
21、撑条件: 硬件平台, 软件环境, 理论基础 现有的算法设计模型: 共享存储的同步PRAM模型 共享存储的异步APRAM模型 分布式存储的BSP,LogP模型 考虑存储层次的UMH,DRAM(h)模型等,Company Logo,,4、复合计算模型的分层研究方法,4.2 第二层:并行程序设计模型 程序设计模型对程序员提供了一些计算机软/硬件的编程接口,隐藏了通信和任务调度的细节,在一定程度上简化了并行程序的编写,是面向程序设计者的。 程序设计模型主要确保并行算法使用某种程序语言可以正确的在并行计算机上编程实现。 程序设计模型三要素: 任务/数据划分 进程/线程分配 通信与同步,Company L
22、ogo,,4、复合计算模型的分层研究方法,程序设计复杂性度量单位:高级语言条数 程序设计模型支撑条件 高级语言 标准的程序库 编程接口框架 当今流行的并行程序设计模型: 主要有大粒度的进程级的消息传递模型,如MPI 中、细粒度的线程级的共享变量模型,如OpenMP 细粒度进程级的数据并行模型,如HPF。,Company Logo,,4、复合计算模型的分层研究方法,4.3 第三层:并行程序执行模型 程序执行模型是编译器设计人员与系统实现人员之间的接口 编译器设计人员决定如何将一种高级语言程序按某种程序执行模型转换成一种目标机器语言程序; 系统实现人员则决定该程序执行模型在具体目标机器上的有效实现
23、。 程序执行三要素: 机器性能参数 运行时系统行为 性能指标 程序执行复杂性度量单位:机器指令条数,Company Logo,,4、复合计算模型的分层研究方法,程序执行模型中的三种并行性: 任务级并行:考虑任务划分,任务映射,任务调度 数据级并行:考虑数据划分,迭代和循环分解 指令级并行:主要考虑如何高效发挥向量流水线,多发射,执行预取的效率等。 程序执行模型中性能评价标准: 执行时间 加速和效率 可扩展性 支撑条件: 软件支持:操作系统,编译器,工具环境 硬件支持:CPU系统,Memory系统,I/O系统 并行程序的性能是以下因素的综合体现:算法、实现、编译器、操作系统、处理器体系结构、网络
24、互连技术,因此实际程序的执行行为相当复杂。,Company Logo,,GPU vs CPU,CPU与GPU:战争才刚刚开始 ?由于“天河一号”使用了“CPU+GPU”的混合架构,其中GPU作为加速计算单元存在,但这种结构这无疑会增加系统的使用难度,毕竟现在能够利用 GPGPU的软件还比较少,需要用户自己去针对这一架构改编软件。目前来看,GPGPU的应用对于普通用户而言确实比较难,但是“天河一号”在体系结构设计上也已经考虑到这一点,其CPU与GPU的比例是1:1,这样,即便只使用CPU,也可以实现200万亿次的计算性能,与上海超算的曙光5000A相当。 GPU确实是高性能计算业内人士非常关注的
25、热门技术,曙光也在提供采用Nvidia或AMD/ATI的GPU的服务器产品,但根据一线用户的反馈来看,喜忧参半。一方面,GPU的并行计算性能很高,对于某些专业领域来说确实可以实现几十倍、上百倍的性能提升,比如石油勘探领域已经有证明,但另一方面,也有很多应用无法实现那么高的性能加速比。,Company Logo,,GPU vs CPU,跟CPU不同,GPU协同并行计算颠覆了传统的计算理念。对高性能计算来说,首要的是确保计算结果的正确无误,而GPU出身于图形处理卡,从设计结构上就是无法绝对保证计算结果的正确。而今天,我们的编程模型、算法模型都是传统的,因此只有按GPU的体系架构重新去编程才容易获得
26、高性能,否则可能得不偿失。 “CPU通用计算仍然是基础,同时我们更倾向于用龙芯来做协处理器。”聂华表示,根据计划,曙光公司将于2010年推出采用龙芯处理器的千万亿次超级计算机曙光6000,预计会落户于深圳的华南超算中心。与天河一号类似,曙光6000也将采用异构计算的结构,不同的是,天河一号用的是“英特尔CPU+ATI GPU”,而曙光6000将使用“普通CPU+国产龙芯处理器”。,Company Logo,,GPU vs CPU,双精度性能:GPU首先要过的一道坎 联想首席科学家祝明发教授表示,目前GPU的单精度性能很高,但双精度性能很小(大约是单精度性能的1/8-1/10),而高性能计算软件
27、很多都要求双精度性能。 实际上,国外TOP500和国内TOP100高性能计算机排行榜一般都按照双精度浮点计算性能来测试排序,按单精度性能算,“天河一号”的峰值性能高达 1206万亿次每秒,但Linpack测试性能却只有560.3万亿次每秒,正是受到GPU的影响,使得整个系统的效率偏低。正可谓,遇到需要单精度性能的应用,GPU能以一挡十,如虎添翼,而一旦碰到要求双精度的场合,就未免有些英雄气短了。,Company Logo,,CUDA vs OpenCL,CPU+GPU的混合架构,硬件并不是最主要的,关键还得看软件和编程环境。宝德公司产品经理陈齐旺也表示,CPU+GPU的方案比较大的挑战就是在程
28、序优化和编程方面。 由于绝大部分针对CPU编写的程序需要改编才能运行在GPU架构之下,需要软件人员重新学习,而现在Nvidia和AMD又分别主推CUDA和 OpenCL(Open Computing Language)编程环境,没有统一的标准,各自的软件互不兼容,也增加了用户的投资风险。 (如何具有统一标准的并行软件系统?) 从高性能计算发展的历史来看,专有技术的路会越走越窄,而标准化的技术会更有发展,如X86服务器取代RISC小型机,千兆以太网和Infiniband等商用网络取代了专有的网络,Linux取代了一些专有的UNIX操作系统等。目前曙光的服务器同时支持Nvidia和ATI的产品,但
29、CUDA这个编程环境只适合Nvidia自己的产品,因此,“OpenCL会在众多厂商的支持下越走越好。” 曙光公司 李宁,Company Logo,,High Speed Networking Present and Futures InfiniBand HUO Zhigang,InfiniBand is clearly becoming the de-facto interconnect technology for HPC 25% increase in InfiniBand systems on the Top500 list between June 2008 and June 2009
30、,Company Logo,,InfiniBand,Top500 systems listed according to their efficiency InfiniBand is the key element responsible for the highest systems efficiency The only standard interconnect solution in the top 100 highest utilization systems,Company Logo,,高性能计算系统管理的挑战,Company Logo,,效率提高的演化过程,Company Log
31、o,,云计算设立了用户服务水准的新标准 云计算是集群和网格的延伸和演化 动态和弹性 Private Cloud for HPC 已具备起飞的条件 可行性得到验证 技术走向成熟,Company Logo,,开发研制自主知识产权的高性能计算软件,高性能计算机和高性能预言性软件(程序)是高性能计算的两大重要支撑。高性能计算、特别是高端能力计算的应用需求不断对高性能计算机技术提出新的挑战,但高端技术的真正危机在于软件。,Company Logo,,百万万亿次计算机 艾级计算机,未来10年左右时间,世界上将研制出运算速度超过每秒百万万亿次(即10的18次方)的超级计算机。这个速度是目前世界上最快计算机的
32、1000倍。 宇宙的年龄是150亿年,换算成秒大概是百万万亿秒。也就是说如果从宇宙大爆炸的那一刻开始,每秒钟进行一次计算,一直到今天才能完成这个数量级的计算。 一些重大的科学研究,例如气候预报和灾害性天气预报以及飞行器的空气动力学计算等,都需要这个量级的计算。 超级计算机性能的发展遵循千倍定律,即每隔10年性能就会提高1000倍,而实际上发展的速度可能更快。 如果只使用当前的技术是无法研制出百万万亿次的计算机。他预测,10的18次方级别计算机其芯片之间应采用光互连。而研制10的21次方级别计算机将是2030年前后的事情,目前的半导体技术将不能支撑,或许会采用纳电子技术。再往后或许将产生量子计算技术。,Company Logo,,百万万亿次计算机 艾级计算机,未来超级计算机发展中,混合的架构将成为主流。但这种混合架构的计算机编程十分复杂困难,需开发更多的软件。 未来超级计算研制中,峰值速度其实只是性能的一个方面,可靠性、易用性、互联通信、能耗等问题将更加突出。 百万万亿次计算机需要数百万甚至上千万个CPU,那它的可靠性将成为最令人头疼的问题。 百万万亿次计算机的功耗将为几十兆瓦甚至几百兆瓦,如果不采取有效的降低能耗措施,一座城市的供电都不够一台超级计算机使用,而将来的超级计算机只能建在核电站旁边。,,Thank You !,