image

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、视频渲染也是高性能计算的需求“大户”

你还记得《阿凡达》吗?这部 2009 年上映的电影里,特效场景比例达到了 70%。自从阿凡达之后,特效已经成为了电影的标配,甚至两个演员在绿布前就可以完成一部高质量的太空科幻电影。支撑这些特效的,无疑就是巨大的高性能计算力。

4、除此之外,高性能计算还可以进行天体物理计算、地震预测、材料科学计算、基因组测序、交通分析、人类组织系统研究等等等等

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

  1. 一文搞懂RNN(循环神经网络)

    基础篇|一文搞懂RNN(循环神经网络) https://mp.weixin.qq.com/s/va1gmavl2ZESgnM7biORQg 神经网络基础 神经网络可以当做是能够拟合任意函数的黑盒子,只 ...

  2. 计算机科学与技术要机械硬盘,机械硬盘避坑大法:一文搞懂PMR和SMR有什么区别...

    原标题:机械硬盘避坑大法:一文搞懂PMR和SMR有什么区别 存储市场上一直存在固态硬盘(SSD)和机械硬盘(HDD)的竞争.论综合性能,SSD远高于HDD,是大家选购存储设备时的理想选择.早期消费级S ...

  3. 一文搞懂 Python 的 import 机制

    一.前言 希望能够让读者一文搞懂 Python 的 import 机制 1.什么是 import 机制? 通常来讲,在一段 Python 代码中去执行引用另一个模块中的代码,就需要使用 Python ...

  4. python语言语句快的标记是什么_一文搞懂Python程序语句

    原标题:一文搞懂Python程序语句 程序流 Python 程序中常用的基本数据类型,包括: 内置的数值数据类型 Tuple 容器类型 String 容器类型 List 容器类型 自然的顺序是从页面或 ...

  5. 一文搞懂 Java 线程中断

    转载自   一文搞懂 Java 线程中断 在之前的一文<如何"优雅"地终止一个线程>中详细说明了 stop 终止线程的坏处及如何优雅地终止线程,那么还有别的可以终止线程 ...

  6. 一文搞懂HMM(隐马尔可夫模型)-Viterbi algorithm

    ***一文搞懂HMM(隐马尔可夫模型)*** 简单来说,熵是表示物质系统状态的一种度量,用它老表征系统的无序程度.熵越大,系统越无序,意味着系统结构和运动的不确定和无规则:反之,,熵越小,系统越有序, ...

  7. 一文搞懂如何使用Node.js进行TCP网络通信

    摘要: 网络是通信互联的基础,Node.js提供了net.http.dgram等模块,分别用来实现TCP.HTTP.UDP的通信,本文主要对使用Node.js的TCP通信部份进行实践记录. 本文分享自 ...

  8. 【UE·蓝图底层篇】一文搞懂NativeClass、GeneratedClass、BlueprintClass、ParentClass

    本文将对蓝图类UBlueprint的几个UClass成员变量NativeClass.GeneratedClass.BlueprintClass.ParentClass进行比较深入的讲解,看完之后对蓝图 ...

  9. 一文搞懂AWS EC2, IGW, RT, NAT, SG 基础篇下

    B站实操视频更新 跟着拉面学习AWS--EC2, IGW, RT, NAT, SG 简介 长文多图预警,看结论可以直接拖到"总结"部分 本文承接上一篇文章介绍以下 AWS 基础概念 ...

最新文章

  1. 基于深度学习方法的3D数据合成
  2. C# 写入和读出文本文件
  3. ST公司STM32F4与STM32F1的区别
  4. FastDFS设置开机启动
  5. Max Points on a Line
  6. linux启动过程剖析,分析Linux系统的启动过程
  7. 从单纯聊天到在线生活
  8. 故宫开通首个5G基站 首个5G高校在上海建成启用...
  9. Delphi版 IsNumeric 函数
  10. python 最小二乘法三维坐标拟合平面_【MQ笔记】超简单的最小二乘法拟合平面(Python)...
  11. 1062. 最简分数(20)-PAT乙级真题
  12. 【源码小记】jQueryの事件绑定
  13. C/C++(变量作用域)
  14. 曾宪武《物联网通信技术》课后答案(二)
  15. CNN--MINIST
  16. 墙裂推荐:搜云库技术团队,整理一年的技术干货
  17. 一、java入门(高琪java300集+java从入门到精通笔记)
  18. VBA中汉字转成拼音
  19. 在深圳办理计划生育服务证的过程
  20. 字符版本贪吃蛇游戏设计及算法

热门文章

  1. 服务器光口自协商协议,千兆光口自协商过程
  2. 小程序中scroll-view的下拉刷新和小程序页面的下拉刷新开启方法
  3. springboot+vue医院药品医药店采购管理系统
  4. 利用Origin对曲线进行单线一或者多线段线性拟合
  5. 全球甲壳素行业调研及趋势分析报告
  6. VUNDLE安装及使用
  7. ROS学习记录(一)
  8. 闲人闲谈PS之二十七——工程施工企业设计标准化
  9. Bash和shell的关系
  10. iphone相机拍的照片自动旋转的问题解决