首页 > 代码库 > 高性能计算机传奇(vamei)

高性能计算机传奇(vamei)

高性能计算机是用网络多台计算机连接在一起。并构成一个统一的系统,从而拥有远超个人电脑的计算能力。这样利用网络,让计算机合作工作的并行系统又称为集群(cluster)。server、分布式计算机、超级计算机都是依照集群的方式组成的。

技术分享

集群

server是指在网络中为客户提供服务的高性能计算机。

一台的server往往在同一时间接收到大量的客户请求。然后依据请求启动大量的任务,以回应客户请求。因为客户请求之间可能差异非常大。所以对应的任务也有大有小。server要均衡负载,合理的分配资源给不同的任务。当我们建立一个站点时,我们通常让站点执行在一台server。从而让站点能够应对大訪问量。

超级计算机是让整个集群为同一个任务工作,以更快的速度来解决一个复杂问题。与server不同,一台超级计算机上往往执行一个任务 (或者有限的几个任务)。全部的计算机资源都被倾注到同一个任务中。

为了解决同一个问题,集群的不同计算机之间要有非常好的沟通能力。

超级计算机适合一些须要并行运算的任务,比方航空航天器设计、核实验、天气预报、星云模拟等。以便用数值方法来获得模拟数据,所以超级计算机大多位于研究机构和大学中。

然而,超级计算机在人工智能领域的应用更能攫取公众注意力。

不管是《2001太空漫游》中的HAL。还是打败国际象棋冠军卡斯帕罗夫的“深蓝” (Deep Blue)电脑,超级计算机深刻的影响了流行文化。计算机被看作拥有思维潜能的机器。而超级计算机作为计算机的领军,更有可能最早以机器身份挑战人类所自豪的理性思维能力。下图是不断被打破的超级计算机纪录,中国的天河以前于2010年登顶:

技术分享

不断被打破的超级计算机纪录 (FLOPS:FLoating Operation Per Second, 每秒浮点计算次数)

 

分布式计算机是随着信息时代而蓬勃发展起来的。与上面两种“真实”集群不同。分布式计算机是构建在互联网之上的一个"虚拟"集群。个人电脑的配置远高于用户的实际须要。并且用户也非常难满负荷的使用个人电脑,所以日常使用的个人电脑上总会有富余的计算能力。随着互联网的发达。个人电脑的富余计算能力成为一座值得开挖的宝藏。分布式计算就是用互联网来连接个人电脑,构成一个集群。这个集群能够作为一个系统工作,以解决一些复杂问题。比方Climateprediction.net。參与者能够下载安装一个小程序,这个小程序会在后台监听。当參与者个人电脑上有空暇资源时(比方长时间不用进入屏保),这些资源就被用来运行一些计算任务,从而为气候变化预測作出贡献。

 

历史

高性能计算机是计算机和网络的结合。它的发展也与网络的发展同步。假设说互联网从外部将分立的计算机连接在一起,那么集群则是将网络内部化,让网络成为系统内部不同计算机的沟通桥梁。首先创造性的发明集群的是Seymour Cray

 

技术分享

Seymour Cray


Seymour Cray是一位美国project师。在1960年代。可以进行高性能运算的仅仅能是经过特别设计的、昂贵的大型机。这些大型机须要复杂的回路以实现高运算频率,所以其设计和生产周期都非常长。

Seymour Cray出于project师的直觉,觉得并行的是提高计算机性能的有效方式。所以在CDC公司工作期间,他使用便宜的方式获得大型机相似的运算能力。他将多个普通的处理器连接起来,并使得这些处理器协同工作。这就是高性能计算机的原型。非常快,Seymour Cray的新架构方式被IBM、HP等公司学习。高性能计算机開始迅速推广。政府和科研部门採购这样的新型的高性能计算机,以代替原有的大型机。高性能计算机为登月计划等大型科研项目做出了不可磨灭的贡献。

然而进入八十年代,随着芯片的不断降价以及CPU频率的不断提高。个人计算机如同超新星一样爆发。个人计算机的计算能力逐渐能够媲美小型机甚至中型机。

苹果、Intel、微软等公司借PC的东风成为PC时代新的王者。随着政府開始在各个部门配置PC以代替高性能计算机,高性能计算机的市场遭到PC的不断蚕食。高性能计算机仅仅能退守复杂运算和公司server市场。但非常快。互联网为高性能计算机提供了新的领地。互联网上广泛採用的server-客户模式需要一方计算机充当server。然而,server往往要应对海量的网络请求。家庭使用的PC非常难应付如此众多的网络请求,必需要依赖基于集群的server。网络的蓬勃发展,特别是2000年附近的网络泡沫,成就了诸如Sun这种server生产商。

现在,IT业向云计算发起冲击。诸如Google、Apple和Amazon这种公司纷纷建立巨大的数据中心,以互联网为基础,向高性能计算领域迅猛扩张。在个人计算机领域,随着CPU主频靠近量子瓶颈。摩尔定律接近失效。个人计算机正在从单核向多核过渡。

并行式的高性能计算机非常可能在不久的将来成为新的家庭必备。

 

硬件与软件

从硬件方面,一个高性能计算机中能够包括多个机箱,每一个机箱内都是一个主机。主机与普通PC并没有太大不同,都由主板、CPU、内存、网卡组成 。

机箱经常是非常紧凑的躺在一个架子上。因为高性能计算机有非常强的通信需求,所以一个主机上往往有不止一个网卡。

技术分享

server

