作者简介:陈国良(1938—),男(汉族),安徽省颍上县人,中国科学院院士,深圳大学教授.E-mail: glchen@szu.edu.cn
中文责编:英 子; 英文责编:雨 辰
深圳大学计算机与软件学院,广东省普及型高性能计算机重点实验室,深圳市服务计算与应用重点实验室,深圳 518060
Chen Guoliang, Mao Rui, and Cai YeCollege of Computer Science and Software Engineering, Shenzhen Key Laboratory of Service Computing and Applications, Guangdong Province Key Laboratory of Popular High Performance Computers, Shenzhen University, Shenzhen 518060, P.R.China
computer engineering; high performance computing; grid computing; cloud computing; big data; internet of things
DOI: 10.3724/SP.J.1249.2015.01025
回顾高性能计算的发展历史,评述网格计算、云计算及其与高性能计算之间的关系,阐释新兴技术大数据和物联网,比较大数据、云计算与高性能计算的性能并分析其彼此间的关系.介绍代表国际高性能计算领域发展趋势的普适高性能计算以及作者在普及型高性能计算机研制方面的最新进展.指出高性能计算存在的一些难题,以及研制千万亿次以上的高性能计算机所面临的挑战.
High performance computing(HPC)has been an important force in the evolution of computing since its early stages. Various emerging technologies, such as grid computing, utility computing, service computing and cloud computing, have evolved from HPC. Firstly, we briefly review the history of HPC, compare and discusse the relationship among grid computing, cloud computing and high performance computing. Subsequently, we introduce big data and the Internet of things as two emerging technologies; the relationship and comparison among big data, cloud computing and high performance computing; and the concept of Ubiquitous high performance computing. Finally, we summarize the development of popular high performance computer, and present several challenging issues in HPC and the development of peta-flops high performance computers.
高性能计算(high performance computing,HPC)原指求解问题速度很快的一类计算[1-2].在计算历史演变过程中,很多新兴计算,如网格计算、效用计算、服务计算和云计算等均由HPC演变而来.
从直观上讲,HPC泛指快速、量大和性能高的一类计算,诸如向量计算、并行与分布式计算、网格计算等.它需要大量计算能力(power)和强大的计算设施在很短的时间周期内完成给定的计算任务.所以在并行系统中,常通过增加处理器数目来提升计算能力(capability),即计算速度.
从战略高度上讲,HPC技术是一个国家综合国力的表现,是支撑国家实力持续发展的关键技术之一,在国防安全、高科技发展和国民经济建设中均占重要战略地位,在飞机设计、药物设计、全球气候预测、人类基因、油藏数值模拟以及生物分子结构等重大挑战领域中都是必不可少的.
美国在高性能计算技术的发展方面一直处于世界领先地位.历年来,美国国防部、能源部、国家科学院和国家科学基金委等部门和组织不断向美国政府提出有关信息技术的建议报告,其中大部分都涉及了高性能计算与高性能计算机的内容.例如,① 1993年,美国科学工程技术联邦协调理事会提出《HPCC(High performance computing & communication)grand challenge》计划[3],目的是平衡发展下一代高性能计算机和网络,以满足一些重大挑战问题的应用需求.该计划中提出了发展万亿次(tera=1012)计算机的目标.② 1996年,美国能源部联合美方3大核武器国家实验室提出了《ASIC(Accelerated strategic computing initiative)》[4]计划,目的是通过数值模拟评估核武器的性能和安全等.该项目提出了发展千万亿次(peta=1015)计算机计划,包括Option Red、Blue Mountain、ASCI White和ASCI Blue-Pacific等.③ 2002年,美国国防部高级研究计划局(Defense Advanced Research Projects Agency,DARPA)启动了高生产率计算机系统(High productivity computing systems,HPCS)计划[5],希望确定未来10~20 a高生产率、低成本的HPC体系架构.④ 2010年,美国DARPA又启动了Ubiquitous high performance computing(UHPC)计划[6],旨在重塑(reinvent)计算,以新的形象展示给人们,寻求空气冷却、易编程使用的单机箱的普适高性能计算机系统.
欧洲的高性能计算发展一直处于世界一流水平,其优势主要体现在软件开发和系统应用方面.欧洲研究与技术开发第7框架计划(Framework program 7,FP7)的e基础设施项目被列入了“超级计算机系统部署”项目.在这个项目框架内,来自欧洲多个国家的高性能计算领域专家组成了欧洲高性能计算任务小组(High Performance Computing in Europe Taskforce,HET).在HET的努力下,“欧洲高性能计算服务”被列入欧洲研究基础设施战略论坛制订的欧洲科学发展蓝图中.此外,HET还制定了2010—2020年 “欧洲千万亿次计算”发展建议方案.
日本的高性能计算发展同样处于世界一流水平.2002年,日本NEC公司研制出地球模拟器(earth simulator),一度在超级计算机世界500强排行榜(HPCTop 500 list)[7]中占据首位.2011年6月,日本富士通研制的“京”超级计算机(K computer)再次占据Top500榜首.在2014年11月Top500排行榜中,日本的超级计算机占据了30个席位.
在中国发布的《国家中长期科学和技术发展规划纲要(2006—2020年)》中,提出要全面提升我国的自主创新能力,明确指出要加速发展高性能计算.近年来,我国高性能计算机的发展世界瞩目,其中代表性的国产高性能计算机有神威蓝光、天河1号、天河2号、联想6800和曙光星云等.在世界500强(Top500)排行榜[8]中,我国自主研制的高性能计算机也屡居榜首.例如,天河1A在第36届HPC Top500排行榜中排名第1,曙光星云排名第3; 天河2A实现了从第42— 44届HPC Top500排行榜的3连冠.
HPC的主流技术在其发展进程中不断演变:早在20世纪60年代,巨型机处于萌芽阶段,代表机型是CDC6600; 到了70年代,向量机处于鼎盛时期,代表机型是CRAY-1等; 至90年代,大规模并行处理(massive parallel processing,MPP)蓬勃发展,代表机型是Option Red等; 进入21世纪,机群系统迅速发展,代表机型是IBM SP2等.
2003年11月的Top500排行榜中,美国弗吉尼亚工学院一群师生采用商用部件,历时4个月,自主研制了世界排名第3的PC机群系统X,导致高性能计算机实现了平民化(popular),并促使高性能计算机的研制从高墙深院的科研殿堂飞入寻常百姓家.PC机群给高性能计算的计算架构带来转变,也开启了高性能计算的平民化和个人化运动.
从历届Top500排名可见,位于前列的机器中不少采用了GPU异构加速体系架构,这说明采用CPU+GPU混合异构架构对整机计算能力的贡献很大,从而使其逐步进入了主流.
HPC服务方式采用事先预约、独占资源、分时使用、统一付费的传统的科学与工程计算模式; 而云计算的出现为HPC的服务方式提供了新的选择,包括即用即约、租用资源、虚拟占用和按量付费的商业运营模式等.
按照计算演变的主线:最先是顺序(串行)计算,随后逐渐出现了并行计算与分布式计算、网格计算、效用计算、服务计算和云计算等.其中,网格计算和云计算都是分布式计算的具体实现.网格计算是利用并行计算解决大型问题,而云计算是从网格计算演化而来,其初衷是用最小代价为用户提供服务.
网格计算[9]是一种以集中方式汇聚众多的高性能计算资源,以完成高度复杂计算任务的计算模式.它面向社会或一定的用户群,将由网络连接的一些分散的硬件、软件和信息资源汇聚成单一映像的易用系统,向群体用户提供分布协同的计算服务.
网格计算通过利用大量异构计算机未使用的资源,解决大规模计算问题.这些资源(有时称为虚拟化计算资源)位于不同的地理位置,所以网络计算具有支持跨管理域计算的能力,这是它与传统的分布式计算不同之处.网格计算与集群计算的主要区别是前者是异构的,而后者是同构的.网格可扩展到用户桌面机,而集群一般局限于数据中心.
云计算[10]是通过将计算和服务部署在以互连网形式连接起来的大量分布式计算机上来实现的一种计算服务.云计算的核心概念是通过互连网将分散的计算资源整合成共享资源池,向用户提供以租用方式按量付费的计算服务.
云计算的主要核心技术包括:①硬件支撑技术,主要有高性能技术、高通量计算、高可靠和高可扩展技术等; ②软件支撑技术,主要有类似于Map-Reduce编程模式、分布冗余和列存储方式等; ③虚拟化技术,主要有所有硬件设备的全虚拟化和选择性的半虚拟化运行模式等; ④安全技术,主要有网络层次安全保护、服务器层次安全保护以及数据层次安全保护等; ⑤数据中心技术,主要有分布式动态部署与服务组合、数据与计算综合管理、可靠和可扩展自主体系架构等.
网格计算和云计算虽然都是分布式计算的具体实现,但它们在很多方面也存在不同. 表1从多个方面对两者进行了比较.
微软公司Dan Reed认为,云计算和高性能计算是一对出生时被分开的双胞胎(twins separated at birth)[11].事实上,高性能并行计算技术是藏在云计算背后的核心技术.李国杰院士曾说,云计算系统的本质是“资源虚拟化+并行计算”; 并行计算的一些成熟技术,例如Map-Reduce编程技术、BigTable并行数据库技术以及GFS并行文件系统等都是云计算中具有核心竞争力的关键技术.
在技术发展的过程中,云计算只是高性能计算的新发展,对高性能计算而言,云计算并非新概念.已经发展近30年的各超级计算中心,在早期也是将昂贵的计算资源集中部署,多领域用户通过互连网远程使用计算服务,并依据使用量支付费用,只不过近代云计算扩大了高性能计算的服务范围.
沿用Dan Reed的理念,云计算与高性能计算的结合,尤如兄弟重逢,变成超强双人(twins reunited:the super double). 而且,目前的云计算尚不
能有效支持高端的HPC服务.有人戏称,让HPC用户使用云计算就像让一级方程式赛车手坐公共汽车.但若将云计算和高性能计算结合在一起,形成“高性能云计算(high performance cloud computing,HPCC)”,则可弥补目前云计算所呈现的一些不足,满足大规模数据密集型计算所需的大容量、低延迟和高带宽等HPC类型的能力.
综上有关高性能计算和云计算关系的讨论,在表2给出多个方面对两者的比较.
大数据(big data,BD)是指用目前的软件工具无法在容许的时间内进行获取、传输、存储、管理和分析的数据集; 而物联网(internet of things,IOT)所采集和捕获的各种数据组成了大数据,同时大数据技术使物联网采集的数据产生了价值,两者相辅相成地发展着.
目前大数据普遍使用的是大容量(volume)、快速率(velocity)、多样性(variety)和高价值(value)的4V定义[12].究竟多大才算是“大”?目前大数据一般典型范围为几十TB(T=1012)到PB(P=1015),将来会更大.
大数据引领了社会、经济和科技的发展:① 大数据对国家和社会的作用体现在能增强国家安全,促进政府开放和提高政策预见性与响应性; ② 大数据推动国民经济发展体现在,人类社会的3次浪潮极大地推动了人类社会经济的发展,而大数据是第3次浪潮的华彩乐章,大数据产生了社会的大价值; ③ 大数据促进科技发展体现在它是继实验科学、理论科学和计算科学之后,科学发现的“第四范型”,即数据密集型科学.
大数据的整个生命周期内所采用的主要技术包括:① 在数据采集阶段使用数据提取、转换和加载(extraction transformation loading,ETL)技术; ② 在数据存储阶段采用了直接连接存储(direct-attached storage,DAS)技术和存储级内存(storage class memory,SCM)存储技术; ③ 在数据处理阶段,使用各种数据挖掘分析技术,以及流计算、增量计算、近似计算和压缩计算等等计算技术; ④ 在数据展示阶段,使用时间趋势的可视化和空间趋势的可视化技术,并辅以各种有效的数据可视化工具等.
物联网[13]是通过装置在物体上的各种信息传感设备赋予物体智能,并通过接口与互连网相连而形成的一个物品与物品相连的巨大分布式协同网络.由此可知,物联网具有普遍对象设备化、自治终端互联化和普适服务智能化的3大特征.
物联网技术的基础包括:① 物联网的发展得益于传感器和射频识别(radio frequency identification,RFID)技术; ② 物联网的核心网络是互连网和电信网; ③ 物联网的智能性得益于网络终端从“机”到“物”,这些物品赋予了终端设备智能.物联网的发展历程是:① 互连网的应用扩展; 从早期的“机-机”相连,到近期的“人-人”交互,一直到现今的“物-物”相连; ② 无线宽带网使物联网消除了接入设备位置限制; ③ 移动通信网使物联网实现了无所不在的感知; ④ 低速网络协议更适合于物联网场景.
大数据与云计算和高性能计算之间的关系是:一方面云计算和高性能计算是大数据进行存储和处理的基础计算平台,同时大数据也为云计算和高性能计算找到了具体应用,改变了传统高性能计算的应用模式.
大数据和云计算的关系可以从两个方面来看,一方面,两者侧重点不同,大数据侧重于数据采集、分析挖掘和存储能力等; 而云计算则关注信息技术(information technology,IT)基础架构和数据处理计算能力.另一方面,两者优势互补,云计算为大数据提供弹性可扩展的存储和高效的数据并行处理能力; 而通过大数据的业务需求,则可为云计算落地找到更多的实际应用.
表3从多方面对大数据和云计算进行了综合对比.
大数据与高性能计算的关系表现为:① HPC是大数据处理的基础计算平台; ② 大数据使HPC从追求提升计算速度变成着重提高系统的吞吐率; ③ 大数据改变了HPC应用群体,从科学家、工程师变成了大数据分析从业人员; ④ 大数据使HPC的应用模式从独占资源、统一付费变为虚拟占用、按量付费的方式.
大数据的出现,给传统的高性能计算所带来的新挑战主要包括:
1)计算模式的转变,使HPC以提升系统计算速度的所谓scale-up转变为增大系统吞吐量的所谓scale-out.
2)系统结构的转变,使HPC从大规模并行处理(massively parallel processing,MPP)结构转变为工作站机群(cluster of workstations,COW).
3)编程模式的转变,使HPC从整体大同步的企业解决方案(business solution providers,BSP)模式转变为映射-归约(map-reduce)模式.
4)应用方式的转变,使HPC从需事先预约、统一付费转变到即用即约、按量计价.
此外,传统的高性能计算也要从以“计算为中心”转变为以“数据为中心”; 要从离线批处理逐渐转变为实时流计算; 相应的数据存储模式亦要从集中式的行存储逐渐转向以分布式的列存储为主.
笔者于2005年首先提出了具有3高(高效率、高能效、高可靠)、3低(低功耗、低成本、低噪音)和3易(易编程、易管理、易应用)特点,介于高端高性能计算机和低端PC服务器之间的中档国产普及型个人高性能计算机(popular/personal high performance computer,PHPC)理念,并在文献[14-15]详细阐述.深圳大学和中国科学技术大学团队采用国产龙芯系列CPU,先后研制了KD系列国产万亿次个人高性能计算机KD-50、KD- 60和KD-90[16],以及SD系列国产普及型高性能计算机SD-1、SD-2、SD-3和SD-30(在研),如图1.
图1 国产KD/SD系列普及型个人高性能计算机研制路线图
Fig.1 (Color online)Roadmap of China-made KD/SD series popular/personal high performance computers
国产普及型高性能计算机的研究以单一机箱为基本单元,采用“产普形发展战略开展国产自主普及型高性能计算机的研制,第1阶段是一个体积从大到小的过程,第2阶段是一个计算能力从小到大的过程.第1阶段中,保证机器的峰值速度在万亿次,重点进行硬件平台和系统软件的协同优化,做到低功耗、小型化和高安全性.在第1阶段结束时,做到硬件平台和软件系统技术基本成熟,稳定性和安全性得到基本保证.第2阶段在前面技术积累的基础上,针对特定重大应用需求进行定制化研制,基于已有通用机型设计并制造专用机型.同时以万亿次机为基本计算单元,搭建十万亿次、百万亿次及至更快的自主信息技术平台,主要服务于大规模科学工程计算、云计算等基础设施.
在国际上,2010年3月,美国DAPAR启动的UHPC项目,总投资超过1亿美元,研究具有高能效、高易用和高可信特征的下一代普及型高性能计算机.该项目代表了高性能计算机的研究方向.
值得指出的是,UHPC理念的显著特点是着眼于小型机箱(cabinet),强调其高计算密度、低能耗、易用性和软硬件协同设计.这与笔者提出的3高3低3易理念一致.笔者创立了这一研究理念,并以KD和SD系列普及型个人高性能计算机的研制成功实践了这一理念.
本文回顾了高性能计算的发展历史,并对比分析了网格计算、云计算、大数据和物联网等新技术的特点及其与高性能计算的关系.指出高性能计算和云计算结合而产生的高性能云计算是解决大数据问题的技术途径之一.
高性能计算在过去60年的发展历程中一直存在着一些自身固有的研究难题:包括存储墙(访存速度远跟不上处理器速度)、 通信墙(互连网性能制约着高性能计算的发展)、 可靠墙(系统平均故障间隔时间很短)、 编程墙(编写高度并行程序极度困难)和功耗墙(数十兆瓦的功耗,冷却设施昂贵)等[17-18]. 这些难题严重地影响着高性能计算技术的顺利发展. 不但如此, 研制P级(peta=1015)和E级(exa=1018)高性能计算机还面临着3低(低功耗、低占地和低成本)、 两高(高并行度和高效能)和一普及(市场平民化)的挑战问题[19].
深圳大学学报理工版
JOURNAL OF SHENZHEN UNIVERSITY SCIENCE AND ENGINEERING
(1984年创刊 双月刊)
主 管 深圳大学
主 办 深圳大学
编辑出版 深圳大学学报理工版编辑部
主 编 阮双琛
国内发行 深圳市邮电局
国外发行 中国国际图书贸易集团有限公司(北京399信箱)
地 址 北京东黄城根北街16号
邮 编 100717
电 话 0755-26732266
0755-26538306
Email journal@szu.edu.cn
标准刊号 ISSN 1000-2618
CN 44-1401/N