高性能计算 HPC.docx
《高性能计算 HPC.docx》由会员分享,可在线阅读,更多相关《高性能计算 HPC.docx(16页珍藏版)》请在冰点文库上搜索。
![高性能计算 HPC.docx](https://file1.bingdoc.com/fileroot1/2023-5/17/54cfa409-855d-499d-a35c-98dfa5e61fa5/54cfa409-855d-499d-a35c-98dfa5e61fa51.gif)
高性能计算HPC
高性能计算初步调研
目前数据中心不再是单纯地增加服务器的数量和扩展机房的面积以满足业务应用,而是逐步升级到对数据中心整体规划和计算能力、效率的提升层面上来。
数据中心需要强大计算能力作为支撑,这样才能满足日益快速发展的业务需求。
高性能计算机集群(HPC:
HighPerformanceComputing)在计算领域中得到了普遍应用。
高性能计算(HPC)实际上就是集群计算,集群计算是多台计算机的合作,并且并行工作,计算速度比一台计算机的计算速度快的多。
集群计算机连在一起,可以提供如下功能:
可扩展性、冗余性、成本考虑。
由于HPC系统能够快速准确计算出结果,有助于解决商业和科学研究中面临的问题,所以,HPC系统正在被越来越多的数据中心所采用。
值得注意的是,一个集群中需要支持多种类型的数据流,在同一集群中可同时采用不同类型的互联网络,而这些网络又拥有各自的网络协议,也就意味着,网络性能和特性会有不同。
目前,集群计算、存储区域网、网格、内部处理器通信等高端领域对高带宽、高扩展性、高QoS以及高RAS(Reliability、AvailabilityandServiceability)等有迫切需求,人们对互连技术的兴趣开始恢复,并且非常希望通过更迅速的互连技术,帮助数据中心降低总体运营成本,以实现高性能计算。
为了满足高性能计算需求,各种高速I/O标准相继登场,Infiniband也凭借其特有的优势在市场中逐渐崭露头角。
Infiniband技术是一种开放标准的高速网络互联技术,Infiniband产品也是目前主流的高性能计算机互连设备之一。
事实上,Infiniband是一种新型的总线结构,它可以消除目前阻碍服务器和存储系统的瓶颈问题,是一种将服务器、网络设备和存储设备连接在一起的交换结构的I/O技术。
一.高性能计算与云计算
“云计算是一种计算模式,在这种模式下,任务被分配给可通过网络获得的连接、软件和服务。
这种服务器与连接的网络统称为"云"。
云规模的计算能赋予用户超级计算机级别的能力。
”
“云计算支持应用在"云"中某处运行,可以是您的电脑、公司或家庭网络,甚或互联网本身,但实际上用户无需了解、也不用担心应用运行的具体位置。
”
许多人称云计算是HPCC的未来,究其原因,自然是因为它用途广泛、易于使用以及成本低廉(在大多数情况下),同时它还能为用户带来超级计算机级别的性能。
在核实云计算是否能带给用户超级计算机级别的性能之前,让我们首先查看"应用纲要",即应用成功运行所需的资源集。
云计算应用纲要
a确保云计算成功执行的一大要素是应用纲要,即应用运行所需的资源和作用方式。
在广义上,当前云计算应用具备下列纲要:
b应用不会出现任何程度的并行,也未进行线程化。
c几乎所有应用都不需要过多的内存带宽和高CPU使用率。
d应用很少执行与其计算相关的IO,但也会存在例外,如实际上并未在“云”上运行的数据库。
e应用可进行自我修复。
也就是说,一旦应用因故出现故障,它能轻松重启或恢复,而不会对用户的工作造成太大的中断。
大多数日常应用(如制作演示幻灯、撰写文档和电子表单、畅玩游戏等)都是串行应用,许多功能往往都放置在了桌面上(很可能采用AJAX)。
Google等公司开发出了针对云计算的存储系统,但这些文件系统主要面向具备上述纲要的应用(例如hadoop)。
由于您必须使用MapReduce来访问和使用这些文件系统,因而它们在传统HPC应用上的适用性会受到限制。
上述应用特征同样适用于许多企业应用。
换而言之,它们是IO量极少的串行应用。
当然也存在IO密集型企业应用,如数据库等,但它们通常不会在总体应用排名中占据优势。
HPCC计算应用纲要
HPCC应用具备各种应用纲要。
典型应用涉及并行计算,可能含有大量的IO。
同时,串行(单节点)HPCC应用可能执行许多IO任务。
因此,HPCC应用的纲要范围十分广。
下面简要列出了HPCC应用的几项要素。
*许多应用为串行应用,其中各种进程之间存在一些数据通信。
*有时进程间的数据传输量很少。
例如:
某CFD代码
*有时进程间的数据传输量很大。
例如:
WRF
*有些应用为串行应用或线程化应用,运行于单个节点上。
例如:
BLAST
*有些串行或并行应用执行许多IO任务。
例如:
Ansys、Abaqus或Nastran等FEA代码
*有些串行或并行应用不执行许多IO任务。
*有些应用能够生成一个检查点,即一份计算进程的快照。
*一旦系统因故出现故障,它能够从上一个检查点重新启动,而无需从一开始重启。
并非所有应用都具备这一功能。
只需查看应用纲要即可了解HPCC应用之间的巨大差异。
显然,HPCC应用具备与当前的云计算应用不同的应用纲要。
正因为存在这个差异,一些HPCC应用能够适用于云计算模式,而有些却不适用。
在下一章节,我们将探讨哪些HPCC应用能够在云计算模式下运行良好,哪些不适用于云计算模式且不可能适用于这一模式。
云计算中的HPCC应用
从目前来看,云计算应用和HPCC应用似乎有很大不同,但仔细分析后不难发现,两者之间仍然存在着一些共同点。
某些HPCC应用并不依赖于节点间的通信,也不需要太多的IO(如BLAST)。
这些特定应用的应用纲要能够很好地与云计算能力相契合。
那么,这样的应用有哪些呢?
事实上,现在还很难找到此类具体应用,因为并行应用完全能在单个节点上正常运行。
只要数据集能在无需交换的情况下置入节点,应用就可以在云计算环境中运行。
下面是一份有关HPCC应用需求的速列清单,明确列出了在云计算环境下应用和数据集之间应如何配合才能确保两者的正常运行。
a应用必须运行于单个节点。
数据集必须位于单个节点。
b非IO密集型应用。
c应用需快速运行,或创建一个检查点(自我检查点)。
因此,适合云计算环境的HPCC应用的应用纲要还是比较有限(但绝非完全没有)。
另一类能够正常运行于云计算环境的应用是大型搜索应用。
目前Google已经掌握了云计算技术,但其它领域也同样存在着搜索应用。
例如,BLAST可用于搜索和比较生物序列信息。
因此在搜索大型序列信息数据库时,会生成和执行大量的搜索。
而每次搜索都能在单一节点中执行(尽管已经出现并行版本的BLAST)。
在云计算环境中运行必须考虑的最后一个问题是数据安全性。
企业和实验室一般利用HPCC应用来创造新产品或开展新研究,这无疑是一项优势。
但企业必须要确保数据的安全。
如果您是在云计算环境中运行专属应用,就必须考虑数据安全性问题。
到目前为止,业界尚未对云计算数据安全问题进行真正意义上的讨论或关注。
云计算=网格计算?
如果您在几年前接触过高性能计算(HPC),那么您一定听说过网格计算。
由于网格计算和云计算都能够将位于不同位置的不同资源集中在一个系统中,因此两者在理念上十分类似。
网格计算能够将不同任务提交至集中任务调度器进行分配,决定在何处运行应用,以达到在网格中运行HPC代码的目的。
应用既可以在本地运行,也可能在相距数千英里的其它系统上运行。
这样看来,网格计算和云计算似乎并无区别。
但实际上,两者之间有本质的不同。
首先,网格计算能够运行任何HPC代码,即使其中包含大量的进程间通信或IO,而云计算就无法做到这一点。
前者的优势在于您能够在网格中运行MPI代码,将位于不同地方的系统集中在一个系统中。
但实际上,由于带宽有限、系统间的延迟过高,应用并不能以这种方式运行。
当前的网格更像是采取了元调度(meta-scheduling)的运行方式,即将任务提交至集中调度点进行分配,让它决定应用运行的系统。
因此,应用不会在多个系统上运行,而是在网格内的单一系统上运行。
网格计算和云计算之间存在一个非常重要的差异:
在云计算环境下,应用中不能出现跨节点的进程间通信,IO量也不能太多;而网格计算则允许应用中包含大量的跨节点进程间通信,以及单一系统所能容纳的IO量。
*云计算需使用串行应用(运行于单枚内核或单一节点),拥有限于单一节点的数据集,只进行少量IO操作,且无需数据保护。
*运行HPCC应用需满足一系列条件,如运行于单一节点(如BLAST)或运行于多个并行节点。
此外,它们还可能产生大量IO,同时还必须考虑数据安全性问题。
*网格计算能够运行HPCC应用,用户可以不知道这些应用的运行位置(类似于云计算),但却需要满足HPCC应用的所有要求。
在对上述三类计算模式进行深入观察后,我们可以很容易找出它们之间的差异,并选择最能满足您计算需求的模式。
观察与展望
什么是云计算?
云计算如何影响HPCC?
云计算在很多方面类似于网格计算,但两者在应用纲要上还是存在一些本质差异,这也限制了HPCC应用对云计算优势的利用。
云计算只能对特定的HPCC领域产生影响,如那些无需(或仅需少量)进程间通信,且IO量非常有限的应用。
如今,人们还在四处寻找云计算的用武之地。
如此看来,现在的云计算技术尚处在"幼年时期",您完全无需改变原有的HPCC策略。
但在另一方面,HPCC的定义也在不断变化。
在过去,HPCC一直以大型设备(比台式机大)上的科学或工程计算应用,或计算量极大的数学或科学领域应用为重心。
但在最近一段时间内,已经有人开始尝试在商务智能(BI)应用领域中实施HPCC,甚至连数据库这样的应用也开始出现在HPCC应用环境中,同时还有人考虑将HPCC扩展到游戏或娱乐应用《第二人生》(SecondLife)或《网络创世纪》(UltimaOnline等大型多人在线游戏)等领域。
即使是Google这样的搜索引擎也在考虑之列。
随着HPCC范畴的不断扩大,云计算也许将在HPCC中得以广泛应用。
但这也只是一种猜测。
谁知道呢?
也许这些应用终会“改名换姓”,将HPCC永远束之高阁也说不定。
二.2010年中国高性能计算机性能TOP10排行榜
序号
研制厂商/单位
型号
安装地点
应用领域
CPU核数
Linpack值(Gflops)
Linpack来源
峰值(Gflops)
效率
1
国防科大
天河一号A/7168x2IntelHexaCoreXeonX56702.93GHz+7168NvidiaTeslaM2050@1.15GHz+2048HexCoreFT-1000@1GHz/私有高速网络80Gbps
国家超级计算天津中心
科学计算/工业
.00
Q
.00
0.533
2
曙光
曙光星云/Dawning TC3600 Blade/IntelHexaCore X5650+Nvidia Tesla C2050 GPU/QDR Infiniband
曙光公司
科学计算/工业
.00
C
.00
0.426
3
中科院过程所
Mole-8.5Cluster/320x2IntelQCXeonE55202.26Ghz+320x6NvidiaTeslaC2050/QDRInfiniband
中国科学院过程工程研究所
科学计算/粒子模拟
33120
.00
Q
.00
0.182
4
曙光
魔方/曙光5000A/1920x4AMDQCBarcelona1.9GHz/DDRInfiniband/WCCS+Linux
上海超级计算中心
科学计算/工业
30720
.00
C
.00
0.774
5
联想
深腾7000/1240x2IntelXeonQCE54503.0GHz/140x4IntelXeonQCX73502.93GHzInfiniband4xDDR
中国科学院超级计算中心
科学计算
12160
.00
C
.00
0.733
6
曙光
曙光星云/Dawning TC3600 Blade/220x(2Intel HexaCoreX5650+1NVidia Tesla C2050)/QDR Infiniband
成都超级计算中心(二期)
科学计算/工业
5720
76350.38
C
.60
0.540
7
曙光
生物专用机/Dawning TC3600 Blade/Intel HexaCoreX5650+NVidia Tesla C2050 GPU/QDR Infiniband
中国科学院计算技术研究所
生物信息学
4160
55527.55
C
.80
0.540
8
IBM
xSeriesx3650M2Cluster/IntelXeonQCE55xx2.53Ghz/Giga-E
工程公司
工业
8960
51200.00
T
90680.00
0.565
9
HP
ClusterPlatform3000BL460cG6/IntelXeonE55402.53GHz/Giga-E
中国电信
电信
7848
41880.00
C
79420.00
0.527
10
IBM
BladeCenterHS22Cluster/IntelXeonQCGT2.53GHz/Giga-E
网络公司
工业/游戏
7168
41270.00
T
72540.00
0.569
三.中国2010年高性能计算重大事件
事件一:
龙芯刀片研发成功
曙光公司于4月份宣布研制成功龙芯刀片服务器,这标志着国产处理器首次应用在了高密度刀片产品中,也是首次应用在高性能计算领域。
正如龙芯总设计师胡伟武在曙光龙芯刀片服务器发布现场所言,“我最早认为龙芯是一个项目,后来认为这是一个产品,现在才发现龙芯其实是一个产业链。
”
龙芯系列处理器发展到现在即将有三大路线图,分别是面向服务器和高性能计算领域的“大CPU”龙芯3A(龙芯刀片),未来曙光6000将采用的龙芯3B处理器(8核心);另一条路线则是面向普通计算机和嵌入式应用的龙芯2系列处理器,已经发展到了龙芯2F和龙芯2G;最后一条产品线是面向移动和消费电子的嵌入式龙芯1系列处理器。
笔者认为,相比国外主流x86厂商在制程和主频工艺等领域疯狂攀升性能,龙芯走了另一条路(MIPS架构),并且在多核心封装方面具有x86所不具备的优势。
未来的曙光6000将成为国内超算首次使用国产处理器的里程碑,意义空前。
事件二:
“星云”超算冲上Top500第二名
紧接着龙芯刀片的成功发布,曙光在6月份发布了基于模块化刀片服务器TC3600的超级计算机“星云”(详见这里)并冲上了六月份Top500榜单的第二名(详见这里)。
“星云”超级计算机采用的是曙光最新的SSI模块化刀片服务器TC3600作为节点(点这里查看TC3600细节),其CPU+GPU的混合架构在针对“华大基因”这类公司的微生物计算方面拥有明显优势。
事件三:
英特尔推出“MIC”并行计算架构
英特尔发布“MIC”众核计算架构的目的在于对未来计算市场的预期——会有一部分应用是高并行度的。
而另一方面来自Nvidia和ATI的GPGPU在编程方面又存在各种困扰,因此英特尔推出了“MIC”众核架构处理器,主要面向勘探、科研、金融、气候模拟等高性能计算(HPC)领域。
笔者认为,相比先期英特尔高调宣传却最终失败的“Larrabee”x86架构GPU来看,“MIC”产品是其研究成果的继任者,不过更加务实的着眼于专业领域。
首先推出的“KnightsFerry”实验型产品并不商用而是面向合作伙伴的开发和测试工具;未来将推出的22nm工艺“KnightsCorner”才是商用“MIC”产品,预计将集成超过50个众核处理器。
事件四:
“天河一号”爆冷夺Top500桂冠
2010年10月末的全国高性能计算年会上,“天河一号”以2500万亿次的计算性能再次获得国内超算第一名的成绩(详见这里),并且在接下来的Top500排行中成为世界第一(详见这里)。
国防科大自主研发的“天河一号”自去年以峰值性能1206万亿次夺得国内TOP100第一名以来(详见这里),经过对CPU和Tesla计算卡的升级以及今年新加入的国产飞腾系列处理器(详见这里),使其计算性能猛增到2507万亿次。
下面是2010年在高性能计算领域发生的主要事件时间表:
4月23日,曙光宣布成功研制出基于国产龙芯处理器的高性能刀片服务器CB50-A。
5月4日,曙光推出第二款个人高性能计算机“PHPC200”,运算速度达到2500万亿次。
5月31日,全球Top500排行榜出炉(2010年年中),曙光“星云”超级计算机位列第二。
5月31日,英特尔宣布将推出集成众核架构(MIC)产品,首批样品代号KnightsFerry,仅用于研究。
6月2日,Cray宣布推出基于AMD十二核皓龙6100的超级计算机“XE6”。
6月7日,“2010年中国高效能计算应用高峰论坛”将在北京举行,来自中国软件行业协会数学软件分会、中国科学院过程工程研究所、北京大学、中国科学院软件研究所、Nvidia、Intel、Mellanox的多位专家代表将就“GPU在高性能计算领域里的最新应用发展与挑战”展开演讲与讨论
6月25日,英特尔2010年高性能计算研讨会举行,主题“石油勘探挑战高性能计算”。
7月26日,微软发布新一代高性能计算(HPC)集群专用系统“WindowsHPCServer2008R2Suite”。
9月28日,浪潮承接山东信息通信技术研究院项目,开建“神威蓝光”千万亿次超级计算机。
10月27日~30日,2010年全国高性能计算学术年会在国家会议中心召开,其间公布了中国Top100超级计算排行榜,国防科大的“天河一号”以2500万亿次速度荣获第一,曙光星云名列第二。
11月13~19日,国际超级计算大会在美国举行,其间发布了全球高性能计算机Top500排行榜,中国“天河一号”名列第一,曙光星云名列第三。
11月24日,世界超算Green500,能效排行榜公布,天河一号排名第11位。
四.国家政策相关
1.十二五:
我国高性能计算重在提高“软实力”
【赛迪网讯】不久前公布的全球高性能计算TOP500的排名,中国“天河1号”超越了所有对手位居榜首。
应该说,“十一五”期间,中国在高性能计算领域,尤其是系统硬件方面取得了许多重要突破,但是和国外高性能计算实力相比较,我们的HPC(高性能计算)在软件应用、核心技术、系统架构的创新上却有相当大的差距,需要在“十二五”期间,补齐这些短板,让中国高性能计算的“软”实力也“硬”起来。
首先要加大对HPC软件应用发展的投入力度。
在国外,高性能计算系统的发展,往往是因为需要解决某些具体的应用需求难点而在计算层面进行创新,从而带动了系统硬件不断升级。
是先“软”后“硬”,或者“软”“硬”同步。
但是我们的HPC发展却轻“软”重“硬”,其结果是尽管我们的计算速度上去了,但是所跑的HPC软件都是国外的。
很多关键领域、高端领域的HPC应用软件,国外限制对中国出口。
所以未来要进一步推动HPC的普及化,让它能够为中国的产业升级、为大飞机、为航天航空、为气象预报、灾害预警等释放更多能量与价值,就必须大力发展HPC的应用与软件。
需要改变对高性能计算评估体系。
如果想要在“十二五”期间大力发展软件与应用,就需要修订我们对高性能计算发展的考核与考评的指标,制定不同应用领域的评估指标,改变重硬件而轻算法的局面。
比如在气象领域,需要用清晰度、分辨率等这些倾向于应用的指标来考核HPC的成果。
在每一个重要的HPC应用领域,都制定相应指标体系,鼓励HPC产学研机构去参与这些领域的竞标,展开HPC的应用竞赛,形成重视HPC软件与应用的产业氛围,只有这样,我们的HPC应用软件才能发展起来。
需要在核心技术、核心架构上进行创新。
尽管中国的HPC拿到了全球HPCTOP500的好名次,但是我们所采用的系统架构、所采用的CPU+GPU模式,其核心技术都来自于国外企业,某种意义上看我们只是在别人已经设计好的蓝图上将之发扬光大罢了。
而欧美等国已经开始布局5年甚至是10年之后的HPC,如果我们依然停留在别人的架构与核心技术之下,未来,我们的HPC将不仅仅是落后几年的问题而是落后一代的问题。
所以,我们需要在“十二五”期间加大在HPC核心技术、核心架构上的创新,尤其是对特殊的应用进行针对性设计与优化,将有机会带来中国HPC核心技术的突破。
(1)曙光公司总裁历军:
高性能计算需要普及
在“十二五”期间,国内的高性能计算企业应将应用的重点放在引导用户了解高性能计算,用巧妙的方式引发用户了解高性能计算的优势和自身的需求。
高性能计算的集中化趋势是历史必然。
而在云计算等新模式下,高性能计算的发展仍将注重高性能计算系统的研究与发展。
以曙光为例,曙光在研究新技术和新产品的同时,是带着引导用户使用与满足用户需求的目的的。
在未来,高性能计算需要推动普及化应用,只有应用需求与产业化技术得到有效提升,中国高性能计算的发展才能真正做大做强,做到科技与民生的实际性结合,中国高性能计算才能走出属于自己的中国化特色。
(2)浪潮高性能服务器产品部总经理刘军:
调整评估体系
国家在“十一五”期间对高性能计算系统的巨大投入,使我们在全球HPCTOP500的排名已经做到了NO.1,在硬件系统上取得了很好成绩,也引起了美国与日本等国的关注。
但从另一方面看,我们的HPC在软件和应用方面的差距很大。
所以在“十二五”期间,中国发展高性能计算要补齐我们在应用软件上的短板,同时要在核心技术与系统架构上有属于自己的创新。
要在这两方面突破,在发展思路上就要应对挑战,在对高性能计算的成果评估体系上就需要将原来关注速度等指标调整为关注应用,比如说在气象领域要达到多少分辨率,在算法上取得哪些突破,在应用上扩展到多少核等等。
(3)北京市公共计算重点实验室主任曾宇:
应用成为普及关键
高性能计算的普及,应用是关键。
这包括两个层面的含义,一是高性能计算平台、应用软件、相关算法、服务团队应该能满足应用的需求,二是高性能计算平台其服务模式、服务收费应该能让应用快捷、方便、廉价、透明。
国家应该基于区域经济结构的特点,统一规划。
无论是云计算还是高性能计算,服务的模式和服务的对象是规划其产业发展的关键。
云计算本身针对应用需求的特征提供商品化的计算能力和数据处理服务能力,以公共云计算平台推动领域计算服务、领域数据处理服务,推动区域社会经济建设和行业发展,培育区域社会经济发展新的经济增长点,从而推动民族传统产业和新兴产业的自主创新发展是可行的方案。
(4)清华大学计算机系副主任、教授陈文光:
加大HPC推广力度
首先还是要加大推动应用的力度。
中国在高性能计算硬件方面的计算速度已经上去,但是在应用上与国外的差距还是比较大。
应用的发展需要国家长期支持。
发展HPC应用,我们需要以科研为契机,打通人才教育生态链,做好人才培养的储备,为中国的产业升级做好支撑。
其次是要加强硬件的核心技术研发。
目前虽然我们的HPC计算速度上去了,但是核心的CPU、GPU还是采用国外的,我们需要研发自己的CPU和GPU,需要在系统结构上有所创新。
需要针对特殊的应用,进行处理器与架构等方面的定制,形成我们在高性能计算领域的竞争力。
2.高标委召开会议,HPC标准建立
2007年3月,在曙光的倡议发起下,中国电子工业标准化技术协会成立了高性能计算机标准工作委员会,以刀片服务器为突破口,试图构建高性能计算机产品及应用的相关技术标