高性能计算机传奇

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

集群

服务器是指在网络中为客户提供服务的高性能计算机。一台的服务器往往在同一时间接收到大量的客户请求,然后根据请求启动大量的任务,以回应客户请求。由于客户请求之间可能差异很大,所以相应的任务也有大有小。服务器要均衡负载,合理的分配资源给不同的任务。当我们建立一个网站时,我们通常让网站运行在一台服务器,从而让网站可以应对大访问量。

超级计算机是让整个集群为同一个任务工作,以更快的速度来解决一个复杂问题。与服务器不同,一台超级计算机上往往运行一个任务 (或者有限的几个任务),所有的计算机资源都被倾注到同一个任务中。为了解决同一个问题,集群的不同计算机之间要有很好的沟通能力。超级计算机适合一些需要并行运算的任务,比如航空航天器设计、核实验、天气预报、星云模拟等,以便用数值方法来获得模拟数据,所以超级计算机大多位于研究机构和大学中。然而,超级计算机在人工智能领域的应用更能攫取公众注意力。无论是《2001太空漫游》中的HAL,还是打败国际象棋冠军卡斯帕罗夫的“深蓝” (Deep Blue)电脑,超级计算机深刻的影响了流行文化。计算机被看作拥有思维潜能的机器,而超级计算机作为计算机的领军,更有可能最早以机器身份挑战人类所自豪的理性思维能力。下图是不断被打破的超级计算机纪录,中国的天河曾经于2010年登顶:

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

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

历史

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

Seymour Cray Seymour Cray是一位美国工程师。在1960年代,能够进行高性能运算的只能是经过特别设计的、昂贵的大型机。这些大型机需要复杂的回路以实现高运算频率,所以其设计和生产周期都很长。Seymour Cray出于工程师的直觉,认为并行的是提高计算机性能的有效方式。所以在CDC公司工作期间,他使用廉价的方式获得大型机相似的运算能力。他将多个普通的处理器连接起来,并使得这些处理器协同工作。这就是高性能计算机的原型。很快,Seymour Cray的新架构方式被IBM、HP等公司学习,高性能计算机开始迅速推广。政府和科研部门采购这种新型的高性能计算机,以取代原有的大型机。高性能计算机为登月计划等大型科研项目做出了不可磨灭的贡献。

然而进入八十年代,随着芯片的不断降价以及CPU频率的不断提高,个人计算机如同超新星一样爆发。个人计算机的计算能力逐渐可以媲美小型机甚至中型机。苹果、Intel、微软等公司借PC的东风成为PC时代新的王者。随着政府开始在各个部门配置PC以取代高性能计算机,高性能计算机的市场遭到PC的不断蚕食。高性能计算机只能退守复杂运算和公司服务器市场。但很快,互联网为高性能计算机提供了新的领地。互联网上广泛采用的服务器-客户模式需要一方计算机充当服务器。然而,服务器往往要应对海量的网络请求,家庭使用的PC很难应付如此众多的网络请求,必须要依赖基于集群的服务器。网络的蓬勃发展,特别是2000年附近的网络泡沫,成就了诸如Sun这样的服务器生产商。

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

硬件与软件

从硬件方面,一个高性能计算机中可以包含多个机箱,每个机箱内都是一个主机。主机与普通PC并没有太大不同,都由主板、CPU、内存、网卡组成 。机箱常常是非常紧凑的躺在一个架子上。由于高性能计算机有很强的通信需求,所以一个主机上往往有不止一个网卡。

服务器

高性能计算机的主机之间的连接方式可能很复杂。根据不同的需要,高性能计算机的内部网络拓扑结构也会不同。一般来说,集群中主机越多,网络的拓扑越复杂。比如下图,是对称的主机连接方式,这些连接方式都适用于科学运算相关的场合:

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

Beowulf cluster

从软件上说,现在的集群大多采用UNIX/Linux系统 (Windows NT在服务器领域也有市场)。此外,集群至少需要:

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

冷却系统

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

“原始”风冷

尽管风冷系统成本低,但由于空气热容量很小,所以风冷系统的效率低下。尽管可以将空调的冷气直接吹过服务器以达到更高效率,但冷气的成本高且不环保。水冷系统是风冷的另一个选择。旧式的水冷系统是让水管流过机箱侧壁,以降低整个服务器机箱的温度。通常,流入的水大概有十几度的温度,而流出水可能二十几度,进出有七八度的温差。由于水有很高的热容,所以可以有效的移除机箱内的热量。

支架侧壁的水冷系统

旧的水冷系统冷却整个机箱的温度,但热量主要是由CPU和内存等芯片产生。新一代的水冷系统将水管直接贴近芯片,以更精确的降温。下图所示的IBM水冷系统包括黄铜色的管道和包裹在内存和芯片周围的散热片。这样的散热系统最大的隐患在于漏水。由于水冷和芯片过度“亲密”,一旦水管漏水,电子器件将统统报废。所以,这样的水冷系统有很精密的设计。比如管道内部有特殊的涂层,一旦外面的金属管出现裂缝,涂层材料会膨胀而临时堵上缺口。水冷系统所用的水会经过精心过滤,以去除杂志和氧化成分。另外,在重要接口处和机房内,还有自动调节的控湿系统,以防止水冷系统生锈。这样的水冷系统刚刚问世不久,但其高效率已经得到业内人士的认可。(这样一套水冷系统价格不菲)

