高性能计算机是用网络将多台计算机连接在一起。并构成一个统一的系统,从而拥有远超个人电脑的计算能力。这样利用网络,让计算机合作工作的并行系统又称为集群(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)的更多相关文章

  1. 【WC2001】【cogs358】高性能计算机(动态规划)

    [WC2001][cogs358]高性能计算机(动态规划) ##题面 [问题描述] 现在有一项时间紧迫的工程计算任务要交给你--国家高性能并行计算机的主管工程师--来完成.为了尽可能充分发挥并行计算机 ...

  2. 【Vijos1534】高性能计算机(DP)

    题意:有NA个A与NB个B两种任务需要完成,完成一段长度为X的A任务需要时间ta+ka*x*x,B任务类似,连续的同一种任务不能分成两段运行 有P台可以并行运算的计算机,求最快完成所有任务的时间 1≤ ...

  3. WC2001 高性能计算机

    cogs网址 这道题DP 设g[0/1][i][a][b]表示第i个机子做了a个A,b个B,0/1表示当前为A/B的最小代价 N^4转移 设f[i][a][b]表示前i个机子做了a个A,b个B的最小答 ...

  4. PayPal高级工程总监:读完这100篇论文 就能成大数据高手(附论文下载)

    100 open source Big Data architecture papers for data professionals. 读完这100篇论文 就能成大数据高手 作者 白宁超 2016年 ...

  5. 门外汉的IT

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 计算机很早就走入了我的生活.小学时,家里放一台联想“天琴”的电脑.它霸气的音箱造型 ...

  6. PayPal 高级工程总监:读完这 100 篇文献,就能成大数据高手

    原文地址 开源(Open Source)对大数据影响,有二:一方面,在大数据技术变革之路上,开源在众人之力和众人之智推动下,摧枯拉朽,吐故纳新,扮演着非常重要的推动作用:另一方面,开源也给大数据技术构 ...

  7. IBM究竟是一家怎样的公司

    每次被问到这样的“简单”问题,我都很纠结: 这家公司,从创始至今已经积累了几十万种技术(2015年蝉联专利排行榜23年之久,仅2015年专利数7355项),开发了上万种产品(从银行的交易系统,到航空的 ...

  8. Hadoop学习之旅二:HDFS

    本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...

  9. 前端学HTTP之网络基础

    × 目录 [1]网络 [2]OSI [3]TCP/IP 前面的话 HTTP协议对于前端工程师是非常重要的.我们在浏览网站时,访问的每一个WEB页面都需要使用HTTP协议实现.如果不了解HTTP协议,就 ...

随机推荐

  1. h5调用底层接口的一些知识

    之前接触过这方面的知识,一直想写一些关于代码的文字,但考虑到浪费时间,又不具备大神的实力,也不想去把别人的代码照搬过来,所以一直都是空白着的,今天敲代码的时候,有了一个比较好的想法,第一,定位在学习这 ...

  2. Android 查看CPU及内存

    借助getprop.dumpsys来了解一些系统相关信息. 一.getprop adb shell cat /system/build.prop 文件中存放的是用于启动系统时需要的配置文件,通常可以通 ...

  3. 05001_Linux简介

    1.Linux的概述 (1)Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境.Linux是由Linus Torvalds(林纳斯•托瓦兹)起初开 ...

  4. 23 HBase 存储架构。

    个 Region,Region会下线,新Split出的2个子Region会被HMaster分配到相应的HRegionServer 上,使得原先1个Region的压力得以分流到2个Region上由此过程 ...

  5. android 聊天室窗体

    public class MainActivity extends Activity { ScrollView scrollView; Button button; LinearLayout layo ...

  6. 学习思考:思考>努力

    学.习.思.考 学习.思考,这2个词,4个字,其实代表了4个不同的动作:学.习.思.考. 学,就是从外部(他人)获得. 习,就是练习,行动. 思,就是从内部(自己)获得. 考,就是考量,检测. 因此, ...

  7. ajax处理错误(六)

    使用ajax时必须留心两类错误,他们之间的区别源于视角不同. 一.第一类错误是从XMLHttpRequest对象的角度看到的问题:某些因素阻例如止了请求发送到服务器,例如DNS无法解析主机名,连接请求 ...

  8. C/C++(C++内存管理,内联函数,类型转换,命名空间,string类)

    ---恢复内容开始--- 内存管理 new/delete C语言中提供了 malloc 和 free 两个系统函数,#include "stdlib.h"库函数,完成对堆内存的申请 ...

  9. 利用canvas画一个实时时钟

    先放一张效果图: 下面是源代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

  10. Python 爬取单个网页所需要加载的地址和CSS、JS文件地址

    Python 爬取单个网页所需要加载的URL地址和CSS.JS文件地址 通过学习Python爬虫,知道根据正式表达式匹配查找到所需要的内容(标题.图片.文章等等).而我从测试的角度去使用Python爬 ...