性能:系统理论峰值计算速度、LINPACK测试峰值速度、实际应用中持续应用性能
效能:包含了高性能、可编程性、可移植性、稳定性等多个方面要求的全新评价体系
从近年来全球TOP500高性能计算机排行榜来看,TOP500中几年来第1名和第500名均保持6-8年的时间,也就是说当今的第一名在6-8年后则排名到第500名,而8-10年后微处理器芯片就可达到本年度TOP第500名的浮点性能。自97年6月TOP500排名中第一次出现LINPACK测试万亿次(1 Teraflops)超级计算机到8年后全球最快超级计算机TOP500排行榜入门门槛1 Teraflops,万亿次计算时代到来。从这个意义上来说,当前人类10万亿次计算时代正在拉开序幕。2008年6月,全球第一台Linpack测试峰值千万亿次(Petaflops)计算机(IBM Roadrunner)出现,我们期待8年后,也就是2016年,千万亿次超级计算时代的真正到来,也就是说千万亿次将是全球TOP500排行榜的入门槛。
千万亿次计算时代意味着什么?所谓千万亿次计算是指每秒进行1千万亿次双精度浮点运算,这是当前中国服务器企业研制的最快超级计算机曙光5000A 系统的6倍。如果说在10万亿次计算时代我们可以基于商品化处理器部件、交换部件、存储部件、开源操作系统等构建工业标准化机群来满足我们在计算密集、I/O密集等多个领域的应用需求,那么在未来的几年,伴随应用对计算能力的进一步需求,例如,在生物医学领域进行蛋白质电子态的计算、药物发明中的遴选过程、蛋白质折叠等需求、航空航天制造领域进行的发动机燃烧模拟和机翼设计模拟、气象领域的短期天气预报、局部突发性灾难预报(如洪水、海啸)、核能领域的完全等离子分析、纳米技术领域的复合材料结构分析和功能预测、新材料的发明、天体物理学领域的超新星三维模拟等这些应用都需要持续100 T flops以上的计算性能,有些应用甚至需要1Petaflops的持续应用性能,我们再基于机群架构来构建高性能计算机,将面临扩展性、可靠性、功耗、均衡性、可编程性、管理复杂性等诸多挑战。
高效能代表高性能计算机的发展方向
当前普遍认为,机群逐渐成为市场主流,但困扰其大规模扩展(如面向千万亿次扩展)的关键问题一直没得到根本解决,主要存在如下关键问题:
内存和I/O 墙(Memory and I/O Wall):系统结构的失衡问题,存储器性能与处理器性能差距越来越大,本地带宽及延迟和全局带宽及延迟发展不一致所造成的差距形成了阻碍性能提升的“内存墙”(Memory Wall);系统从I/O输入到I/O输出的不均衡带宽设计,让系统吃得进,吐不出,从而形成“I/O墙”(I/O Wall);
功耗墙(Power Consumption Wall):当前功耗也已经成为制约高效能计算机系统发展的主要因素之一,当前每个机群节点耗电在300到1500瓦之间,而一个机柜耗能在20到30千瓦左右,2016年一台持续千万亿次超级计算机系统可能需要消耗20兆瓦或更高的功耗。未来千万亿次计算时代高性能计算机系统,其每瓦Gflops性能应在1。0GFlops per watt 以上,我们可能会采取比如水冷或节能型芯片、FPGA等技术,但不能从根本上解决能耗问题;
编程墙(Programming Wall):在编程方面,用户为完成一个具体的并行应用在建模、编码、调试、优化、运行、维护和故障处理上所遇到的各种困难交错形成了“编程墙”(Programming Wall),怎样很好利用为数众多的处理器海(Processor Sea)?怎样面对数十万并发线程?
复杂性和可靠性墙(Complexity Wall):在管理方面,高性能计算机软硬件系统交织,管理的复杂性随之成倍增长,形成了新的“复杂性墙”(Complexity Wall);
可靠性墙(Availability Wall):对高性能计算机系统来说,可靠性也是其挑战之一,当其扩展到成万或十万颗之多CPU以及几百Terabytes内存时,我们如何保障硬件系统的可靠性,同时在这样大规模的系统运行中,软件错误也很难避免;
扩展性墙(Scalability Wall):在一个十万亿次量级的高性能计算机系统中当前千兆、万兆以太网、Infiniband、 Myrinet、Quadrics等商业化网络均可为应用开发者提供完整的网络互联。在一个胖树拓扑结构中,用户不必过于关注延时,但当系统规模扩展到2万个以上处理器时,就必须采用低度(Low-degree)互连或网格(Grid)互连,胖树结构不适用于这样的规模,延时将变成一个非常重要的问题。同时,今天基本上没有系统软件和应用软件能扩展到这样一个处理器的规模,我们需要重新设计软件\硬件编程模型,以适应系统的大规模扩展和求解问题的大规模扩展,并确保其高效性和高并行度;
与此同时,在另一方面,虽然多核处理器是当前乃至未来构建高性能计算机的基础,但多核处理器也对传统的系统结构提出了新的挑战,如:如何对芯片、板极、系统级三级并行结构进行均衡设计?如何将通信延伸到多核内,发挥由上万个处理器核构成的大规模并行系统的计算能力?如何增加应用的可移植性?如何减少多核带来的存储器壁垒加剧?
可以看到,上述内存墙、I/O墙、功耗墙、复杂性墙、编程墙、扩展性墙等诸多问题为高性能计算机的发展及其平民化应用设置了重重障碍。美国国防部于2002年制定的“高效能计算系统”(High Productivity Computing Systems,简称HPCS)研究计划(IBM PERCS、Cray Cascade、SUN Hero成为首批入选计划)首先提出了以高效能作为新一代高性能计算机研制的目标。高效能代表了高性能计算机研究的新方向,其包含了高性能、可编程性、可移植性、稳定性等多个方面的要求:
高性能(Performance):在重要的国家安全应用方面,将由十多个到上千个节点组成的系统可伸缩能力和商用计算效能提高10到40倍;
可编程性(Programmability):减少应用方案的开发时间,降低系统运行和维护成本,提高系统使用效率;
可移植性(Portability):将研究和运行的高效能应用软件与系统平台分离开;
健壮性(Robustness):针对外界攻击、硬件故障及软件错误开发相应的保护技术,为用户提供增强的可靠性,减少恶意行为的风险。
#p#副标题#e#全球高效能计算机技术研究现状
高效能计算机研究领域主要包括高带宽/低延迟分级存储系统;平衡好处理器、存储器、网络带宽、系统软件与开发语言的均衡系统结构;健壮性策略;新的度量准则和基准测试程序;系统自适应性;节能以及简化管理复杂性等诸多内容。当前HPCS项目已从大规模研究阶段转向最后阶段-2010年前基于IBM PERCS系统和Cray的“适应性超级计算”(Adaptive Supercomputing) Cascade 系统完成两台千万亿次高生产率超级计算机系统研制开发。
IBM PERCS系统基于Power7微处理器、AIX操作系统、通用并行文件系统(GPFS)、IBM并行计算环境及互联和存储子系统进行开发。当前 IBM PERCS 项目已经公布的几个研究方向有:片上多处理器(CMP);智能内存:在每个DIMM内存条上增加一个智能Hub芯片,实现预取、Scatter/Gather、重排序、缓存等功能;全局名字空间支持;混合型DSM:通过X10编程语言实现,支持OpenMP程序;异步SMP:简化目前SMP硬件一致性协议,使之更接近软件的应用模式;片上FIFO:将同步和数据传送结合,减少应用中的延迟;基于目录的cache一致性协议等。PERCS的存储系统实现了巨大的UMA结构的SMP系统,同时在该系统中IBM计划开发高效用软件和开发工具以提高开发人员的生产率。
Cray Cascade 系统联合了Stanford、Caltech/JPL和Notre Dame学院的研究人员共同进行开发,具有独特的处理器设计,单节点处理器有机地结合了向量处理器、流处理器、多线程处理器设计;轻量级处理器采用了PIM技术和多线程技术。存储系统采用UMA+NUMA共享内存方式,并提供了灵活的地址变换和分布。Cray Cascade 系统本质上是一个能在单系统中提供包括标量、FPGA和混合矢量/超级多线程(MMT)处理器板卡的机箱内集群(Cluster-in-a-box)。在该系统中Cray将设计一款基于其XD1系统的FPGA加速板卡,采用统一的高带宽光互联网络,节点(Locale)包含向量部件、粗粒度的多线程处理器、与DRAM结合支持细粒度并行的PIM部件等,提供分布式共享内存、多层次多线程执行模型、硬件支持的分析和调试功能。Cascade系统将开发编译器软件Chapel以处理多种涉及标量、矢量或MMT应用的混合UMA/NUMA编程模型。除上述两家获HPCS最终支持的企业外,SUN也在第一、二阶段获得了支持,SUN HERO计划主要采用的技术有Sea of Memory技术、Proximity Interconnect 技术、Guarded Pointer技术和Interval Arithmetic(IA)技术。
当前除了上述IBM、Cray、SUN等企业及学术机构以外,基于可重构计算、专用加速部件、混合异构结构、芯片级、系统级以及基础架构级节能等相关技术,学术界和企业界也已经展开了高效能计算机关联技术研究。当前以FPGA、专用加速部件、通用商品化基于多核处理器(Many-Core)为主体的混合异构结构已成为高效能计算机发展的主流,在这其中,包括节能、PIM、流式计算、光互联、高效编译器、并行计算环境等等诸多方面的创新和整合;在应用加速方面,由于FPGA可以根据不同的应用实现可重构计算,适应高性能计算机面临的不同的计算模型,同时FPGA在内存带宽、并行处理和低功耗方面有突出的优势,因此与主处理器配合,可实现提高特定应用性能和降低系统功耗的双重目标,应用前景广阔,是实现高效能计算的有效途径之一;在提高存储器性能方面,基于多层次Cache、加大处理器和存储器之间的带宽、多线程、预取、PIM等诸多技术以消除内存墙(Memory Wall);
在系统可靠性研究方面,国内外研究主要在硬件可靠性、操作系统可靠性和应用可靠性三个方面。硬件可靠性主要沿用60年代大型机系统发展起来的一系列基础技术框架,如N模冗余、专用组件或模块等,通过冗余硬件达到提高系统硬件可靠性的目的。操作系统可靠性研究主要有操作系统隔离技术(如Nooks)、故障忽略技术等,通过将故障忽略或隔离从而减少对应用的影响。针对科学计算应用,多采用检查点技术对应用运行的阶段性结果进行保存,以备在出错时进行恢复;在解决管理的复杂性方面,包括自动监控全局资源,对监控数据进行深度挖掘、关联分析预测系统行为,根据应用特征动态构造虚拟计算环境,实现应用间性能隔离和安全隔离,对应用软件的可靠性和扩展性提供支持,提供验证、模拟、评价工具,并在保证系统性能的情况下,实施自适应功耗管理及可靠性管理;
在解决功耗方面,除采用FPGA、液体冷却、低功耗专用芯片、芯片级冷却等技术以外,一些系统级节能技术也有望解决高效能计算机能耗问题,包括:基于负载情况动态调整系统状态、实施部分节点或部件的休眠;根据各进程能耗的不同对CPU任务队列进行调整,如将一些产生较多热量的任务从温度较高的CPU上迁移到温度较低的CPU上从而实现能耗的均衡;在海量存储和文件系统方面,包括聚合一组存储设备的容量和I/O带宽,为高效能计算机提供全局名字空间和高I/O性能,以及采用面向对象存储技术,将存储设备与文件系统的接口由原来过于简单的块访问接口变成对象访问接口等以开发高性能并行文件系统和相应支持大规模共享文件系统的存储系统;在并行编程模型方面,当前并行程序设计语言主要有OpenMP、MPI、X10、PGAS、HPF等。基于共享存储的OpenMP语言的主要问题是没有数据局部性的支持,Clustered OpenMP也只能适应粗粒度并行的程序。MPI模型的问题在于短消息性能不好和可编程性差, HPF由于适应面窄也面临淘汰。近年来,分割全局地址空间模型(Partitioned Global Address Space Model,简称PGAS)广受关注。PGAS既有共享内存编程模型的易编程性,又能让程序员控制数据的分布以达到和消息传递编程模型媲美的性能。
可以说当前学术界和工业界在高效能计算机研究领域已取得了长足的进展,2008年6月IBM Roadrunner 千万亿次超级计算机的提前发布让我们看到了高效能计算机平民化应用的希望,也更让我们对未来千万亿次计算时代的提前到来充满信心。
我国高效能计算机技术及市场现状
当前我国在高效能计算机研究方面也取得了重要进展,2008年6月24日亮相的中国曙光5000A两百万亿次超级计算机就整合了大量高效能技术,包括新型“超并行”体系结构(Hyper Parallel Processing,简称HPP)、基于四路高密度刀片服务器架构超并行节点、基于16端口4x5Gbps交换芯片超并行互连网络、高性能直接地址访问式core-to-core通信软件、高性能全局(组)同步机制、高性能TCP/IP、高性能可移植并行语言编译器、自动并行化编译工具ParaORC、高效能虚拟化软件、面向千万亿次计算机的高性能并行文件系统、检查点存储系统和PB级网络存储系统、大规模层次化高效能计算机自主管理软件、多层次系统级鲁棒性技术、面向数万个处理器的新型基础并行算法、自适应功耗管理、应用加速器等诸多技术。
可以说,从技术层面来看,我们和全球高性能计算机领域技术最领先的国家也就三到五年的差距,取得了长足的进步,但离真正的成功还有一段路要走,这个真正的成功更多的是指市场的成功,是技术转化为市场价值的成功。主要是如下原因:
1)、中国的民族服务器产业在全球乃至中国市场尚占非常少的比例,大约为世界总量的1%,中国服务器市场的30%(Source:IDC,2007),中国的高性能计算机市场大部分被国外跨国巨头企业主导,在很多领域甚至是被垄断,如金融、电信等诸多领域;
2)、中国高性能计算机产业良性生态环境尚未形成,其涉及芯片、操作系统、编译器、并行计算环境、上层应用软件、算法、存储系统、交换系统等产业链各个环节的均衡发展,也涉及到技术、资金、人才、产业界、学术界等诸多环节的均衡发展、协调配合;
3)、中国在高性能计算机领域自主创新能力还很薄弱,国内很多民族服务器企业还停留在OEM、ODM研发、贴牌销售阶段。
我国高性能计算机标准现状
当前正面临高性能计算机技术升级换代的关键时期,国外服务器企业正在抓紧制定和推出其自身的高性能计算机标准,从而打造从芯片、操作系统到基础架构、存储、交换、应用等全方位产业生态链,其中比较典型的产品就是刀片式服务器。
目前国际上尚无统一的高性能计算机标准,各大厂商都在推广自己的标准,现在这个时候正是建立和健全中国高性能计算机标准体系的大好时机。加快高性能计算机领域标准化工作对中国未来服务器产业乃至信息产业的发展具有深远的意义,这不仅关系着民族产业的发展,更关系着国家关键战略应用领域的国防安全。
高性能计算机标准工作委员会(High Performance Computer Standardization Committee,以下简称高标委)自2007年3月成立以来,目前会员单位已经发展到了三十多家,涉及芯片、操作系统、服务器、交换存储、基础架构等领域。高标委至今已成立了刀片服务器标准工作组和服务器节能标准工作组,并和工业与信息化部电子技术标准化研究所联合成立了服务器节能评测实验室。当前由高标委起草的《机群操作系统远程监控技术要求》和《刀片服务器管理模块技术要求》两项电子行业标准即将进入公示期,如在公示期内无重要反对意见,上述标准有望在年内正式颁布,成为我国高性能计算机领域的首个行业推荐标准。在上述两项标准的基础上,2008年高标委又组织申报了《刀片式服务器计算模块电气技术要求》、《刀片式服务器计算模块固件技术要求》、《刀片式服务器计算模块机械技术要求》、《高性能计算机高级内存缓冲芯片(AMB)节能标准》、《服务器节能技术要求》等5项新的标准提案。当前,高标委将以刀片服务器、节能及高性能计算机行业应用为重点,稳步推动高性能计算机领域标准化工作,并将在今年筹备成立高性能计算机产业联盟,希望从技术、标准、市场三个层面打造中国服务器产业的大生态。
结束语
高效能计算机技术的发展是一个长期的实践过程,当前虽然学术界、工业界基于可重构计算、混合异构结构、高效能编程模型及编程语言、体系结构创新等相关技术手段有效提升了高性能计算机系统的效能,减少了中心机房面积、电能消耗、系统管理的一系列压力,更好的满足了应用需求,但我们必须看到,上述技术的突破与实现和高效能计算的总目标相比仍然有很大差距,不过是冰山一角而已,未来几年高效能计算机技术仍将高速发展,发展过程中将孕育着新的机会和新的曙光,这就要求我们一方面需紧随技术发展的步伐,另一方面,需加大技术标准化的投入力度,这两个方面我们都不能放松,都必须加大投入,只有这样才能迅速发展并壮大我国的民族服务器产业,才能获取中国乃至全球的服务器市场话语权。“两岸猿声啼不尽,轻舟已过万重山”, 让我们紧随高效能计算领域技术及标准发展的步伐!