新式水冷系统、

数据中心

如果说服务器是对运算能力的第一次集成,那么数据中心就是对运算能力的进一步集成。数据中心是集中存放和运行服务器的地方。随着诸如苹果、Google这样的明星网络公司出现,以及云计算和大数据概念的风起云涌,其幕后的数据中心开始走入公共视野。数据中心要求有优秀的架构设计,网路设计,电源设计和空间设计,以容纳海量处理器,并保持整个数据中心的稳定运行,同时随时准备好应对断电等意外。这些数据中心每天需要应付十亿次量级的访问请求,而这些访问请求就是诸如Google和Amazon这样的网络公司的命脉。如果google.com域名出现404错误(中国之外的地方),Google的股价恐怕就要跳水。在稳定的基础上,效率和成本成为越来越重要的考虑。许多数据中心所用的硬件都是来自回收站的二手货 (据说Google会从回收站拉回成卡车的废旧处理器)。通过负载均衡、数据库管理等软件手段点石成金,旧硬件的性能被充分开发。“高性能软件+低成本硬件”的解决方案正在各大网络公司占据主导地位。另一方面,网络公司开始尝试跳过诸如IBM和Sun这样的服务器制造商,直接和Intel合作获得芯片,然后自行组装服务器。

数据中心设计

数据中心有很多有意的分布在偏远的郊区。除了土地成本的原因之外,位于郊区的数据中心也不用和市区竞争用电。随着绿色数据中心概念的兴起,越来越多人开始关注数据中心可能带来的能源和环境问题。Google和苹果等大公司开始有意的将数据中心放在高纬度、高海拔的地区,以享受天然的“空调”气温。另外,数据中心也常常选择在湖泊和河流附近,就地获得冷却水。实际上,数据中心的单位电FLOPS要远超过小型的机房。

Google数据中心

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

CPU的加工精度正在靠近量子效应所规定的上限,摩尔定律会在此失效。计算机的主频很可能在很长一段时间内保持稳定。并行运算很可能成为下一个热点。高性能计算机向人们展示硬件上的可能性。然而软件上,人们的准备并不充分。传统的算法必须经过更改才能适应并行情境。如何优化以及标准化并行算法,还远远没有一个确定的答案。此外,云平台会将我们带往何处,也是一个大大的问号。

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏非著名程序员

Google I/O开发者大会第二弹之未来

? 真是后悔昨天起名字叫第一弹了,这意味着今天还得给你们更新第二弹,第三弹……导弹和原子弹,就差核爆炸了。未来是美好的, 怎么会核爆炸呢?来跟着我一起走进未来...

21070
来自专栏逸鹏说道

VMware描绘移动商务未来发展蓝图

全球云基础架构和移动商务领导厂商VMware公司(NYSE:VMW)今日公布了对移动商务未来前景的展望,公司将通过全新解决方案、服务和合作伙伴关系帮助企业实现商...

31690
来自专栏知晓程序

微信公众号页面大改版 / 「弹球王者」涉嫌违规遭下架 / 微信小程序不支持 iOS 「虚拟支付」

13740
来自专栏罗超频道

夸克浏览器入选豌豆荚设计奖,轻量级成移动互联网主流?

日前,Twitter推出了轻量级应用“Twitter Lite”,主要面向全球移动网络体验欠佳地区用户。除了Twitter,越来越多的轻量级应用形态在出现。比如...

38680
来自专栏Hadoop实操

周年庆

所以我现在编写这第366篇文章也是为了纪念这一年的时光,纪念这每天的一篇文章,纪念风里雨里从未间断过的自己,也是为了激励自己既然选择了这条路,就会义无反顾的坚持...

19240
来自专栏数据和云

浙江移动完成国内最大规模的Oracle数据库升级

近日,浙江移动进行了核心系统数据库的升级工作,这一项目是迄今国内规模最大的单次核心系统升级。 本次项目对7套RAC架构的数据库同时进行了升级,这些数据库承载...

32550
来自专栏阮一峰的网络日志

再谈Android的许可证

1. 两周前,我写了一篇《Android,开源还是封闭?》。 其中有一些内容,我今天要做修正,还想谈一些别的感想。 2. 在谈具体的修正之前,我先来说说,那篇文...

47460
来自专栏人称T客

CIO应该关注企业移动化建设的七大关键要素

如今,移动设备已经成为了人类不可或缺的伴侣。著名咨询机构麦肯锡(McKinsey & Company)近期发布的一份报告预测:截至2014年,将有17亿台移动设...

28560
来自专栏智能算法

野生程序员的故事

野生程序员是指仅凭对计算机开发的兴趣进入这个行业,从前端到后台一手包揽,但各方面能力都不精通的人。野生程序员有很强大的单兵作战能力,但是在编入“正规军”...

34570
来自专栏云计算D1net

企业的“云端漫步”道路并不平坦

云计算的发展让越来越多的企业开始考虑迁移到云端。而关于云计算的商业价值,形形色色的云计算服务商通常会告诉企业:云计算可以帮助企业节省成本,增强it系统与业...

34160

扫码关注云+社区

领取腾讯云代金券