HPC系统架构

 

            High Performace Computing(简称HPC)系统泛指用于中大规模科学/工程计算的计算机系统。目前的主流架构有SMPPVPcc-NUMACluster等几种基础系统架构。实际系统有可能同时采用多种架构。

 

cc-NUMA (cache coherent Non-Uniform Memory Access)

该系统架构源于二十世纪八十年代后期斯坦福大学的一个研究项目,于二十世纪九十年代有相应的商用系统出现。SGI的系统代表了cc-NUMA的最高水平,其最大规模的系统可以容纳1000CPU,而SMP系统通常最多容纳64CPUcc-NUMA可以为用户提供类似于传统SMP系统的单一操作系统环境(SSI)SMP的用户不用改变工作习惯。不过,相比较SMP系统,该架构可以提供更大的系统扩展能力。与SMP架构不同,系统的内存虽说是统一编址的,但对于某个具体的CPU来说,存取时间是不一样的,内存分为本地和远端两种,本地的存取时间最短。

 

1、一种8路的cc-NUMA系统

 

    典型系统

    SGI  Altix 3700(最多512Intel Itanium2 CPU

    SGI  Origin 3000(最多超过1000MIPS CPU

 

SMP (Symmetrical Multi-Process)

    该系统架构比较常见,现在市面上见到的PC服务器/工作站或Unix工作站/服务器大多数属于该架构,如下图所示。

28SMP系统

 

    系统内每个CPU存取内存的时间是一样的,所以称为SMP--对称多处理系统。当系统增加CPU时,每个CPU平等地竞争使用内存。从性价比的方面考虑,市面上中低端系统CPU数目少于4个,可以扩展至1632乃至64CPU的系统已经属于SMP高端系列。

    随着计算机技术的发展,多核CPU系统已经非常普及了,比如说基于Intel Core2 DuoPC机也可以说是微型的SMP系统。

    另外,采用AMD Opteron CPU的多路PC服务器可以说是SMP系统的一种改进版本。因为,Opteron CPU提供了NUMA技术,我们很难说该系统是一个SMP系统,而只能把其称作共享内存计算机系统。

    SMP架构的系统非常收市场欢迎,产品涵盖了x86RISC CPUEPIC CPU搭建的系统,世界一流SMP系统生产商有IBMHPSUNSGI,其它层次的厂家不计其数。SMP产品分为两大阵营 --- a. 传统Unix服务器/工作站,通常需要安装厂家自己的Unix操作系统,互相不通用; b. x86 PC服务器/工作站,一般安装WindowsLinuxx86 PC服务器最流行,世界一流的计算机公司,例如,IBMHPSUNSGI均推出了该类型的产品。

 

    典型系统

    IBM P5-595(最多64Power5+ CPU

    HP Integrity   (最多64Intel Itanium2 CPU

     SUN Sparc Enterprise M9000  最多3264SPARC64 VI CPU

 

 

PVP(Parallel Vector Process)

向量计算机是相对于标量计算机系统而言的,我们前面谈及的各种CISCRISC类型的计算机均是标量计算机。向量计算机的发展历史比较长,与其它架构的系统不同,Vector CPU硬件和指令集针对科学计算进行过专门优化设计,比如矩阵运算,标量计算机一条指令通常仅能够完成一个矩阵元素的运算,而向量系统则能够实现一条向量指令完成一批元素的运算。因此,在目前所有架构中,Vector系统的科学计算效率是最高。但是,随着计算机技术的发展,特别是Cluster系统的流行,现在Vector系统的发展空间变得非常狭窄。采用通用CPU和高速互联网络搭建大规模Cluster系统成为当今世界的主流。

 

典型系统

NEX SX-6  地球模拟器 (5120SX-6 CPU)

   SX-8系统  最多4096SX-8 CPU

CRAY X1E系统  最多8192X1E CPU

 

 

HPC Cluster

    Cluster的种类比较多,我们这里仅仅指HPC Cluster。如下图所示,HPC Cluster是指通过软件和网络将多台独立的计算机组建成为一个统一系统;通过将一个大规模计算任务进行分割并分发至内部各个计算节点上来实现对中大规模计算任务的支持。

    Cluster的组建方式非常灵活,能够支持异构节点(例如,32bit64bitlinuxUnix、不同硬件配置的节点等)

 

3Cluster系统架构