探秘“天河一号”超级计算机

  • 来源:微型计算机
  • 关键字:天河一号,计算机
  • 发布时间:2011-01-24 17:10
  国际超级计算大会(ISC,International Supercomputing Conference)每年都会发布两次世界上运算速度最快的计算机名单,名为Top500榜单。在2010年11月发布的最新Top500排行榜上,中国自主研发的超级计算机“天河一号”以每秒2507万亿次的计算性能荣登榜首,排在第三的是由曙光公司研制的“星云”超级计算机。从前十名的排名来看,中国两台计算机冲入前五标志着国内高性能计算在性能上已经达到国际先进水平。超级计算机的研制历程表明,我们要在高技术领域有所作为,必须走一条具有中国特色的自主创新之路。只有在核心技术、实际效益和人才培养上不断地实现新的突破,科学研究才有持续向前发展的动力。

  “天河一号”的强大性能

  随着我国经济持续不断地发展,科学技术、军事、医药研究等领域已经对千万亿次甚至更高性能的计算机提出了现实需求。“天河一号”超级计算机是我国近年来自主研发的具有国际领先水准的超级计算机,它的研制者仍然是国防科技大学,1983年面世的中国第一台亿次计算机“银河一号”同样诞生在这所大学。在中国传统文化里,“天河”是银河的别称,这台计算机的名字也暗示着我国超级计算机天津中心与“银河一号”计算机诞生地之间的合作。

  采用了“多阵列可配置协同并行体系结构”等7项关键创新技术的“天河一号”超级计算机,综合技术水平位居世界前列,具有高性能、高能效、高安全和易使用的特点。作为中国高技术研究发展计划(863计划)中的重大项目,“天河一号”超级计算机的设计始于2008年。

  2010年年底,这台由103个机柜组成,占地面积近千平方米,总重量155吨的庞大计算机安装到了中国两个国家级超级计算中心之一的天津中心,向国内外用户提供超级计算服务。

  “天河一号”将在资源勘探、生物医药研究、航空航天装备研制、金融工程、新材料开发等方面得到广泛应用。同时,国防科学技术大学随后在“天河一号”的基础上,对加速节点进行了扩充与升级,新的“天河一号A”系统已经完成了安装部署,其实测运算能力从上一代的每秒563.1万亿次倍增至2507万亿次,成为目前世界上最快的超级计算机!

  不过在这里读者肯定有一个疑问。对超级计算机而言,应该如何测量、确定它的性能呢?下面我们就来介绍一下目前国际流行的主流测试方式—Linpack。

  衡量超级计算机的性能指标

  在介绍Linpack之前,我们先来熟悉几个术语。

  对于超级计算机这种机群系统的主要性能指标有峰值速度、实测速度和运行效率等,计算速度一般以计算机系统“每秒执行的浮点运算次数”(Float ingpoint Operations Per Second,Flops)为单位,并定义了扩展单位MFlops(百万次浮点运算每秒)、GFlops(十亿次浮点运算每秒)、TFlops(万亿次浮点运算每秒)和PFlops(千万亿次浮点运算每秒)等单位,下面我们简单介绍一下这些术语。

  (1)峰值速度

  峰值速度通过计算得出,也称为理论峰值速度。其计算公式为[理论峰值速度(亿次)=节点机每个处CPU主频(MHz)×CPU每个时钟周期执行浮点运算的次数×CPU总数目/108]。例如,“天河一号”的峰值速度为1206万亿次每秒(TFlops)或1.206千万亿次每秒(PFlops)。

  (2)实测速度

  用评测软件对机群系统计算速度的实际测试值,目前国际上通用的超级计算机或高性能计算机评测软件是Linpack。这是一套采用求解线性方程组和特征值问题的方法来综合评价超级计算机浮点运算性能的基准测试软件。实测速度能更客观地反映系统的实际计算性能,对用户而言,实测速度比峰值速度更有意义。

  (3)运行效率

  一般是指超级计算机实测速度与峰值速度的比率。运行效率越高,表明系统具有的处理资源等经过合理的系统设计得到了更有效的发挥。相对于由处理器数量和性能决定的理论峰值速度而言,运行效率显然是一个能够更全面、科学地反映超级计算机性能和技术先进性的指标。

  Linpack是国际上最流行的用于测试高性能计算机系统浮点性能的测试软件。通过对高性能计算机采用高斯消元法求解一元N次稠密线性代数方程组的测试,评价高性能计算机的浮点性能。测试包括三类:Linpack100、Linpack1000和HPL。HPL即HighPerformance Linpack,也叫高度并行计算基准测试。天河一号采用的Linpack测试方法为主流的HPL。

  H PL 测试全称为高性能计算Linpack基准测试。Linpack最初的设计目的是为了帮助用户在解一个线性方程式时提供执行时间信息。第一个“Linpack基准”报告作为附录在1979年出现在Li npa ck用户指南上,其中包括了Linpack软件组件通常的用法途径的数据; 针对一个行列大小都为100的矩阵问题, 汇集了众多在当时得到广泛使用的计算机系统上(共计有23种)的结果。这样,用户就可以推断出解决他们的矩阵问题所需时间

  Linpack基准测试报告描述在求解计算密集型矩阵问题Ax=b时的性能,分为三个问题规模及相应的优化选项:100×100问题(内部循环优化),1000×1000问题(三级循环优化)以及一个可扩展并行问题。使用HPL基准测试一般需要和收集的信息包括:

  (1)Rpeak。系统的最大理论峰值性能, 用GFLOPS表示。

  (2)Nmax。获得最高GFLOPS值时的矩阵规模或问题规模。

  (3)Rmax。在Nmax规定的问题规模下,达到的最大GFLOPS。

  (4)NB。对于数据分配和计算粒度, HPL使用的块尺度NB。

  这些测试出来的数据可以作为判定超级计算机性能的指标。和所有PC上的理论测试软件一样,Linpack仅仅是一个测试软件,很难也不可能代表超级计算机的全部表现,因此这些数据仅表示超级计算机可能达到的理论值,以及其目前的运算能力。不仅如此,目前超级计算机本身的优化和性能调配依旧是一门发展不够完善的学科,再加上软件对硬件的优化以及并行计算的效率提升方面还有很大空间可以发展,因此超级计算机在实际应用中应该有怎样的表现、性能发挥情况如何,还需要实际应用才能证明。

  “天河一号A”硬件架构分析

  “天河一号A”在基本组织架构上和之前的“天河一号”比较相似,因此我们先来熟悉一下“天河一号”的架构和系统情况。

  “天河一号”组织架构

  “天河一号”系统共有5120个图形加速处理器(GPU)和6144个通用处理器(CPU),峰值速度达1206TFlops, 内存总容量为98TB,Linpack实测性能为563.1TFlops。其计算量若由一台微型计算机来执行大约连续计算160万年才能完成。“天河一号”是采用并行体系结构的超级计算机,采用的是AMD的图形核心。其特殊之处在于多阵列、可配置、协同并行,实现了“CPU+GPU”的异构协同计算,提高了计算效能。

  “天河一号”超级计算机采用了多阵列、可配置、协同并行体系结构,系统由计算阵列、加速阵列和服务阵列组成,其中计算阵列、服务阵列分别由采用通用处理器(CPU)的计算节点机、服务节点机构成,加速阵列则由基于图形加速处理器(GPU)的大量加速节点机构成,实现了“CPU+GPU”的异构协同计算,提高了计算效能。此外,“天河一号”采用了便于维护和高密度的刀片式(Blade)结构,每个机位都有几十个可热插拔的刀片,每个“刀片”实际上就相当于一块计算机主板,组成一台配置有处理器、内存等模块的节点计算机。

  GPU+CPU的理论基础架构

  如果“天河一号”仅使用传统处理器,每一个处理器只有100GFLOS的计算能力,要想达到与原来同样的性能的话至少需要50000颗处理器。而现在使用“CPU+GPU”的异构并行架构之后系统功耗也会从原来的1200万瓦特减少为404万瓦特,在提倡绿色环保的主题下,这样节省的电力够5000多居民使用一年。由于CPU和GPU的配合,可以把传统中数据密集的大规模数据并行的计算交给GPU来运行,CPU可以计算逻辑性较强的数据结构比较复杂的计算,利用CPU和GPU的协同性工作,互相做自己最擅长的工作,使得整个系统的性能得到了更高。CPU采用了复杂的控制逻辑和分支预测,以及大量的缓存来提高执行效率,这样可以使执行单元以很低的延迟获得数据和指令。而对延迟更加敏感的GPU侧重于提高整体的数据吞吐量。设计目标的不同使得CPU和GPU在架构和性能上有巨大差异。具有强大处理能力和高带宽的GPU弥补了CPU在计算方式上性能不足的缺点,在降低成本和性价比方面具有巨大优势。

  硬件设计中的最大难点是如何将庞大数量的处理器通过网络把节点集合起来,并使得他们可以高速并行的协同工作。“天河一号”并不是简单的拼凑CPU和GPU,让这么庞大的不可思议的硬件协作起来,并让它有惊人的运算能力是必须拥有良好的网络连接的,这里的网络互联芯片完全是中国自主研发的处理器。

  “天河一号”其他子系统分别采用如下的结构:并行I/O存储子系统采用全局分布共享并行I/O系统结构,磁盘总容量为1PB;互连系统采用两级QDRInfiniband架构,每个通信链路的带宽为40Gbps;监控诊断子系统采用分布式集中管理架构,具有实时的系统监测、调控和诊断等功能。

  “天河一号A”架构介绍

  “天河一号”改进型“天河一号A”将理论运算能力提升至每秒4701万亿次,实测运算能力提升至每秒2507万亿次的高度,荣登世界超级计算机排行榜榜首。它是一套开放式访问系统,可用来执行大规模科学计算。

  升级版的“天河一号A”则改装了14336颗Intel Xeon X5670 2.93GHz六核心处理器,7168块NVIDIA Tesla M2050高性能计算卡,还有2048颗我国自主研发的飞腾FT-1000八核心处理器,总计20多万颗处理器核心。内存总容量为262TB,链路双向带宽为160Gbps,共享磁盘总容量2PB,Lustre全局分部共享并行I/O结构,同时还更换为专有互联网络进行通信。计算机柜为112个,服务机柜8个,通信机柜6个,I/O存储机柜14个。

  在经过改装后的“天河一号A”的Linpack实测性能飙升至2.507PFlops(2507万亿次),峰值性能更是高达4.7PFlops(4701万亿次),分别是上代的4.4倍、3.9倍,而且得益于Fermi架构的Tesla GPU高性能计算卡,“天河一号A”的系统效率(最大性能与峰值性能比值)明显提升,从原来的46.7%升至53.3%。

  自主研发的飞腾FT-1000八核心处理器

  “天河一号A”研制之初,除使用了进口CPU和GPU之外,其他核心器件、互联芯片均为我国自主研制。随着科研人员的不懈努力,如今“超高性能CPU”这道难题也迎刃而解。国产飞腾FT-1000八核芯片,由国防科技大学专门为“天河”系列计算机量身定制,已达到了当今世界主流。据了解,安装飞腾芯片后,不仅“天河一号A”的峰值运算速度将在目前每秒1206万亿次的基础上有所提升,而且其实际运算速度也将提高到每秒千万亿次。同时,由于关键芯片实现完全“国产化”,也将使“天河一号A”在确保信息安全方面拥有更多的保证。

  “天河一号A”高性能关键—GPU计算卡

  “天河一号A”占据了HPC TOP500的第一,那么它制胜的关键是什么?那就是GPU部分采用了NVIDIA Tesla M2050/M2070计算模块解决方案,核心威力在于会以二十分之一的功耗与十分之一的成本即可实现超级计算能力,从而为部门集群与数据中心的部署提供了全球最高的计算密度。至于Tesla M2050与M2070计算模块,它们是基于代号为“Fermi”的GPU核心,双精度性能超过四核x86 CPU十倍。值得一提的是它拥有ECC存储器,保证了数据的一致性。在进行GPU计算时,所有的标准优势和最高可靠性都可以实现,无缝紧密地集成了系统监控与管理工具,其中包括各种各样的架上型与刀片式系统。此外,这些系统还包含了用户所需的远程监控与远程管理功能,从而可满足高性能计算与大型数据中心以及横向扩展等部署需求。

  “天河一号A”软件架构分析

  “天河一号A”的软件系统包括操作系统、编译系统、资源管理系统和并行程序开发环境等。操作系统采用面向高性能并行计算的64位Linux,支持功耗管理、虚拟化和安全隔离等。编译系统支持C、C++、For t ran和Java等的并行编程,并提供了异构协同编程框架以有效发挥CPU与GPU的协同计算能力。资源管理系统可提供整个系统的资源统一视图,能实现多策略资源分配与作业调度,有效提高资源利用率和系统吞吐率。

  从世界的范围来看,超级计算机的应用目前几乎已涉及科学技术、工业设计、金融和经济管理以及军事国防等相关的各种领域,例如与人们生活密切相关的天气预报和气候模拟、地震预报和监测等方面的应用,还有环境监测和分析、石油等自然资源的勘探,生物及医学领域的基因与遗传工程、药物研制、医学影像的分析处理,航空航天领域的飞行器设计,军事武器的研制和模拟试验,还有基础科学研究等领域的大规模数值计算。除了具有超强大的科学计算能力之外,超级计算机具有高效的信息服务和事务处理能力,因此也可以用作信息服务、事务处理与决策支持等系统的高性能服务器。

  未来高性能计算展望

  虽然诸如“天河一号A”这样的产品占据了HPC Top500的第一,但从榜单来看,以CPU为主的计算机仍然是绝对的主流。造成这种局面的原因有以下几个:GPU高性能运算的发展掀起了一股热潮,它使得很多应用领域的处理速度得以大幅度提升,但是它的编译技术仍然是HPC的核心问题,如果一个应用在GPU高性能服务器上运行,速度可以提高100倍,那么使用者一定会买,但是与此同时如果说串行移植需要三年的时间,也许使用方就会考虑使用的方便性和可靠性。同时GPU的普及也同样需要时间,这样的局面才使得HPC主流仍然是以CPU为主。随着GPU的不断发展,其高性能运算的编译技术不断通用,将使得GPU+CPU异构形式的HPC不断发展。“天河一号”一举夺得了中国TOP100超级计算的排名的桂冠,闯入全球TOP500强的前五位,让人们见到了GPU计算的威力所在。完全可以说,GPU通用计算已经是一个不可阻挡的潮流,纵核计算是将来的一个大方向,那么在未来的HPC市场,GPU通用计算又将如何发展呢?

  GPU本身也具备了高度并行的科学计算能力,在许多计算的领域中,微观体彼此相对独立,包括其计算每个微观体的计算,极少有相互作用,不需要依靠上一步的计算结果才能开始下一步运算的模式,如果使用GPU,它的的高运算能力将得到充分地体现。目前GPGPU已经有不少的HPC应用软件投入了使用,并且都取得了不错的相对于传统CPU计算的加速比,最高达到了149倍(金融模拟)、最低也达到了18倍(视频转换),由此可见GPU计算的威力。因此,未来CPU+GPU混合计算的趋势将是最终替代传统的纯CPU解决方案。

  另一方面,从全球的To p500强来看的话,采用GPU混合计算系统很少见,而中国现在比较热衷于GPU异构计算系统的开发,而且越做越大,排名第一的“天河一号”和排名第三的“星云”都采用了GPU异构计算架构。这是因为高性能计算在全球的主要行业应用和中国略有不同。从商业角度来说制造、金融,华尔街是Intel非常大的高性能计算的客户,包括气象预报。中国除了石油、气象包括基因研究,其他一些应用已经在兴起。

  在GPU异构计算系统的发展过程中,毫无疑问中国占据了领先地位。不仅仅是因为应用了GPU,在系统设计以及架构的安排上也是发挥了一定的作用,在HPC方面,Intel的观点就是对过去的一种延续,一步一步的延续到未来。但是对于NVIDIA公司来说,在中国前三大HPC系统就是因为采用了新的技术,把这个优势应用到最好。只是现在基于CPU+GPU的异构架构的程序还很少,不到传统架构软件的10%,这也说明了基于CPU+GPU架构的软件市场潜力还很大。在新一轮的变革中,中国跟世界又站在了同一起跑线上面,谁先开发出好的应用软件,谁就可以站在世界的前列。
……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: