当前位置:文档之家› 简述天河一号架构

简述天河一号架构

透过天河一号看超级计算机技术 在 去年10月底,长沙举办的中国高性能计算学术年会上,国防科技大学研制的千万亿次超级计算机“天河一号”成为焦点,这是我国国内计算能力最高的超级计算 机,而且标志着我国超级计算机的研发能力成功实现了千万亿次计算的跨越。超级计算机不仅体现了一个国家战略性高技术的发展水平,也是与科技创新、国计民生 密切相关的重要基础设施。超级计算机的各种应用,实际上会以不同的方式影响到我们每个人,这些似乎遥不可及的超级计算机实际上离我们“非常近”。

你应该知道的超级计算机 目前各种超级计算机的高速处理能力基本上都是利用并行体系结构实现的,并行计算(Parallel Computing)已成为提高处理性能的关键技术之一。简单地讲,并行计算技术就是用同时运行的多个处理机或计算机来处理同一任务,从而大幅度提高任务 的处理速度、缩短了任务的处理时间。

超级计算机的五大形态 在超级计算机技术的发展历程中,先后出现过多种超级计算机并行体系结构,主要有如下5种。

●并行向量处理(Parallel Vector Processing,PVP)系统

并行向量处理结构 采用一定数量的、并行运行的向量处理器和共享式内存(Shared Memory,SM)结构的计算机系统。PVP系统的SM结构,也就是采用高带宽的交叉开关将各个向量处理器与其共享的内存模块连接。向量处理器 (Vector Processor)的一条指令能够同时对多个数据项(向量矩阵)执行运算,而一般的通用CPU属于标量处理器(Scalar Processor),每次只能对一个数据项进行处理。其代表机型有Cray XMP、Cray YNP、NEC SX2、我国的银河一号和二号等。 ●对称式多处理(Symmetric Multi Processing,SMP)系统 对称式多处理结构 采用一定数量、并行运行的微处理器和共享式内存(SM)结构的计算机系统,各处理器通过系统总线或交叉开关连接共享的内存模块,可“均等”或“对称”地共 享内存和其它系统资源并由同一操作系统管理,提高整个系统的数据处理能力,因此SMP属于“一致性内存访问”(Uniform Memory Access,UMA)方式,SMP的代表机型有IBM R50、SGI Power Challenge、Sun SPARC Center 2000、曙光一号等。

●分布式共享内存(DistributedShared Memory,DSM)系统

分布式共享内存结构 由一定数量的并行处理节点(Node)组成,每个节点都是一个相对完整的计算单元(配置有处理器和内存模块),各节点通过高速网络互连,系统由单一操作系 统管理,分布于各个节点的全部内存被统一编址,可由所有用户共享。与SMP不同,DSM对内存资源的共享是非对称的,因为每个节点访问本地内存与远程节点 内存时的延迟和带宽是不同的,故DSM系统属于“非一致性内存访问”(Non-Uniform Memory Access,NUMA)方式,其代表机型有SGI Origin 2000/3000、Sequent NUMA-Q、HP/Convex SPP 1600、银河三号和神威一号等。 ●大规模并行处理(Massive Parallel Processing,MPP)系统 大规模并行处理结构 由成百上千计算节点组成的并行处理计算机系统,每个计算节点配置一个或多个处理器,各个节点相对独立,有各自独立的内存模块和操作系统。MPP系统的特点 是可以获得很高的峰值运算速度,且由于系统的内存分布于各个节点,所以MPP属于“分布式内存”(Distributed Memory,DM)结构,具有易扩展性。MPP的易扩展性使其能够与SMP、DSM等结合,于是出现了SMP-MPP(各个MPP节点采用SMP并行多 处理机)和DSMMPP(各个节点采用DSM并行多处理机)等复合型超级计算机系统。MPP系统的代表机型主要有IBM SP2、Intel Paragon、CRAY T3E、曙光1000等。

●机群式超级计算机系统

机群式超级计算机结构 上世纪90年代中后期,随着Intel芯片等造价低廉的微型计算机组件的出现和网络技术的迅速发展,使采用普通微型机或工作站作为计算节点并采用高速网络 互连的并行计算系统成为了可能,超级计算机体系结构由此开始迈入工作站机群(Cluster of Workstations,COW)或工作站网络(Network of Workstations,NOW)时代。2000年以后,又出现了节点采用商用级处理器的机群系统(Cluster),以及采用SMP并行机作为计算节 点的SMP机群或星群(Constellation)。从内存访问方式上看, 机群系统采用了与MPP相同的分布式内存(DM)结构,因而具有很高的可扩展性。机群系统的代表机型有洛斯阿拉莫斯国家实验室的Avalon Cluster、ASCI Blue Mountain、深腾1800/6800和曙光2000/3000等。

当今主流:机群式超级计算机概况 机群式超级计算机系统具有结构灵活、通用性强、安全性高、易于扩展、高可用性和高性价比等诸多优点,所以目前新建的超级计算机大都使用这种结构,只不过在具体采用的节点机型、拓扑结构及互连技术会有所不同。

