文档详情

高性能计算技术与应用

第***
实名认证
店铺
DOCX
26.31KB
约9页
文档ID:31536077
高性能计算技术与应用_第1页
1/9

高性能计算技术及其应用 作者:迟学斌 赵 毅(中国科学院计算机网络信息中心 北京 100080)摘要 简要介绍了当前高性能计算机、并行算法、并行编程环境和高性能计算应用的国际研究现状和发展趋势,阐述了近几年中科院高性能计算环境建设和高性能计算应用的发展情况,最后对我院发展高性能计算技术及应用给出了几点思考关键词 高性能计算技术,并行算法,并行编程环境高性能计算是计算机科学的一个分支,研究并行算法和开发相关软件,致力于开发高性能计算机随着信息化社会的飞速发展,高性能计算已成为继理论科学和实验科学之后科学研究的第三大支柱在一些新兴的学科,如新材料技术和生物技术领域,高性能计算机已成为科学研究的必备工具同时,高性能计算也越来越多地渗透到石油工业等一些传统产业,以提高生产效率、降低生产成本金融、政府信息化、教育、企业、网络游戏等更广泛的领域对高性能计算的需求也迅猛增长1 国际研究现状和发展趋势1.1 高性能计算机电子计算机在诞生之初主要就是为科学计算服务的到 20 世纪 60 年代,随着技术的成熟,计算机开始走向商业领域,且应用范围越来越广为有别于“通用计算机”,专门针对科学计算进行优化设计的计算机开始被称为“高性能计算机”(HPC)。

1.1.1 高性能计算机发展历史20 世纪 70 年代出现的向量计算机可看作是第一代 HPC,通过在计算机中加入向量流水部件,大大提高了科学计算中向量运算的速度其中较著名的有 CDC 系列、CRAY 系列、NEC 的 SX 系列和中国的银河一号及中科院计算所的 757 计算机80 年代初期,随着 VLSI 技术和微处理器技术的发展,向量机一统天下的格局逐渐被打破,“性/价比”而非单一性能成为衡量 HPC系统的重要指标90 年代初期,大规模并行处理(MPP)系统已开始成为 HPC发展的主流,MPP 系统由多个微处理器通过高速互联网络构成,每个处理器之间通过消息传递的方式进行通讯和协调代表性系统有 TMC 的 CM-5、Intel Paragon、中科院计算所的曙光 1000 等较 MPP 早几年问世的对称多处理(SMP)系统由数目相对较少的微处理器共享物理内存和 I/O 总线形成,早期的 SMP 和 MPP 相比扩展能力有限,不具有很强的计算能力,但单机系统兼容性好,所以 90 年代中后期的一种趋势是将 SMP 的优点和 MPP 的扩展能力结合,发展成后来的 CC-NUMA 结构,即分布式共享内存。

其代表为Sequent NUMA-Q、SGI-Cray Origin、国内的神威与银河系列等在发展CC-NUMA 同时,机群系统(Cluster)也迅速发展起来机群系统是由多个微处理器构成的计算机节点通过高速网络互连而成,节点一般是可以单独运行的商品化计算机机群系统比 MPP 具有更高的性价比,其代表是 IBM SP2,国内有曙光 3000、4000,联想深腾 1800、6800 等[1,3]1.1.2 高性能计算机研究现状与发展趋势每年 6 月和 11 月发布的 TOP500 一直是全球 HPC 领域的风向标[4],排行榜的变化折射出全球 HPC 在技术和应用方面的研究现状和发展趋势第28 届全球 TOP500 HPC 排行榜于 2006 年 11 月 14 日在美国召开的 SC06 大会上正式对外发布,最新排行榜反映出如下一些新的变化1)总体性能趋势TOP500 组织称,最新全部 500 套系统的总体计算性能将达到 3.53 千万亿次每秒(Pflops),而半年前只有 2.79Pflops,一年前是 2.30Pflops能够进入 TOP500 HPC 系统的 Linpack 性能已从半年前的2.026 万亿次每秒(Tflops)上升到 2.737Tflops。