高性能计算机的主机之间的连接方式可能非常复杂。依据不同的须要,高性能计算机的内部网络拓扑结构也会不同。

一般来说,集群中主机越多,网络的拓扑越复杂。比方下图,是对称的主机连接方式,这些连接方式都适用于科学运算相关的场合:

技术分享

经典的Beowulf连接则由一台主机统一将来自Internet的请求分配给各个node,适合于网络相关的应用:

技术分享

Beowulf cluster

从软件上说,如今的集群大多採用UNIX/Linux系统 (Windows NT在server领域也有市场)。

此外。集群至少须要:

  • 一套中心管理软件
  • 构建于TCP/IP协议上的通信软件,比方MPI和PVM
  • 任务管理软件,将任务分配给不同的主机。并均衡不同主机的负载
  • 负责监视和处理异常情况的软件

 

冷却系统

散热是高性能计算机最值得头痛的地方。所以值得单列出来。一个高性能计算机中心的主要开销往往是空调电费。而不是硬件费用。对于个人PC来说,每一个机箱中一般仅仅有一套芯片,所以使用一套风扇就能够将热气吹出机箱。但高性能计算机须要将多个CPU和大量内存集成在一个机箱中,再将机箱密集放在支架上,所以热源密度大大提高。过高的温度会迅速烧坏芯片,也会限制高性能计算机的性能。高性能计算机设计的冷却系统必须很强力。通常,配置风冷的机房都要额外安装空调,以便维持较低的室温。下图是日本开发的一款“便宜”超级计算机。用的是很强力的……风扇。

技术分享

“原始”风冷

 

虽然风冷系统成本低,但因为空气热容量非常小,所以风冷系统的效率低下。虽然能够将空调的冷气直接吹过server以达到更高效率。但冷气的成本高且不环保。水冷系统是风冷的还有一个选择。旧式的水冷系统是让水管流过机箱側壁,以减少整个server机箱的温度。

通常。流入的水大概有十几度的温度。而流出水可能二十几度。进出有七八度的温差。因为水有非常高的热容,所以能够有效的移除机箱内的热量。

技术分享

支架側壁的水冷系统

 

旧的水冷系统冷却整个机箱的温度,但热量主要是由CPU和内存等芯片产生。新一代的水冷系统将水管直接贴近芯片,以更精确的降温。下图所看到的的IBM水冷系统包含黄铜色的管道和包裹在内存和芯片周围的散热片。

这种散热系统最大的隐患在于漏水。

因为水冷和芯片过度“亲热”。一旦水管漏水。电子器件将统统报废。所以,这种水冷系统有非常精密的设计。比方管道内部有特殊的涂层。一旦外面的金属管出现裂缝,涂层材料会膨胀而暂时堵上缺口。

水冷系统所用的水会经过精心过滤。以去除杂志和氧化成分。

另外,在重要接口处和机房内,还有自己主动调节的控湿系统,以防止水冷系统生锈。

这种水冷系统刚刚问世不久,但其高效率已经得到业内人士的认可。(这样一套水冷系统价格不菲)

技术分享

新式水冷系统、

 

数据中心

假设说server是对运算能力的第一次集成。那么数据中心就是对运算能力的进一步集成。

数据中心是集中存放和执行server的地方。

随着诸如苹果、Google这种明星网络公司出现,以及云计算和大数据概念的风起云涌。其幕后的数据中心開始走入公共视野。数据中心要求有优秀的架构设计,网路设计,电源设计和空间设计,以容纳海量处理器,并保持整个数据中心的稳定执行,同一时候随时准备好应对断电等意外。

这些数据中心每天须要应付十亿次量级的訪问请求,而这些訪问请求就是诸如Google和Amazon这种网络公司的命脉。

假设google.com域名出现404错误(中国之外的地方),Google的股价恐怕就要跳水。在稳定的基础上,效率和成本成为越来越重要的考虑。很多数据中心所用的硬件都是来自回收站的二手货 (据说Google会从回收站拉回成卡车的废旧处理器)。

通过负载均衡、数据库管理等软件手段点石成金,旧硬件的性能被充分开发。“高性能软件+低成本硬件”的解决方式正在各大网络公司占领主导地位。还有一方面,网络公司開始尝试跳过诸如IBM和Sun这种server制造商。直接和Intel合作获得芯片。然后自行组装server。

技术分享

数据中心设计

 

数据中心有非常多有意的分布在偏远的郊区。除了土地成本的原因之外,位于郊区的数据中心也不用和市区竞争用电。随着绿色数据中心概念的兴起,越来越多人開始关注数据中心可能带来的能源和环境问题。Google和苹果等大公司開始有意的将数据中心放在高纬度、高海拔的地区。以享受天然的“空调”气温。

另外,数据中心也经常选择在湖泊和河流附近,就地获得冷却水。实际上。数据中心的单位电FLOPS要远超过小型的机房。

技术分享

Google数据中心

 

量子瓶颈,并行运算与未来

CPU的加工精度正在靠近量子效应所规定的上限,摩尔定律会在此失效。计算机的主频非常可能在非常长一段时间内保持稳定。并行运算非常可能成为下一个热点。高性能计算机向人们展示硬件上的可能性。然而软件上,人们的准备并不充分。

传统的算法必须经过更改才干适应并行情境。怎样优化以及标准化并行算法。还远远没有一个确定的答案。此外,云平台会将我们带往何处,也是一个大大的问号。

所以,高性能计算机还是一个远没有结束的传奇。

高性能计算机传奇(vamei)