机群式系统的基本组成 高性能计算专业网站TOP500的全球超级计算机500强排名中,机群式系统所占比率连年上升,现已达到83%以上。机群是采用高速网络将大量的节点相互 连接起来的系统,每个机群节点都是一个配置有处理器、内存、I/O设备、网卡和操作系统的计算机,各个节点以协同方式并行完成计算任务。机群系统与MPP 一样,也是属于分布式内存结构,因而具有很强的可扩展性。具体而言,机群系统主要由节点计算机、高速互连网络、操作系统、单一系统映像等中间件、并行编程 环境和应用程序等部分组成。

●机群节点的计算机 机群节点可以灵活采用高性能的微型机、工作站或SMP并行机等,节点机处理器的处理性能是影响机群系统整体性能的一个最关键的因素。理论上节点机处理器的主频和浮点运算速度是决定机群计算速度的主要因素(见后面介绍的峰值速度计算公式)。

由于图形加速处理器(GPU)具有很强的浮点和向量(矩阵数组)计算能力,所以在机群中采用一定数量以GPU作为处理器的计算加速节点,将能提升机群的性 能,例如“天河一号”就采用GPU加速节点并提升了GPU的计算效率,实现了CPU与GPU融合的异构协同计算。

●机群的互联技术 机群系统一般可以采用高带宽的以太网、异步传输模式(ATM)、可扩展一致性接口(SCI)、QsNet、Myrinet和InfiniBand等网络技 术实现节点机的互连,其中千兆/万兆级以太网、Myrinet和InfiniBand使用比较广泛,尤其是后者InfiniBand互连技术也被称为“无 限带宽”InfiniBand最初由Mellanox公司提出,是一种基于输入输出总线的通用宽带互连技术,原本是为了解决因PCI等并行总线结构速度较 慢而导致的服务器CPU输入输出瓶颈问题,这种瓶颈制约了服务器与存储设备、网络节点、其它服务器之间的通信能力,但由于InfiniBand非常适合于 高性能计算系统,所以后来便成为一种广泛应用于超级计算机系统的开放性高速互连网络技术标准。

InfiniBand规范中定义了交换机、通道适配卡、线缆和子网管理器等标准设备,InfiniBand交换机在各个节点、各种设备之间建立点对点的串 行连接并进行流量控制,可有效避免数据流量的阻塞。基于交换方式的点对点的串行连接使InfiniBand网络具有极强的可扩展性,一个网络可有数千个子 网(Subnet)组成,每个子网有一个子网管理器、可支持上万个节点,这种子网架构实现了更有效的分散管理。 InfiniBand体系架构模型 InfiniBand采用串行双向数据传输方式,利用多路复用信号传输技术可实现并发的多通道数据传送,单个InfiniBand连接通道的线缆由4根信 号线组成、可达2.5GB/s的基本传输速率,通过增加信号线数目并将多个通道组合成一个端口,就能使传输带宽成倍增加,最新的4倍数据率 (QDR)InfiniBand已达到了10Gb/s的通道基本传输率,在1、4、12倍通道连接模式可使传输带宽分别达到10Gb/s、40Gb/s、 120Gb/s的传输带宽。目前,InfiniBand在超级计算机的应用日益广泛,例如2009 China HPC TOP 10排名中有5套超级计算机都采用了InfiniBand互连技术,包括排名前2位的“天河一号”和“曙光5000A”。

机群的软件系统 超级计算机除了具备非常强大的计算能力,对操作系统以及软件的要求也比较高。 ●节点机操作系统 操作系统为机群提供支持环境,决定了节点机之间的交互方式,应具备较强的适应性和稳定性,机群采用的操作系统主要有Linux、Sun Solaris UNIX和Windows NT等。其中,Linux因具有支持多种硬件平台、对系统资源的低占用率、开放代码、高安全性、稳定性和可靠性等诸多优点,特别是Linux提供了大量节 点并行计算系统所需的标准消息传递机制(如后面介绍的MPI等)和高性能网络支持,使其在越来越多的机群系统中被广为采用。

●SSI和HA等中间件 机群系统是由大量节点计算机组成的并行处理系统,但从机群用户和程序员的角度而言,最好能使结构复杂的机群像一台计算机一样便于使用和管理,具有单机式的 管理控制、单一的地址空间和单一的文件系统等特性,以有效降低用户操作和程序员编程的复杂度,即具有“单一系统映像”(Single System Image,SSI)特性。

SSI由相应的机群中间件实现,所谓的机群中间件(Middleware)是指在上层连接各个节点机的操作系统、实现对机群系统资源和网络通信等进行有效 控制和管理的软件系统或服务程序, 并且能提供便于用户管理和配置系统的图形化操作界面的接口。除了SSI之外,机群一般还有“高可用性”(High Availability,HA)管理等中间件,HA用来快速检测和排除机群系统的故障点,以确保系统能可靠地连续运行。

●并行编程环境 适用于机群、MPP等分布式内存结构的并行编程环境,通常可由“并行虚拟机”(Parallel Virtual Machine,PVM)或“消息传递接口”(Message Passing Interface,MPI)等来实现。利用PVM工具,可以把互连的各种计算机虚拟为一台并行机,从而为编程人员提供了一个便于管理和使用的编程环境, 而由PVM的编译库对程序进行转换,将程序的计算任务分解为若干子任务后合理分配到各个节点机进行并行处理。MPI是一种基于消息传递的并行计算规范,消 息(Message)一般包括数据、指令或其它各种控制信号等,MPI提供了一套消息传递库,基于消息传递的并行编程实际上就是通过调用MPI的消息传递 库函数实现节点机

相关主题