而进入前 100 位的系统Linpack 性能则从半年前的 4.713Tflops 上升到 6.619Tflops2)美国霸主地位牢不可破, TOP10 美国占 7 套美国仍然是 HPC 的最大用户,在研发和应用领域都遥遥领先此次 TOP500 排行榜中,一共有309 套安装在美国,美国在 HPC 领域的综合发展水平依然是全球第一,其全球霸主地位仍然牢不可破欧洲有所复苏,共有 92 套系统,超过亚洲的 79 套,重回第二位在欧洲,英国是最大用户,拥有 30 套系统,其次是德国,拥有 18 套亚洲最大的用户是日本,拥有 30 套,而中国则从半年前的 28 套减少到 18 套3)厂商:IBM 和 HP 是最大赢家当前 TOP500 中各个性能档次的大多数系统都来自 IBM 和 HPIBM 仍然是 TOP500 的领导者,所占份额为47.2%HP 为第二大厂商,占 31.6%,但 HP 此次未能进入 TOP10份额超过3%的其它制造商为:SGI(4.0%)、DELL(3.6%)、CRAY(3.0%),这三大厂商都有系统入选 TOP104)体系结构:Cluster 大行其道,MPP 不容忽视工业标准化的机群系统 Cluster 仍占据 TOP500 HPC 排行榜的垄断地位,361 套系统,占 72.2%。

绝大部分的机群系统来自 IBM 和 HP,主要面向工业和商业的低端应用领域采用星群(Constellations)结构的系统为 31 套,比半年前的 38 套有所减少而 108 套面向高端市场的 MPP 结构系统比半年前的 98 套有所回升5)处理器:AMD 大获增长,Inetl 仍是最大赢家目前,TOP500 共有263 套系统采用英特尔处理器,占 52.6%,比一年前的 333 套(66.6%)有较大幅度下降形成鲜明对比的是,AMD 的皓龙系列处理器从一年前的 56 套(占11.20%)增加到现在的 113 套(占 22.6%),并首次超过 IBM 的 Power,成为现在 TOP500 中应用最多的第二大处理器另有 91 套系统采用 IBM 的 Power 处理器(占 18.2%),而一年前只有 72 套(占 14.4%)另外,双核处理器也已获广泛应用已有 76 套系统采用皓龙双核 CPU,31 套采用了英特尔最新推出的 Woodcrest 双核至强6)互连网络:InfiniBand 增长迅速尽管半年前有 256 套系统采用千兆以太网,而现在只有 213 套,但千兆以太网仍然是用得最多的内部系统连接技术。

Myricom 公司的 Myrinet 从 87 套减少到了 79 套相反,InfiniBand 技术获得了迅猛增长,从半年前的 36 套增加到现在的 78 套7)操作系统:Linux 成为首选Linux 目前已成为 HPC 的首选操作系统当前 TOP500 排行榜中有 376 套系统使用了 Linux 操作系统,比重为75.2%,而 2001 年仅有 39 套;相比之下,此次只有 86 套使用 Unix 操作系统,而 2001 年是 443 套短短几年时间,TOP500 中操作系统的格局发生了翻天覆地的变化网络化将是 HPC 最重要的趋势,网格(Gird)已成为高性能计算一个新的研究热点网格将分布于全国的计算机、数据、存储设备、用户、软件等组织成一个逻辑整体,各行业可以在此基础上运行各自的应用网格1.2 并行算法和并行编程环境并行计算是提高计算机系统计算速度和处理能力的一种有效手段,它的基本思想是用多个处理器来协同求解同一问题,即将被求解的问题划分为不同的时间段,在某一个时间段内分解成若干个部分,各部分均由一个独立的处理机来完成1.2.1 并行算法算法是求解问题的方法和步骤,而并行算法就是用多台处理机联合求解问题的方法和步骤。

