国开学习网 《计算机文化基础》第一章 拓展延伸4:超级计算机的超级秘密
超级计算机的超级秘密
关注超级计算机新闻的朋友都知道,国际超级计算机组织在2012 年 6 月 18 日公布最新的全球超级计算机名单,美国 Sequoia 夺得冠军,它每秒能完成 1.6 亿亿次运算,中国超级计算机“天河一号”排名第 5。那么什么是超级计算机,超级计算机和我们的生活又有什么关系,它为什么能拥有这么强大的计算能力?下文就为大家揭开超级计算机的“超级”秘密。
超级计算机就在我们身边
超级计算机(Super computer)主要有两个“超级”之处:
一是指计算能力超级强,现有的超级计算机运算速度大都达到每秒一兆(万亿)次以上;
二是指它由“超级”多的计算机组合而成,联合工作,而非一台计算机。
科幻电影《黑客帝国》中的 Matrix(母体)实际就是一台超级计算机,已拥有了超越人类的智慧,并进一步想要统治人类。其他如《终结者》中的“天网”也是一台超级计算机。
现实版人机大战,比较著名的是 IBM 制作的超级计算机“深蓝” 与国际象棋大师卡斯帕罗夫之战,共 6 局比赛,最终以卡氏俯首认输而告终。
当然,人类研究超级计算机不是为了玩,它与我们的日常生活越来越紧密相关,我们每天都要关注的天气预报,就是超级计算机在收集到的海量气象数据中进行运算得出的。
在今年的春节联欢晚会上,《龙凤呈祥》节目吸引了众多观众的目光,美轮美奂的舞美效果更是艳惊全场,在节目舞台背景的大屏幕里圆形的龙体正在翻滚(见下图),四个柱子上的巨龙不断盘旋,舞台上代表中国的元素来回变换……画面跟随音乐的律动时而大气磅礴,时而温柔妩媚。
2012 年舞蹈《龙凤呈祥》
可是大家知道这么漂亮的舞台背景是怎么生成的?它的幕后功臣就是超级计算机—天河一号。 因为最初背景设计只是一个龙凤的轮廓,制作团队要把模型通过“天河一号超级渲染平台”制作成图片,我们最终在电视上看到的效果是由近 60 万张图片拼成的。一张图片如果用普通计算机渲染需要 30~40 分钟,60 万张图片的渲染需要的时间就至少是 180 万分钟!这么大的渲染工作量就需要利用超级计算机来完成,工作人员使用“天河一号”制作只需几分钟时间!
超级计算机“超”在哪里
超级计算机的特点就是具有超级计算能力,超级计算机的制造也是为海量的计算服务的。那么它的超级计算能力是怎么获得的呢?
首先让我们从硬件方面进行解读。
超级计算机的超级配置
衡量一台电脑硬件的好坏,我们经常会从 CPU 主频、内存容量进行比较。对于超级计算机来说,它的配置参数可能会超乎你的想象!以天河一号 A 为例。
CPU 参数:天河一号 A(见下图)拥有 14336 颗 Intel Xeon X5670 2.93GHz 六核心处理器、7168 块 NVIDIA Tesla M2050 高性能计算卡,还有 2048 颗我国自主研发的飞腾 FT-1000 八核心处理器,总计 20 多万颗处理器核心。普通电脑的 CPU,即使是目前最强的 Intel 酷睿 i7 3770K(主频 3.5GHz),也只有四核心(八线程)的运算能力。天河一号仅仅服务器专用六核心处理器就多达 14336 颗!
天河一号
内存方面:224TB 内存。对普通人来说,1TB 的硬盘已是海量了,它竟然有 224TB 的内存。我们电脑中的所谓大容量 8GB 内存,与之相比真是沧海一粟。
天河一号 A 的每个核心其实就类似一台高性能个人电脑,各个核心通过专用网络连接起来。因此天河一号 A 的真身就是一组组类似于服务器的机柜。超级计算机的超强计算能力实际上是网络中每台高性能服务器计算能力的叠加,所以说天河并不是一台计算机,它实际上是一组高性能服务器组成的网络系统。难怪天河的正式名称叫“天河高效能计算机系统”,它可是一个真正的计算系统。
超级计算机的超级通讯能力
如上所述,从硬件方面来说超级计算机是多个计算节点组成的网络系统。网络大多使用拓扑结构组成,因此超级计算机最难解决的是内部通讯的瓶颈问题。因为网线的通讯速度是有上限的,这个上限在不同环境下是浮动的,比如说干扰小的时候通讯速度快,干扰大的时候速度就慢。
每个节点计算出数据后,就要通过网线及时发送到其他相关节点,因此网络通讯的好坏直接影响超级计算机的计算能力。比如“天河一号 A”通过使用自主研发的处理器、网络、互联芯片解决了这一难题,从而实现了不可思议的硬件规模和傲视群雄的运算能力。节点之间达到双向 160Gbps 传输速度,也就是说一部 20GB 的电影文件在两个节点之间传输时间只要 1 秒(1Gbps 的传输速度理论上是 128MB/s)。正是这些高性能网络组件造就了超级计算机的超级计算能力。
超级计算机的“软超越”
由于超级计算机使用了多组 CPU+GPU,简单地将这么多组CPU+GPU 叠加起来并不能有效提高计算能力。因此超级计算机大多使用并行处理技术,它的操作系统可以为每个计算节点同时分配不同的子任务并最终汇总,从而实现高速计算。
我们还是以上面的舞台背景照片处理来说吧。例子中的整个舞台背景总共需要渲染的照片多达 60 万张,对于传统 PC 来说,电脑的处理是按部就班从第 1 张一直到第 60 万张,所需的总时间=60 万*每张照片渲染所花的时间。如果现在让拥有 10001 个计算节点的超级计算机来渲染,假设它的并行设计是每个节点渲染 60 张,节点 1 负责 1 到 60 张,节点 2 负责 61 到 120 张,依此类推,第 10001 个节点负责把其他节点相加的结果汇总再相加。这样使用超级计算机开始进行操作时,10000 个计算节点就会同时开始渲染,所需的总时间=每个节点渲染 60 张照片的时间+第 10001 节点汇总所花的时间。大家可以比较一下,10001 个节点的超级计算机的渲染能力几乎是普通 PC 的10000 倍,它的计算速度自然比 PC 快了很多。
当然真正的超级计算机拥有的是数十万个计算节点,上述的比较也只是数字上的简单对比。超级计算机不仅拥有高性能的 CPU、动辄 TB 量级的内存和高效能阵列硬盘,而且采用优异的结构设计。比如天河 A 就使用 CPU+GPU 异构计算,这种设计可以大幅提高电脑计算能力,这些因素的组合造就了超级计算机超乎寻常的计算能力。天河一号实测运算速度可以达到每秒 2570 万亿次。这意味着,它计算一天,相当于一台家用电脑计算 800 年。
文章来源《电脑爱好者》,图片来源因特网