1高性能计算机体系结构的研究学院:计算机与通信学院专业:计算机应用技术姓名:贺言君学号:122081203001日期:2012年10月27日2摘要:高性能计算(HPC)是一个计算机集群系统,它通过各种互联技术将多个计算机系统连接在一起,利用所有被连接系统的综合计算机能力来处理大型计算问题。它的的基本原理就是将问题分为若干部分,而相连的每台计算机(称为节点)均可同时参与问题的解决,从而显著缩短了解决整个问题所需的计算时间。高性能计算机的研制水平受探求复杂的物理世界与人类社会本身的应用计算需求的驱动及研制者所处环境及当时的可选择的实现技术的影响。本文主要介绍了高性能计算机的体系结构,同时,对高性能计算机的历史和发展方向也做了简单的介绍与分析。关键字:高性能计算机;集群;体系结构正文1.高性能计算机的历史回顾最早的电子计算机就是为了能够进行大量繁琐的科学计算而产生的。从1960年开始,计算机技术逐渐成熟,在各种商业领域慢慢地开始采用电子领域,而且应用范围越来越广泛,逐渐出现了针对各种不同商业用途的计算机,被称为“通用计算机”,具有性能和功能上的优势的一类计算机被称为“高性能计算机”,在当时主要用于科学计算。20世纪70年代出现的向量计算机可以看作是第一代的高性能计算机。20世纪80年代初期,随着VLSI技术和微处理技术的发展,向量机一统天下的格局逐渐被打破。通过多个廉价的微处理器构建的并行化超级计算机首先从成本上具有了无可比拟的优势。20世纪90年代初期,大规模并行处理(MPP)系统成为了高性能计算机的发展主流。MPP主要通由多个微处理器通过高速互联网络构成,每个处理器之间通过消息传递方式进行通讯和协调。20世纪90年代中后期,CC-NUMA结构问世,即分布式共享内存。每个处理3器节点都可以访问到所有其他节点的内存,但访问远程内存需要的延迟相对较大。CC-NUMA本身没有在提高性能上进行较大的创新,而对于科学计算任务,CC-NUMA是否优于MPP仍存在争议。在发展CC-NUMA的同时,集群系统(cluster)也迅速发展起来,类似MPP结构,集群系统是由多个微处理器构成的计算机节点,通过高速网络互联而成,节点一般是可以单独运行的商品化计算机。由于规模经济成本低的原因,集群系统更具有性能/价格比优势电子计算机在诞生之初主要就是为科学计算服务的。到1960年代,随着技术的成熟,计算机开始走向各种商业领域的应用,并且应用范围越来越广泛。因此,为了有别于“通用计算机”,专门针对科学计算进行优化设计的计算机开始被称为“高性能计算机”,或简称HPC。可以把1970年代出现的向量计算机看作是第一代的高性能计算机。通过在计算机中加入向量流水部件,可以大大提高科学计算中向量运算的速度,其中比较著名的有CDC系列、CRAY系列、NEC的SX系列向量机。中国有代表性的是银河一号及中科院计算所的757计算机。80年代初期,随着VLSI技术和微处理器的技术的发展,向量机一统天下的格局逐渐被打破。通过多个廉价的微处理器构建的并行化超级计算机首先从成本上具有了无可比拟的优势。“性能/价格比”而非单一性能成为衡量高性能计算机系统的重要指标。按照摩尔定律速度发展的微处理器的性能快速超越传统向量机。1990年代初期,大规模并行处理(MPP)系统已经开始成为高性能计算机发展的主流。MPP主要由多个微处理器通过高速互联网络构成,每个处理器之间通过消息传递的方式进行通讯和协调。比较有代表性的有TMC的CM-5,IntelParagon等。中国的第一个MPP系统是计算所国家智能机中心的曙光1000计算机。较MPP早几年问世的对称多处理机SMP系统,是由数目相对较少的微处理器共享物理高性能计算机研究的现状与展望内存和I/O总线形成的计算机系统(国内最早基于微处理器的SMP为曙光1号)。和MPP相比,早期的SMP扩4展能力有限,并不具有很强的计算能力。但由于SMP与单机系统兼容性好,是单机系统的升级与增强,被广泛应用于商业计算领域。1990年代中后期的一种趋势是将SMP的优点和MPP的扩展能力结合起来,这一趋势发展成后来的CC-NUMA结构,即分布式共享内存。每个处理器节点都可以访问到所有其它节点的内存,但访问远程内存需要的延迟相对较大。代表性的系统有SequentNUMA-Q,SGI-CrayOrigin等,国内的神威与银河系列等。CC-NUMA本身没有在提高性能的角度上进行较大的创新,主要优点是便于程序的开发和与SMP的兼容性。而对科学计算任务CC-NUMA结构是否优于MPP系统仍存在争议。在发展CC-NUMA同时,机群系统(Cluster)也迅速发展起来。类似MPP结构,机群系统是由多个微处理器构成的计算机节点通过高速网络互连而成。节点一般是可以单独运行的商品化计算机。由于规模经济成本低的原因,机群系统具有比MPP更高的性能/价格比优势。机群系统还继承MPP系统的编程模型,更进一步加强其竞争优势。代表性的系统是IBMSP2,国内有曙光3000,4000等系列。到2000年初机群实际上已经构成了高性能计算机系统的主流。据2003年的统计,TOP500中的MPP(含CC-NUMA)占42%,Cluster占29.8%。MPP取代向量机和机群逐步替代MPP这两个进程的背后都是摩尔定律在起作用。高性能计算机体系结构的创新必须与半导体技术和产业发展相结合,否则很难变成主流技术,这也是SIMD系统、阵列机、数据流等新型体系结构没有流行起来的主要原因。2.高性能计算机的体系结构1高性能计算机体系结构对于服务器而言,单纯地提高单个处理器的运算能力和处理能力正在变得越来越难,虽然制造商从材料、工艺和设计等方面进行了不懈的努力,近期内CPU保持着高速的增长势态,但高频之下的高功耗所引起的电池容量问题和散热问题等负面效应,以及这些负面效应对整机系统产生的电磁兼容性问题,又反过来将5CPU运算能力的提升推到了暮年.显然,提高单个处理器速度和性能已是强弩之末.而研发多个CPU的并行处理技术,才是真正提高现代服务器处理能力和运算速度的有效途径.目前,由图SIMD技术、SingleProc技术、Const技术已经不再使用,并行处理技术主要有SMP技术、NUMA技术、集群技术和网格技术等.根据2006年对排行前500名的机器作TOP500统计,TOP500中的Cluster约占70.8%,MPP(含CC—NUMA)约占22%,而SMP约占7.2%.1.1SMP技术对称多处理(symmetricalmultiprocessing,SMP)技术是相对非对称多处理技术而言的、应用十分广泛的并行技术.在这种架构中,多个处理器运行操作系统的单一复本,并共享内存和一台计算机的其它资源.所有的处理器都可以平等地访问内存、I/0和外部中断.系统资源被系统中所有CPU共享,工作负载能够均匀地分配到所有可用的处理器之上.目前,大多数SMP系统的CPU是通过共享系统总线来存取数据,实现对称多处理的.在SMP系统中增加更多处理器的两个主要问题是系统不得不消耗资源来支持处理器抢占内存,以及内存同步.1.2NUMA技术在非一致访问分布共享存储技术(nonuniformmemoryaccess,NUMA)体系结构中,每个处理器与本地存储器和高速缓存相连,多个处理器通过处理器、存储器互联网络相连.处理器还通过处理器、I/O网络访问共享的I/O和外围设备.至于处理器之间的通信则通过可选的处理器之间的通信网络来实现.NMUA技术在科学与工程计算领域具有不可替代的地位,在联机事务处理(OLTP)、决策支持服务(DSS)和Intranet以及Internet中的地位也越来越重要.目前,NUMA并行机的处理器数目可达到512个,且带宽可随处理器数目基本上呈线性扩展.这样大的处理器数,使单一系统映像的NUMA机足以覆盖绝大多数的应用.首先,由于它具有与SMP相同的编程模式,因此在科学与工程计算领域具有不可替代的地位;其次,由于它具有共享内存和良好的可扩展性优势,可以适应企业数据中心的多种应用.NUMA系统能够运行世界上一些最大的UNIX数据库应用,而且正被广泛接受为电子商务的主流技术,包括处理功能强大、I/O的大规模可扩展性、高可用性、6工作负荷和资源管理的广泛灵活性,而且无需改变SMP编程模型等优越技术.1.3Cluster技术集群(Cluster)技术是近几年兴起的发展高性能计算机的一项技术.它是一组相互独立的计算机,利用高速通信网络组成一个单一的计算机系统,并以单一系统的模式加以管理.其出发点是提供高可靠性、可扩充性和抗灾难性.一个集群包含多台拥有共享数据存储空间的服务器,各服务器通过内部局域网相互通信.当一台服务器发生故障时,它所运行的应用程序将由其它服务器自动接管.在大多数模式下,集群中所有的计算机拥有一个共同的名称,集群内的任一系统上运行的服务都可被所有的网络客户使用.采用集群系统通常是为了提高系统的稳定性和网络中心的数据处理能力及服务能力.1.4网格技术网格技术有可能成为实现Petaflops的另一条途径.网格是近年来计算机体系结构发展的一个重要方向,其基本思想是通过Internet进行资源共享和协同工作.目前连接到Internet的计算机已经达到1亿台以上,通过互联网可能达到的聚合计算潜力是不可估量的.国际上已经有Globus等组织为网格环境制定标准和参考实现.但是用网格技术实现PetafloPs仍需要关键技术上的突破:一方面互联网连接的速度和带宽仍有待提高,近年来,网络通信技术以超摩尔定律的速度高速增长,已经为此提供了可能,达到实用阶段只是时间问题.另一方面是有效的网格体系模型和计算模型还没有建立.网格的资源是分散和动态的,计算也是一种分散的、动态的过程。传统的并行共享内存或消息传递程序模式不能直接有效地利用,如何科学计算高效使用网格的计算能力是当前一个主要的研究方向.2现状目前,世界上最快的超级计算机EarthSimulator的实际计算速度是35Tflops,即35万亿次。对高性能计算机研究的下一个挑战是1Petaflops,即千万亿次计算。7预计Petaflops计算机将由10000~1000000个处理器、10TB~1PB主存、1PB~100PB在线存储、100PB以上离线存储构成。第一个系统实现将在2010年前完成。如何达到千万亿级,是继续依靠摩尔定律的发展,还是在体系结构或者构件技术上找到新的突破,现在还是一个悬念。2.1高性能计算机体系结构的研究目前高性能计算机体系结构的主流仍然是MPP和机群技术的进一步发展,通过将更多的处理器连接起来构建更大规模的并行系统。其中最具代表性的就是美国能源部的ASCI计划,分别由Intel、SGI、IBM、HP等构建超大规模的机群系统,其中HPASCIQ共有8192个处理器,20Tflops的峰值。ASCI计划原计划2004年达到100Tflops。日本NEC的EarthSimulator结合了向量处理技术和MPP的技术,利用带向量部件的节点构建MPP系统,不但取得了Top500峰值第一位,而且实际应用运行效8率也比较高。美国的CrayX1系列也采用了类似的结构。IBM计划在2000年~2005年,每年花费1亿美圆研究经费,以便最终建造出用于生物计算的petaflops级机器。2002年该项目中的Bluegene/L结构设计已经确定,预计峰值计算速度360Tflops。Bluegene/L的设计中没有采用传统的高功耗的高端处理器,而是采用了低功耗的SOC芯片。IBM将这种技术称为cellular结构。虽然每个处理器性能并不很高,但是可以通过增加系统中的处理器数量来达到高的峰值计算能力。Bluegene/L共有65536个节点,计划中的BlueGene/C处理器个数可能达到100万个。美国Stanford大学的StreamingSuperComputer计划,尝试采用专门设计的streaming处理器来构建超级计算机。一个Streaming节点中集成了128个1GHz的