加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门网 (https://www.xiamenwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

一文搞懂让你懵圈的超级计算机:真的不是堆CPU就行

发布时间:2019-07-01 11:36:21 所属栏目:移动互联 来源:佚名
导读:6 月 18 日,在德国法兰克福举行的国际超级计算大会(ISC)上公布了最新一期的超级计算机前 500 强榜单。 本次入门的超级计算机门槛非常高,首次全部超过 1PFlops (每秒一千万亿次浮点运算),这是全球超级计算机 500 强榜单发布 26 年以来的一次历史性突破
副标题[/!--empirenews.page--]

 一文搞懂让你懵圈的超级计算机:真的不是堆CPU就行

6 月 18 日,在德国法兰克福举行的国际超级计算大会(ISC)上公布了最新一期的超级计算机前 500 强榜单。

本次入门的超级计算机门槛非常高,首次全部超过 1PFlops (每秒一千万亿次浮点运算),这是全球超级计算机 500 强榜单发布 26 年以来的一次历史性突破。

在这份 500 强的榜单中,中国的超级计算机数量达 219 台,数量位居世界第一,其中 173 台来自联想,71 台来自浪潮,63 台来自曙光。

对于普通人来说,平常鲜有机会接触到超级计算机,因此对于超级计算机的理解也处于一知半解的状态中。为此,腾讯科技摘取多位知乎专业答主的内容,并稍加整理,通过一篇文章让你彻底搞懂超级计算机。

超级计算机的核心技术是什么?——知乎答主张竞扬

CPU 是超级计算机的重要组成部分,但不是超级计算机技术的全部。网络上一些人将 CPU 技术等同于超级计算机技术,认为如果没有自主的 CPU,就没有掌握核心技术。

这种说法并不准确。实际上,相对于声名显赫的 CPU,默默无闻的体系结构设计才是一直被大众和媒体忽略的关键技术。举例来说,曙光星云采用了自主研发的超并行处理体系结构、神威蓝光超级计算机采用了大规模并行处理体系结构、天河 1 号采用了多阵列可配置协同并行体系结构、天河二号采用了自主创的新型异构多态体系结构。

体系结构设计能力有多重要呢?打个比方,如果说超级计算机是一只军队,那么体系结构设计就是军队的历史传承、光荣传统、组织管理水平、军事训练水平、武器装备、后勤能力、高级将领的战略指挥水平和中下层军官的战术指挥能力,而 CPU 则是军队的士兵。

此外,超级计算机不是简单的 CPU 堆砌。因为堆 CPU 也是一个技术活,体系结构设计的不好,高速互联网络做的不行,系统软件做的不好,储存列阵做的不行,即使堆再多的 CPU,超级计算机的性能也上不去。简单粗暴的堆砌 CPU 根本不可能制造出一台超级计算机,更不要说是能与天河 2 号相匹敌的超级计算机。

另外,哪怕掌握了正确的堆砌 CPU 的方法,也不是单凭靠堆 CPU 数量就能获得一台能与天河 2 号相匹敌的超级计算机。原因何在? 因为超级计算机建设不是简单的搭积木式的堆砌 CPU——即便堆砌了海量的计算卡,但受制于其他方面,比如高速互联网的技术水平而导致无法到达理论计算性能。

具体来说,高速互联网络的难点在于超级计算机的计算节点之间传输的数据量巨大,延迟要求严格,当互联网络效率不足,就会导致数据拥堵,大幅降低超级计算机整机系统效率。而超级计算机的计算节点越多,对互联网络的要求也就越高。因此,即使想通过堆砌 CPU 来提升运算能力,也会受限制互联网络的性能,造成这种做法并不能无节制的提升超级计算机的性能——受限于诸如互联网络以及其他方面的瓶颈,整机效率被拉低,导致实际性能并没有因为堆砌了更多的 CPU 而有所提高。

另外,堆砌过多的 CPU 还存在功耗过大、机箱体积过大等问题,非常不利于日后的运营维护和使用,在超级计算机市场基本不具备市场竞争力。

在软件系统方面,控制少量计算节点和控制大量计算节点对软件系统的要求近乎于天差地别。软件系统必须保证每个超级计算机计算节点的性能被发挥到最大才能充分挖掘出硬件上的潜力。否则,就会影响超级计算机的整机效率。

因此,如果没有一个好的体系结构,那么 CPU 的性能将无法全部发挥出来,而且堆砌的 CPU 数量越多,整个系统就越复杂,对高速互联网络、存储列阵、监控系统、冷却系统和软件方面的要求也就越高,整机效率的提升也就越难。而体系结构设计能力水平不够高的情况下,单纯堆砌 CPU 数量,反而会降低整机效率,无法提升整机性能。

超级计算机与普通计算机有哪些区别?——知乎答主小侯飞氘

超级计算机没有那么神秘,就是个计算工具。你输入计算条件,它给你输出计算结果。和买菜用的计算器是一样一样的,只是规模上有区别而已。

家用电脑一般只有一颗 CPU(GPU 同理),每颗 CPU 内一般只有2~8 个物理核心。而一般的超级计算机有成千上万颗 CPU,每颗 CPU 内一般有几十个物理核心。

这么多 CPU 当然不是拿来供暖的,而是为了通过并行计算,完成繁重的计算任务的。举个例子,在飞行器制造领域,经常要计算飞机附近空气的流动,以及飞行器本身的受力情况。最常用的计算方法是把空气、机体分割成一个个小块块,分别计算每个小块的运动和受力,再整合起来得到整体的运动和受力情况。

一般来说,分割的越精细,每个小块越小,计算越准确。而鱼与熊掌不可兼得,分割的越精细,计算量也越大。

假如要把一个 1 的立方体分成 1 的小方块,那么就要对 10 亿个小方块进行计算。如果用单个 CPU 核心,需要连续做 10 亿次运算,算完整个过程可能要花上一天。而如果有 10 个 CPU 核心,那就可以把这 10 亿个方块分成 10 份,每个 CPU 核心只要计算 1 亿个方块,然后把得到的结果整合起来就行。这样大约能快上 10 倍,两个小时就能算完了。

在科研和工程领域,有许许多多这样的计算任务,例如原子基本性质的量子力学计算、药物反应过程的分子动力学模拟、黑洞碰撞的相对论模拟、大气运动和天气变化的预测、桥梁设计中的受力计算……这些复杂的问题,如果用单个 CPU 核心计算,可能要花上几个月甚至是几年才能得到结果。这么长的计算时间是难以接受的,所以我们需要用多个 CPU 核心进行并行计算以提高效率,集成大量 CPU 于一身的超级计算机自然就应需而生了。

超级计算机都被用来做什么?——知乎答主史中

举几个例子:

1、“核模拟”就需要高性能计算

核反应是一个链式反应,原子裂变之后会影响到周围的原子,周围的原子又会影响它们周围的原子,对于这些原子行为模拟所需要的计算数量级,就迅速变成了指数型的关系。

这就需要非常强大的超级计算机才能进行模拟。而且,要知道这种模拟对于计算力的要求是没有上限的。计算能力越强,模拟就能进行得更精准,从而能够发现更深层的规律。

气候预测也是高性能计算的一个巨大的应用方向。

2、气候预测同样需要高性能计算

气候预测,广泛来看就是对全球气流、洋流等等的预测,局限来看就是天气预报。天气预报的基本原理,就是通过气象卫星捕捉地图上每一个点的云层和气流运动轨迹,然后通过大量的计算推导出他们未来的走向。

要知道,即使是今天,对于天气的预报,精度都难以达到 80% 以上。但是,你一定能感觉到,现在的天气预测已经比你小时候准确得多。这就是因为我们现在的高性能计算能力大幅提高了。

举个例子,之前气象计算的粒度是 1 个经纬度,大概是 111 公里,而现在我们气象计算的精度已经细到了 3 公里,气象科学家们已经把精度提高到 1 公里。这样的精度提升,对于计算力的要求可是指数级的。

3、视频渲染也是高性能计算的需求“大户”

(编辑:厦门网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读