什么是超级计算机? 超算全称超级计算机,也叫巨型机,Mainframe,HPC,是集成了大量处理器,互连芯片,加速芯片,并通过操作系统和应用软件的专门优化,能够进行密集科学计算的电脑。 简单来说,超级计算机能够进行大量的,互相依赖的密集的数学运算。 举例来说,用超算来进行天气预报,对大气运动进行仿真运算,每颗CPU内核负责运算一小块区域的空气性质,而这一小块区域空气的性质和周边区域的空气性质是互相影响的,因此CPU之间需要大量交换数据。 超级计算机通常有专用的互联芯片,用于提高CPU之间的数据交流速度,使用并行架构,其操作系统和应用软件也为并行计算做了优化。 超级计算机越来越多地采用了CPU+加速器芯片的设计方案。 在这种架构里,CPU通常负责任务的分配和管理,具体的计算任务是由加速器芯片提供的。典型的加速器芯片就是NVidia公司基于显卡GPU技术生产的通用任务GPU(也称GPGPU)。这些加速器芯片内置了大量的向量计算内核,对于密集数学运算任务,运算效率能够比CPU成几十倍几百倍地提高。 超算到底都有什么用途? 超算无论在军事还是民用方面,都有不可取代的作用。 军事科研领域,例如坦克和装甲车辆,在研制阶段必须进行颠簸,碰撞和抗打击性能试验,战机和舰艇在设计制造时要进行复杂的空气力学和流体力学分析和试验,弹道导弹在飞行过程中实施变轨,锁定目标等技术,都离不开超级计算机对弹道的精确计算和模拟。 公开资料显示,军迷们熟悉的研制歼20战斗机的中航成都611所就有一台超算。 此外,情报的获取和分析,包括密码解读和侦察卫星照片分析,战争设计与模拟,核爆炸模拟,以及在网络攻击与防御等方面,超算也都有很大用处。 国民经济领域,例如石油开采行业,需要对模拟地震的数据进行大量分析计算,找出地下可能埋藏石油的位置,我国在上世纪八十年代进口的许多台超算主要就是应用在这方面。 其他方面,超算的应用场景还包括桥梁和建筑设计时的力学分析与模拟、银行大数据处理、天气预报等等。 据了解,几乎每个学科的前沿,都有需要大量分析数据和进行模拟的需求。 举例来说,美国田纳西大学的超算实验室在2017年9月访问了国家超级计算机广州中心(主要运营天河2号及天河2A超算),从当时披露的数据来看,截至到2017年9月,当时在广州超算中心已经有超过2000家研究机构,大学和企业使用超算,运行了超过800个国家级项目和超过80个广东的项目。 其中比较有趣的项目之一是国防科技大学(NUDT)航天学院的超燃冲压发动机的高超音速燃烧模拟。 图为国防科技大学超燃冲压发动机的异质高超音速燃烧模拟 如上图所示,天河2A超算的每个运算节点上固定方针640万个网格单元(即虚拟的空气单元)。使用CPU+Matrix2000加速器芯片的运算速度比只使用CPU的运算速度快5.28到8.92倍。在运算节点数量从10个扩展到2560个时,运算效率从接近100%降到70.57%。 这意味着超级计算机中参与运算的CPU越多,CPU之间工作调度和数据交换所花销的额外工作量越大,导致整机运算效率的下降,而这也是目前超级计算机系统的核心难点,如何维持成千上万个CPU的高效率运转,需要硬件和软件设计做大量的优化工作。
|