并行算法执行过程是将给定的问题首先分解成若干个尽量相互独立的子问题,然后使用多台计算机同时求解它,从而最终求得原问题的解并行算法作为并行应用开发的基础,在并行应用中具有举足轻重的地位[2]从历史上看,20 世纪 70 年代末和 80 年代初是并行算法研究的顶峰时期,最著名的成果是递归问题的向量化随着多向量处理并行计算机(如CRAY Y-MP,YH-2)的出现,既要考虑多处理机间的任务级大粒度并行,又要考虑单处理机上向量级细粒度并行的算法在 80 年代初期和中期比较流行基于 SIMD 并行计算机设计的并行算法在 80 年代中期较热门,但因缺少通用性,过分依赖机器,程序设计复杂,随着 80 年代后期高性能计算机的发展,很快被淘汰目前,并行算法的设计以 MIMD 类为主流,要求具有可扩展性和可移植性90 年代中期后,并行算法研究渐渐面向实际而内容有所拓宽,不但研究并行算法的设计与分析,同时也兼顾到并行机体系结构和并行程序设计近几年来,随着半导体器件工艺水平的提高以及计算技术和通信网络的迅速发展,双 CPU 或 4CPU 的高档机已随处可见,HPC 的普及,也给并行算法的研究带来新的机遇同时,近几年来由于硬件技术的飞速发展,使得拥有成千上万个 CPU 的 HPC 相继研制成功,如何充分有效地利用如此巨量的CPU,成为并行算法研究面对的一个极富挑战性的问题。

1.2.2 并行编程环境当前,比较流行的并行编程环境可分为 3 类:消息传递、共享存储和数据并行它们的主要特征如表 1 所示1)消息传递在消息传递并行编程中,各个并行执行的任务之间通过传递消息来交换信息、协调步伐、控制执行消息传递一般是基于分布式内存的,但同样也适应于共享内存的并行计算机目前,大量并行程序采用的都是基于消息传递的并行编程方式基于消息传递的并行编程环境中,最流行的是 PVM(Parallel Virtual Machine)和 MPI(Message Process Interface)PVM[5]是由美国的 Oak Ridge 国家实验室、Tennessean 大学、Emorg 大学、CMU 大学等联合开发而成,能够将异构的 Unix 计算机通过异构网络连接成一个“虚拟”的并行计算系统,为其上运行的应用程序提供分布式并行计算环境目前几乎所有的并行计算系统都支持 PVMMPI[6]是一种基于消息传递的并行编程接口,而不是一门具体的语言,目前已发展成为消息传递模型的代表和事实上的工业标准1997 年 7 月在原来 MPI-1 的基础上推出了 MPI 的扩充部分 MPI-2,MPI-2 主要扩充了 3 个方面:并行 I/O、远程存储访问和动态进程管理。

MPICH 是 Linux 平台下最重要的一种 MPI 实现,是一个与 MPI 规范同步发展的版本LAM(Local Area Multicomputer)是 Linux 平台下另一免费的 MPI 实现所有的并行计算机制造商都提供对 MPI 的支持2)共享存储共享存储并行编程主要利用添加并行化指令到顺序程序中,由编译器完成自动并行化共享存储模型仅被 SMP 和 DSM 并行计算机所支持共享存储的编程标准包括 Pthreads、X3H5 和 OpenMP 等,其中OpenMP 是最常用的共享存储并行编程方式OpenMP[7]是一组指令与所支持的运行时库例程的集合,用来支持多线程应用的编程Intel、IBM、HP、Sun、SGI 等厂商都提供对 OpenMP 的支持OpenMP 使用简单,通过少量指令,程序员就可将串行程序顺利地演化成并行程序,但要求编译器必须能够支持 OpenMP3)数据并行数据并行编程指的是将相同的操作同时作用于不同的数据,从而提高问题求解速度数据并行提供给程序员一个全局的地址空间,所采用的语言本身就提供有并行执行的语义,程序员只需要简单地指明执行什么样的并行操作和并行操作的对象,就实现了数据并行的编程。

数据并行很早就被应用于向量计算机,可高效地解决大部分科学与工程计算问题但对非数值计算类问题,则难以取得较高的效率目前,数据并行面临的主要问题是如何实现高效编译,只有具备。

下载提示
相似文档
正为您匹配相似的精品文档