超级计算机让人联想到那些巨型的、笨重的、过热的机器的形象,这些机器是世界上最早涉足计算领域的机器,它们占用了大量空间,一次又一次地进行巨量运算。即使个人电脑和网络系统无处不在,超级计算机仍在幕后执行着各种普通计算机无法执行的运算任务。本文将向您介绍什么是超级计算机,以及它们在几个工业和科学领域中的工作原理。
什么是超算?
首先,一点背景知识。是什么让超级计算机如此与众不同?嗯,这个定义有点难确定。
一般认为,超级计算机是指一台拥有超级算力的计算机,它在任何给定的时间点上都是世界上最强大、最快的系统之一。
术语“超级计算”是指使用并行工作的多个计算机系统(即“超级计算机”),集中计算资源来处理一些大量而复杂的数据运算问题。通常这样一个系统,是以任何计算机的最大潜在性能工作的,通常以千兆次计算。
超级计算使分析和解决问题的速度大大提升,这在标准计算机(如流体动力学计算)中是根本不可能的,因为耗时又昂贵。今天,大数据赋予了超级计算机更重要的使用价值。一台超级计算机可以从冗繁又无序的海量信息中提取到最关键的因子,从而为人类的商业活动提供更准确的决策依据、为科学研究提供更精确的仿真建模样本。
高性能计算(HPC)基于超算发展而来的有用的变体,使得集中计算资源解决数据分析问题成为可能,而无需花费一台全尺寸的超级计算机。
数字化转型和从海量数据中提取关键因子进行分析和洞察的需求是普遍存在的。因此,支持这些需求的超级计算基础设施也必须是通用的,从小型企业到大型国家实验室,每个组织都可以使用。
超级计算与网格计算的关联
由于摩尔定律使曾经不可能的事情成为可能,企业开始寻求更加强大的计算技术。超级计算机是当前世界上速度最快的计算机之一。超级计算机曾经是政府和高端研究实验室的领域,执行模拟核装置爆炸或分析大规模天气和气候现象等任务。但事实证明,只要稍加调整,这项工作中使用的算法对商业是非常有用的。
现代超级计算通常是通过一种称为大规模并行处理的技术来完成的(计算机内部有许多微处理器同时工作,一起解决问题)。速度最快的超级计算机是使用数百个微处理器制造的,它们都经过编程,可以作为一个超级大脑协同工作。
另一种称为网格计算的技术正在进一步改变超级计算的经济性。网格计算是分布式计算的一种,网格计算研究如何把一个需要非常大的计算能力才能解决的大问题分解成若干个小的计算任务,然后把这些小计算任务分配给多个计算机同时进行处理,最后把这些计算结果整合起来,得到最终结果。有了网格计算,公司在现有的个人电脑或服务器上安装了特殊的软件,使这些计算机能够在一个共同的问题上协同工作。大型企业可能建有本地机房,本地机房一般由数千台计算机组成,但它们不一定总是在满负荷的运行中。在计算需求低谷时期,会有很大一部分计算机处于闲置状态。通过安装网格软件,这些闲置设备可以被组编成计算集群,来进行复杂的计算任务,就好像它们是一台大型的并行超级计算机一样。这样,本地机房里闲置的普通计算机可以得到充分利用,而网格软件又使计算集群的整体计算能力大大提高,计算成本由此降低。
多核、大规模并行和网格计算都是相关的。把多核芯片想象成在一个芯片中有几个处理器。把大规模并行的超级计算机想象成在一台计算机上有几个芯片,把网格计算看作是利用现有的计算机一起完成一项任务(本质上是一台由多台计算机组成的计算机)。虽然这些技术提供了巨大的希望,但它们都受到相同的限制:必须编写软件,将现有问题分成可由每个内核、处理器或计算机分别处理的小块。
世界上第一台超级计算机是位于英国的巨无霸。它的设计初衷是在第二次世界大战期间读取信息和破解德国密码,它每秒最多可以读取5000个字符。但是将其与每秒完成42.5万亿次运算的现役美国宇航局哥伦比亚超级计算机相比较,你就会发现计算机的运算速度,在短短的几十年里有着怎样天翻地覆的革新。换言之,过去的超级计算机现在仅可以称得上是一个令人满意的计算器,而我们现在所说的超级计算机是任何计算机所能达到的最先进的。
然而,有一些东西使计算机分支进入“超级”领域。它通常有一个以上的中央处理器(CPU),这使得计算机可以更快地进行电路切换,同时完成更多的任务。(正因为如此,一台超级计算机也将拥有大量的存储空间,因此它可以一次访问许多任务)它还可以进行向量运算,这意味着它可以计算多个操作列表,而不是一次只计算一个。
以上就是超级计算机的背景知识。
-END-
关于超算,你可能想了解更多:
关于超算 VS 高性能计算云,可以参考下文:
关于高性能计算云平台,更多内容请参考:
关于云计算,请参考: