高性能计算介绍
来自:MACD论坛(bbs.macd.cn)
作者:zouyang
浏览:4812
回复:1
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
高性能计算介绍
高性能计算(HPC)是一个计算机集群系统,它通过各种互联技术将多个计算机系统连接在一起,利用所有被连接系统的综合计算能力来处理大型计算问题,所以又通常被称为高性能计算集群。
高性能计算方法的基本原理就是将问题分为若干部分,而相连的每台计算机(称为节点)均可同时参与问题的解决,从而显著缩短了解决整个问题所需的计算时间。
通常,解决大型计算问题需要功能强大的计算机系统,而现在,随着高性能计算的出现,使这一类应用从昂贵的大型外部计算机系统演变为采用商用服务器产品和软件的高性能计算机集群。因此,高性能计算系统已经成为解决大型问题计算机系统的发展方向。 那么,什么样的大型问题最适合使用高性能计算系统呢?一般来说,高性能计算是为了实现在下列情况下的计算系统:
能够突破性能极限的计算。
单个高端计算机系统不能满足其需求的计算。
需要通过专门的程序优化最大限度提高系统的I/O、计算和数据传送性能的计算。
1.2.高性能计算的发展
1.2.1. 矢量对称多处理
上世纪80年代,由定制设计的软硬件和Fortran编译器组成的大型单片机系统占据着高性能计算的统治地位。该系统可以完成所需工作,但计算机的快速演进使其在几年内即被弃用。它没有遵循摩尔定律,昂贵的成本抑制了它的发展,它只能解决少数用户的计算需求,显然不能为大众所接受。
矢量高性能计算包括以下组件:
定制CPU
定制内存
定制封装
定制互连
定制操作系统
成本极其昂贵:每gigaFLOP(每秒十万亿次浮点运算)约500万美元
技术演进统计:只有约1/3符合摩尔定律的预测
1.2.2. 大规模并行处理
上世纪90年代,HPC系统开始采用商业化处理器和内存,但这些系统仍需依赖定制的互连、封装、操作系统和系统管理工具。系统添加了一个Fortran编译器,同时其售价仅为80年代的1/25。该系统虽然更为强大,但由于某些硬件仍需定制,所以它仍无法完全遵循摩尔定律的原理。其中一个最典型的实例就是Sandia?沂笛槭也渴鸬腁SCII red系统。
商业化(COTS)CPU
商业化内存
定制封装
定制互连
定制操作系统
成本较高:每gigaFlop(每秒十亿次浮点运算)约20万美元
技术演进统计:只有约1/2符合摩尔定律的预测
1.2.3. 高性能计算机集群系统
目前几乎所有组件均已上市,并被商业化操作系统(如Linux)紧密连接在一起。现在,集群新硬件的快速推出进一步验证了摩尔定律。实际上,许多性能卓越的集群都在其原始配置基础上获得了显著提高。
(COTS)CPU
(COTS)内存
(COTS)封装
(COTS)互连
(COTS)操作系统
集群阵列拉近了它与高端超级计算机的性能差距。
COTS联网技术已经非常成熟。
成本适中:每gigaFLOP(每秒十亿次浮点运算)约4000美元
技术演进完全遵循摩尔定律
1.3. 高性能计算的市场预测
1.3.1. 截止到2005年的预测概览
在本世纪前5年内,技术系统和服务器市场收入的复合年增长率(CAGR)将可达到13.1%,届时市场收入将超过112亿美元。随着高端性能和企业级系统的扩展,预计所有市场都将实现增长。
全球高性能技术系统收入
定制技术计算机 超过1,000,000美元的系统 介于250,000美元与999,999美元之间的技术系统 低于250,000美元的技术系统
集群解决方案的增长幅度将会明显超过整个技术系统市场。集群增长的主要推动因素在于它能够以极低的购价将大量原始计算性能整合起来,因此,集群技术今后必将成为推动组件和性能增长的主要推动因素。
到2005年,服务器集群系统的收入预计会占到服务器市场总收入的14%。 这些系统的进一步普及要归功于以下几个方面:
商业化(COTS)系统的计算能力呈指数增长。
连接节点的商用技术发展迅速,现已能实现高速节点间的无瓶颈通信。
可支持高性能集群并行计算特性的软件开发工作已取得很大进展。
二、高性能计算体系结构:
2.1.高性能计算架构
高性能计算系统一般包含如下几个层次:
2.2. 高性能计算系统的应用
高性能计算系统的目的是解决大型计算问题,在现实生活中,许多科学研究和商业企业的计算方面的问题都可以通过高性能计算系统来解决。特别是在下面的领域,高性能计算系统能够帮助开发和研究人员进行建模和模拟。同时,以最快的数度计算出模拟的结果,为下一步的开发和最终结构的确定提供依据。
天气预报气象
制药企业的药理分析
科研人员的大型科学计算问题
石油勘探中对石油储量的分析
航空航天企业的设计和模拟
化工企业中对分子结构的分析计算
制造业中的CAD/CAM系统和模拟试验分析
银行和金融业对经济情况的分析
生物/生命科学中生物分子研究和基因工程计算
同时,高性能计算系统在下列的公共部门的应用也非常广泛:
国家/政府机构
国家实验室
高等院校
2.3. 通讯库和集群控制系统
我们知道,高性能计算系统实际上是一个计算机集群系统,它需要通过通讯和集群控制软件将整个系统紧密联系在一起。同时,还要负责初始化集群节点、在所需数量的节点上安装应用程序、并监视集群节点和互连的当前运行状况。
目前在市场上有多开放源代码的集群控制系统,也有许多高性能计算的用户开发自己的控制系统来适应其特殊的应用软件的需求。
2.4. 高性能计算的互联技术
高性能计算的互联技术在整个系统中非常重要,因为一般的高性能计算系统都需要讲几十台甚至几百台的计算机系统互相连接在一起,互联系统的性能有时会直接影响整个高性能计算系统的性能。
目前,一般的大型高性能计算系统使用Myrinet*系统作为主要的数据互联系统,而使用百兆或千兆以太网进行管理与控制。而在小型的高性能计算系统中,可以用直接使用千兆甚至百兆以太网作为互联系统。
2.5. 计算节点
计算节点是高性能计算系统中的单个计算机系统,是整个高性能计算系统的基础。基于英特尔架构的服务器系统是作为高性能计算节点的最佳选择。应为大多数高性能计算需要多线程同时执行,这样基于英特尔至强?处理器的计算节点可以满足需求。另外,大多数模拟类型程序需要进行大量浮点运算(FLOPS),因而节点处理器支持大量浮点运算的能力就变得至关重要。当前的英特尔处理器(如英特尔至强?处理器)的处理速度已达到每秒二十亿次浮点运算。这意味着由1000枚处理器组成的集群的处理能力可与世界上一些功能最强大的超级计算机相媲美,而成本却低得多。
数据采掘则不同。根据数据库的体系结构,这些应用对I/O的潜在要求较高。而分布式驻留内存数据库例外。在该体系结构中,集群中的每个处理器都要参与一部分数据库处理。当一个查询请求被提交给数据库时,它同时被提交给集群中的所有处理器。由于所有处理器都只需处理一小部分数据库,因而解决查询的速度要比在传统体系结构中快得多。
三、设计高性能计算系统:
设计一个高性能计算系统是一件复杂的系统工程,涉及从软件到硬件的各个层面,而且每一个环节都相互关联。因此,设计和构建一个高性能计算系统应该使用系统的设计方法,按照一定的步骤来确定整个系统中的各个部分。
这一部分,我们按照系统的设计方法来对高性能计算的各个环节的设计和设备选型给出相应的建议。
3.1. 判断应用的特性
对于一个高性能计算的应用,我们可以从如下的几个方面来确定其类型:
3.1.1. 应用的粒度
由于高性能计算的应用需要在多个计算节点上同时运行,则在各个节点计算的同时,还需要相互间的通讯。所谓应用的粒度,是指在一个高性能计算应用中计算所花的时间与通讯所花的时间之比。这是高性能计算应用的一个重要的特征之一。
很显然,不同的应用其粒度也不一样。例如一个生成动画电影的高性能计算应用,用于每幅画面可以由任何一个计算检点独立计算生成,节点间的通讯量非常少,因此,这是一个粒度非常大的应用。反之,对于一个进行汽车模拟碰撞试验的高性能计算的应用,由于在每个节点上计算的任何部件的运动,都会对其它的部件的状态有影响,因而节点间的相互通讯会非常多,这类应用就是小粒度的应用。 |