计算所高性能计算机的研究.docx
《计算所高性能计算机的研究.docx》由会员分享,可在线阅读,更多相关《计算所高性能计算机的研究.docx(26页珍藏版)》请在冰豆网上搜索。
计算所高性能计算机的研究
计算所高性能计算机的研究
孙凝晖
屈指算来,计算所研制计算机系统已经有47个年头了。
现在,又到了我们进行“选择”的关键时间点。
回顾历史有助于我们借鉴当年,分析现在看看我们的起点,深思未来使我们能继续开创辉煌。
11956-1990年的简单回顾
计算所成立于1956年,是新中国的第一个有关计算技术的研究所,人们称之为“中国计算机事业的摇篮”。
下面1956年赴苏联考察团与苏联计算技术与精密机械所专家的合影,标志着新中国计算机事业的开始。
计算所研制计算机系统的第一个阶段是以仿制苏联的计算机为主,分别于1958年8月研制成中国第一台小型通用数字电子计算机“103机”,1959年9月研制成中国第一台大型通用数字电子计算机“104机”。
考察苏联(1956)
103机(1958)
104机(1959)
随着中苏关系的恶化,计算所进入研制计算机系统的第二个阶段,即自行研制为主,一切为了国家利益服务。
此后分别经历了电子管、晶体管、小规模集成电路、中规模集成电路和向量机阶段等计算机发展的各个时代。
计算所于1960年4月研制成中国第一台自行设计的小型通用数字电子计算机“107机”,1964年4月研制成中国第一台自行设计的大型通用数字电子计算机“119机”。
107机(1960)
119机(1964)
1965年6月计算所研制成中国第一台晶体管大型通用数字电子计算机“109乙机”,开始了晶体管时代。
1968年12月研制成晶体管大型通用数字电子计算机“109丙机”。
尽管这台系统的计算速度只有100KFlops,即每秒10万次浮点运算,比我们35年后推出的“曙光4000A”慢了整整1亿倍,她却被称为“功勋机”,为国家“两弹一星”事业做出重要贡献,是计算所永远的骄傲。
109乙机(1965)
109丙机(1968)
计算所于1970年研制成中国第一批小规模集成电路通用数字电子计算机“111机”,1976年11月研制成大型通用集成电路通用数字电子计算机“013机”。
这些系统都是在“文化大革命”的大环境下完成的,使我们没有被世界上集成电路技术的发展拉得太远,但与“文革”以前相比我们在计算机系统的研制上与世界水平的差距被拉大了。
111机(1970)
013机(1976)
计算所于1983年11月年研制成中规模集成电路大型向量数字电子计算机“757机”。
这是我们在第二个阶段推出的最后一个系统。
与其同时代的是CRAY-1,银河一号这些重要的计算机系统。
“757机”的研制使我们进入了向量机时代。
757机(1983)
进入二十世纪八十年代以后,改革开放使计算所也滚入市场经济的大潮。
同时中国政府、企业、学校需要的计算机系统已经可以从国外采购,国家研究所失去了在历史上作为国家计算设备唯一来源的地位。
在这个刚刚开始从计划经济向市场经济过渡的时代,计算所凭惯性研制出若干重要的计算机系统,对国家依然做出了不同的贡献。
计算所于1987年研制成联想式汉字微型机系统“LX-PC”,开创了联想公司的PC大业;1991年11月研制成大型计算机系统“KJ8920机”,这是专为石油领域研制的计算机系统,体现了与行业结合的技术路线;1991年研制成并行计算机“BJ01机”,这是我们第一台基于微处理器的并行处理体系结构的系统,开创了并行处理时代。
LX-PC(1987)
KJ8920机(1991)
BJ01机(1991)
2曙光高性能计算机的历史总结
智能中心从1990年5月成立以来,在863高技术计划和中科院知识创新工程的支持下,致力于高性能计算机的研究和产业化(商品化)。
我们的技术路线经历了两个“S”曲线。
第一个“S”曲线(1990-1995)是从KJ8920为代表的向量机发展到以曙光一号,曙光1000为代表的SMP(SymmetricalMultiprocessor)/MPP(MassiveParallelProcessing)系统,最主要的改变是计算部件由分离器件变成微处理器;第二个“S”曲线(1996-2005)是从曙光2000、曙光3000为代表的Cluster系统发展到以曙光4000、曙光5000为代表的网格计算机,最主要的改变是从以计算能力为核心变成以高效能为核心。
曙光一号(1993)
曙光1000(1995)
智能中心于1993年研制成对称多处理器(SMP)体系结构的计算机系统“曙光一号”,并以此为基础开创了曙光机的产业化道路。
其中,有一句口号,也是主要的技术路线是“MicroisPowerful!
”,即以微处理器为核心研制高性能的计算机系统。
从历史的角度评价这个时期智能中心面临的主要技术挑战和做出的贡献是:
❑以工业标准和二进制兼容为系统的设计原则
❑主板反向设计和功能扫描
❑VME总线的中断控制器设计
❑BIOS(BasicInputOutputSystem)设计
❑类Unix多线程操作系统的移植
智能中心于1995年5月研制成MPP体系结构的计算机系统“曙光1000”。
其主要的技术路线常被比喻成“Ant-Array>>Elephant!
”(蚂蚁结阵胜过大象),即以大规模并行处理技术取代单独地提高单个处理部件的性能。
从历史的角度评价这个时期智能中心面临的主要技术挑战和做出的贡献是:
❑以“蛀孔寻径”(Worm-holeRouting)芯片为核心实现MPP系统
❑消息传递协议的设计
❑微核心操作系统的移植
❑并行文件系统的设计
❑类Unix的用户使用环境
曙光2000-I(1998)
曙光2000-II(1999)
曙光3000(2001)
智能中心于1998年研制成机群(Cluster)体系结构的计算机系统“曙光2000-I”。
一个主要的动机和技术路线是“RideMoore’sLaw!
”(搭乘摩尔定律快车),即高性能计算机的主要部件采用商品化部件(volumecommodity),将超级计算机转变成超级服务器,使我们的技术有了产业化的可能。
非常庆幸我们在1996年春季做出的这个技术路线抉择,使中国的企业和用户能够在今天享受到国产高性能计算机(HPC)的种种好处,使我们能够如此接近地靠上世界先进水平。
这一影响还将持续下去。
从历史的角度评价这个时期智能中心面临的主要技术挑战和做出的贡献是:
❑在没有操作系统源码的限制下进行创新的技术路线
❑机群交换机和网络接口卡
❑用户空间通信协议的设计
❑机群文件系统
❑机群操作系统
智能中心于1999年研制成后续的超级服务器系统“曙光2000-II”。
它是一个SMPCluster体系结构的机群系统,能够对未来有影响的主要技术挑战是:
SMP上驱动程序的设计和硬件管理系统。
从这个项目开始,曙光公司在系统研制过程中就介入到科研中,使科研成果的转化和产业化有了保证。
智能中心于2001年2月研制成超级服务器系统“曙光3000”。
主要的技术路线是“It’sSUMA”,即将我们技术创新的重点放在Scalability,Usability,Manageability,Availability上面,并使其成为曙光公司的产品标记(Logo)和企业标准。
从产业和应用效果的角度衡量,它是我们目前为止最成功的系统,商品化程度也最高。
从历史的角度评价这个时期智能中心面临的主要技术挑战和做出的贡献是:
❑提供了相对完整的Cluster技术和若干SUMA部件
❑产生得以流行的产品,如内置控制台(insideconsole),机群管理软件(clustermanagement),硬件监视器(hardwaremonitor),高可用软件(HAsoftware)
❑技术与应用充分结合,推动了国产HPC产业的形成
3智能中心在研系统介绍
智能中心在2001-2004年的工作主要是研制曙光4000系列高性能计算机,包括L,A,H三台。
在技术上,我们处于承上启下的时期。
系统的体系结构依然是Cluster。
一方面按惯性发展,解决机群系统的一些不足,解决新应用提出的一些新问题;另一方面试图有所突破,对未来的技术进行探索,包括网格零件,高效能系统技术,应用加速技术等。
这是一段对高性能计算机研究者来说相当困难的时期。
企业获得的标准化的技术是如此地逼近学术界,一面是市场的红火,一面是研究人员在苦苦寻找新的需求和创新方向。
高性能计算机的技术发展在某种程度上处于停滞状态,高性能计算机的研究处于十字路口。
曙光4000-L(2003)
智能中心于2003年3月研制成面向Internet数据处理的Linux机群系统“曙光4000-L”。
它是一台具有每秒3万亿次浮点峰值运算速度,100万亿字节数据存储容量,能够支持在线扩展的应用专用系统。
在2004年将扩展到10万亿次以上的计算能力。
研究工作还将一直持续,由计算所、曙光公司、国防科大、哈工大合作完成。
主要的技术路线是“DataIntensive!
”,即解决数据密集问题。
系统的体系结构是成熟的。
技术难点主要体现在为国家战略应用服务的特定技术(specifictechnique)上。
主要技术挑战是:
❑100TB数据集
❑接收32Gbps实时Internet流的系统设计
❑定制的EthernetTOE千兆网卡和用户空间驱动
❑TCP/IP协议快速分析算法
❑机群数据库中间件
❑Internet负载发生器和定制的“ServerScope”服务器性能测试仪
❑管理
❑海量硬件部件的监视技术(大于1344个硬盘,3342个风扇)
❑海量数据的逻辑视角(logicalview)
❑基于角色的管理策略和定制的专用智能控制台
❑在线扩展设计
❑10Tflops
❑1200A,160KW
❑1300CPUs,2000GBMEM,200TBStorage
❑高可用设计
❑冗余供电设计
❑互联网络冗余设计
❑存储系统冗余设计
❑机群高可用软件
❑数据备份和远程备份设计
曙光4000-A(2004)
智能中心将于2004年6月研制成面向网格的高性能计算机“曙光4000-A”。
它是一台具有每秒10万亿次浮点峰值运算速度,能够支持32/64位计算和网格计算环境的系统。
主要的技术路线是“Grid-enabling”(支持网格)。
主要技术挑战体现在下面4个方面10项。
❑战略贡献(Strategy)
作为国立研究所,我们在做出重要的设计决定时,必须考虑能否使国家在整体上受益。
1.突破10万亿次计算(10Tflopscapability):
使中国成为除美国、日本外,第三个能制造10万亿次商品化高性能计算机的国家;使中国计算机产业生产、销售、维护高性能计算机的能力达到世界先进水平;在2004年能够为我国科研、教育、政府、国防、安全、工业界批量提供商品化的万亿次到20万亿次能力的高性能计算装备。
2.普及64位计算(64-bitcomputing):
采用AMDOpteron64位处理器,通过与AMD的战略合作普及64位计算,使中国用户能更早地、更廉价地、更容易地得到64位计算能力;同时引入充分竞争,为中国用户带来更多的技术选择,更大的价格利益,并从国家利益的高度有利于改善中国计算机产业的格局。
❑“工业标准机群”的核心技术(IndustryStandardCluster)
工业标准机群采用工业化量产的部件构造高性能计算机,从而降低成本,便于广泛使用,使高性能计算机的门槛大大降低。
我们对其中最重要的核心技术进行研究,掌握自主知识产权。
3.自有高速互连网络和通信协议:
研制具有自主知识产权的5Gbps高速互连网络和通信协议。
这是机群系统的最核心部分,是必需掌握的技术。
4.可扩展机群文件系统:
能够支持海量数据处理的可扩展文件系统是机群系统中的难度最大的系统软件,尚没有完善的成为标准的商品化软件。
5.机群操作系统核心:
这在机群系统软件中尚属空白,对在机群系统上开发各种系统软件和商业应用具有很大帮助。
❑“大规模机群计算”的关键技术(MassivelyClusterComputing)
机群体系结构的高性能计算机具有固有的好处和缺点,我们通过MCC体系结构的研究和技术开发,提高系统的可扩展性,可管理性,和系统效能。
6.自有4路SMP的主板设计:
具有自主知识产权的高密度主板和2U4路64位CPU机架服务器,使我们能在50平米内聚集10万亿次计算能力和250千瓦的散热量,提高了机群系统的可扩展性。
7.大规模机群的集成式管理网络:
集成了主板管理、硬件监控、KVM切换、系统电源控制等大规模机群的管理功能,提高了系统的可管理性,管理员不需走近主机。
8.操作系统动态部署和轻载技术(light-weight):
通过支持32/64位计算,Cluster/MPP计算,交互式/协同计算,服务器聚集计算,Wintel(微软英特尔)模式,等多种计算模式,使系统服务用户多种需求的能力大为提高。
9.提高系统效能(productivity)的技术:
多调度策略作业管理、智能文件浏览器和自治管理器,通过多种作业调度策略、海量文件管理、系统自动修复等技术提高系统为用户服务的产出能力。
❑面向网格(Grid)
作为中国国家网格(CNGrid)的主机,要在网格环境下为大量用户提供多种服务,通过研制多种网格零件,使高性能计算机具有网格使能的特性。
10.开发网格零件(Grid-enablingcomponents):
包括网格路由器,网格钥匙,网格网关,网格监控中心,网格文件访问,织女星网格操作系统。
智能中心将于2004年12月研制成面向生物信息处理的应用专用系统“曙光4000-H”。
它是一台具有每秒5000亿次通用计算能力和每秒4万亿次专用计算能力,支持生物应用的系统。
研究动机是:
生物信息的数据量的增长超过Moore’sLaw的速度,而通用计算机系统的处理效率却是很低的,因此要试图使算法在硬件层次实现并且可变。
主要的技术路线是“ReconfigurableComputing”(可重构计算)。
主要技术挑战体现在:
❑可重构计算体系结构
❑算法硬件加速方法
❑生物信息处理的创新算法的开发
❑生物应用软件的开发,使用户使用生物领域的界面,使系统“仪器化”。
4高性能计算机研究和产业现状
二十世纪八、九十年代是高性能计算机丰富多彩的时期,各种体系结构的系统争奇斗妍。
进入二十一世纪,高性能计算机产业逐渐成熟,用户面大大扩大,技术也不断聚焦。
工业界认为,现在主流体系结构收缩成三种,即SMP,CC-NUMA,Cluster。
其他如MPP,Vector,Mainframe虽有存在的价值,但不具有商业的活力。
在产品上,只有两类产品具有竞争力。
一是高性能共享存储系统,如IBM690,SUNEnterprise15000,SGIOrigin3800;二是工业标准机群,包括以IA(Intelarchitecture)架构标准服务器为节点的PC机群,和以RISCSMP标准服务器为节点的RISC机群。
传统的超级计算机,在满足国家特定的应用需求上,依然存在它们的身影。
这些系统的用户更关心性能而不十分在乎价格,如NECSX6Vector系统、CrayX1MPP系统、IBMBlueGene-LMPP系统、定制节点的ASCI超节点机群系统。
它们虽在产业中不能成为主流,但在技术上能成为HPC研究的驱动力,对产业有技术辐射作用。
对高性能计算机产业影响最大的就是“工业标准机群”了,反映了标准化(Standardization)在信息产业的巨大杀伤力。
工业标准机群采用量产的标准化部件(volumecommodity)构成高性能计算机系统,极大地提高了性能价格比,从科学计算开始逐渐应用到各个领域。
其中,推动了这一趋势形成的三个核心技术是IntelXeon处理器、Linux操作系统和Myrinet互连网络。
今天,我们从下面这张列表中可以买到搭建系统所需要的一切。
❑CPU:
Xeon/Opteron/Itanium
❑Memory:
SRAM/DDR
❑I/O:
HyperTransport/PCI-X/PCIExpress
❑Storage:
SCSI/FC/SATA/iSCSI
❑Network:
Myrinet/Quadrics/Infiniband/G-Ethernet
❑Boxing:
Chassis/Cabinet/Cable
❑OS:
Linux/GNUCompiler/Java/Luster
❑Protocol:
GM/VIA/Verb/MPI/PVM/uDAPL
❑Library:
MKL/ESSL/ACML/Scalapack/Gauss
❑Management:
CMS/PBS/LSF/Vampir
❑Application:
Paradiam/LS-DYNA/Cerius/MM5/Blast/OracleRAC
❑Integration:
LinuxNetworx/Scali
高性能计算机的产业现状对中国学术界的最大影响是“AreWeLost?
”(我们是否迷失了?
)。
其中we=系统研究者。
以前,工业界不能给国家、关键行业、科研教育合理地提供所需要的高性能计算设备,提供一台可用的“系统”是HPC研究的主要目的,就像为两弹一星,为石油勘探提供计算工具那样。
这样的情景一直持续到不久的过去。
“我们”突然发现在提供多少多少亿次系统的能力(capability)这一衡量标准上面,和研究生们,工程师们相差无几。
在企业面前,“我们”也似乎失去了存在的价值。
“我们”的研究结果将我们自己逼到了墙角。
在世界范围,这种情况同样存在。
从ISCA会议有关系统的文章逐年直线下降可以印证。
就工业标准机群而论,是否已经完善,再没新技术可供研究了呢?
显然不是。
这一技术路线只解决了方便廉价地组合系统这一问题,未解决的问题很多,下面将会阐述。
现在的困惑是:
以前是“三角形”技术路线,部件在下面,顶端是系统,用峰值或Linpack就能清楚地表述结果;现在是“放射状”技术路线,不同的技术解决不同应用的问题,多目标,将系统做为一个整体,缺乏新的衡量指标(尽管有HPCS,尚停留在概念阶段),缺乏象龙芯-2CPU研制提出的“500MHz@0.18u+SpecCPU2000=300”这样简洁的目标。
拿一台系统和另一台系统相比,变得很难公平合理地衡量。
从系统的整体这个角度,你看不出大学师生搭的系统和IBM销售给企业的系统之间的区别。
说的软硬件部件都是同样的名词。
不管你说什么,每个人都可以说“metoo”。
必须将系统的每个部分细节地进行比较,才能显出差别和优势。
这些说明HPC研究在技术突破上处于停滞状态。
下面列出一些关于HPC研究的代表性观点。
美国DOE(能源部)认为,HPCS(HighProductivityComputingSystem)是未来的研究方向,即高效能计算系统。
计算机系统的效能或生产率不仅包括效率,还包括研制成本与时间、运行和维护成本、系统可靠性和稳定性,以用户能获得的效益衡量。
HPCS研究计划列出的研究目标包括:
❑在关键的国家战略应用领域,将计算效率提高10-40倍;
❑降低研制、运行和维护万亿次以上计算机的费用;
❑缩小应用从单CPU计算移植到大型并行计算机上的难度;
❑提高系统的可靠性和稳定性的技术,如自动修复逻辑差错、忍受系统软件故障、研究系统软件和硬件部件自愈的技术、过载时服务质量保证的技术、在不可信的计算机系统上开发可信应用的支撑技术。
美国NITRD(NationalITR&D)委员会认为,当前HPC存在的主要问题是:
❑hardtouse(难以使用)
❑Do“oldscience”well,notthenewscience(不适合新型应用)
❑Radicalimprovementsintime-to-solution(需要大大降低研制时间)
❑Capacityandcapabilityinadequate(性能和容量依然不足)
美国NSF(国家科学基金会)认为,不同时期的高性能计算机解决当时的挑战性问题。
目前基于已有的商业部件和Cluster体系结构构造高性能计算机存在巨大的隐患。
Cluster体系结构在400节点以上时带来的可靠性、可用性等问题影响了应用的效果。
当前制造高性能计算机的主要障碍是Availability(可用性),Maintainability(可维护性),EvolutionaryGrowth(平滑扩展能力),Scalability(可裁剪性),PowerConsumption(能耗)。
面对高性能计算机不断扩大的应用领域的挑战,Caltech(加州理工大学)的DanielA.Reed指出:
“随着新的高性价比部件出现,我们通过组装一些部件,很容易组装起来TeraFlops级系统。
关键问题是怎样在这些组件之间找到一个平衡点,使得系统具有很高的可用性与高效性。
不幸的是,在美国目前还没有积极的大规模体系结构和原型研究项目。
简单地说,我们目前正面临着体系结构的危机,包括软件和硬件。
”
国家并行计算机工程中心的陈佐宁院士认为,当前HPC研究的主要问题是:
❑实际应用的持续性能低
❑复杂性挑战
❑可靠性和可用性
❑功耗问题
❑应用的研究和开发滞后于高性能计算机系统的发展
当前在学术界和企业界正在进行的HPC研究很多,下面列举几个创新性的研究:
❑IBMBlueGene中的自愈合技术(Self-Healing)
❑Berkeley大学Patterson教授的RecoveryOrientedComputing(ROC)研究,试图以一种简单的现场可置换的部件来简化系统修复;
❑PIM(Processor-In-Memory)/iRAM研究试图缩小memory和CPU之间的隔阂;
❑Sun在HPCS计划中的“Hero”系统,其中MemorySea技术通过芯片之间的耦合解决芯片互连的性能问题,发明一种全新的编程模型(programmingmodel)试图解决HPC编程难的问题;
❑有关系统内部光互连的研究。
5中国高性能计算机研究的未来
5.1科研环境的改变
现在存在的一个问题是,高性能计算机研究的科研环境发生了变化,但科研方式并没有随之改变。
以前,国家需要一台HPC,企业无法提供,许多重要部件都没有标准部件,这种情况下构成的系统可代表一切。
科研方式以提供一台系统为主。
我们在曙光3000研制时还创造出科研经费国家和用户各出一半的方式,使系统能及时地得到应用。
但现在,HPC系统是相对成熟、充分竞争和开放的市场。
基本部件是现成的,搭建一个标准系统较容易。
这一点与CPU,OS截然不同。
情况改变了,但我们的科研目标和方式没变。
导致主要科研经费变成了一种设备采购补贴。
现在,需要的是关键技术的创新研究和难点的解决,不能将高性能计算设备的采购需求(看重指标)和技术创新需求(看重技术突破)混合在一起要求。
我们在曙光4000A高性能计算机研究中,有一些遗憾和不足:
❑在一些设计决定上,不得不将科研目标和企业行为混合;
❑我们的创新技术尚没有标准可以衡量,Productivity或SLA(ServiceLevelAgreement)都不成熟;
❑将大量的科研经费用在Linpack上,变成一种对用户采购机器的补贴。
如果我们不