从上图可以看出2018年在世界上500台最强大的机器中,大家国家的超级计算机排名第一。
超级计算机与普通电脑的区别
普通个人电脑是通过输入的信息(或者数据),对其进行存储和处理,然后生成某种输出结果。
而超级计算机不仅仅是快速或大型计算机:它以完全不同的方式工作,通常使用并行处理而不是普通计算机使用的串行处理。它不是一次执行一件事情,而是一次执行很多事情,进行综合运算,最后整合得出合理的结果。
上图:
在串行处理中,一个处理器一次解决一个问题。不管计算机的不同部分有多快,该运算仍将以中央处理器的速度完成。
下图:
在并行处理中,问题被分解为组件,每个组件都由单独的处理器处理。由于处理器并行工作,因此即使处理器以与串行系统相同的速度工作,通常也可以更快地解决问题。
超级计算机为什么要使用并行处理?
打个比方,如果有一堆箱子需要一个人进行打包并搬运装车,就需要很长时间,而且不能同时进行,如果有三个人同时分工打包、搬运、装车,那么像这样的人员配比,工作速度就非常快了,超级计算机运用并行处理跟这也是相同的道理。
假如你是一个气象预测科学家,偶分别要模拟计算今年会不会有台风,那么偶就需要把5年内各地的每日气候条件数据输入超级计算机,并且精确到每小时的气温、湿度、风向、雨季等输入电脑,同时运算才能预测到本年度会不会在某个地方出现台风。
这对于超级计算机来说很容易,但是用普通的计算机,仅5年内的气温数据就无法运算,而且不能与其它条件同时并行处理,因为预测运算是各个维度实时运算综合得出的结果,不能分开来运算的,所以超级计算机不能使用串行处理。
超级计算机究竟有多大
普通服务器也只能装大约4枚处理器,目的就为了处理数据交互提高效率,但是超级计算机面对的是复杂的运算,这是区别于普通计算机的,所以一台超级计算机至少有10套200平米房间的大小面积占比。
庞大的身躯决定着超级计算机拥有更多的处理器,例如大家的天河超级计算机拥有大约40960个处理模块,每个模块具有260个处理器内核,这意味着总共有10,649,600个处理器内核!这么多的“大脑”来运行复杂数据绰绰有余了。
超级计算机也可以分工计算
个人电脑可以相互交换数据,没错,超级计算机也可以进行联网数据交互,这就是超级计算机集群处理。
在一些科研工作室或者大学里,通常会有很多台超级计算机进行广域网或者局域网连接,分工进行各项科学数据的计算,再统一汇集到一台超级计算机上面总结得出结果。
超级计算机用的系统和普通电脑一样
目前大多数超级计算机都运行相当普通的操作系统,就像在您自己的PC上运行的操作系统一样,也是Windows系统,但在集群处理任务中,超级计算机最常见的操作系统曾经是Unix,但现在已被Linux,由于超级计算机通常会处理科学问题,因此有时会使用传统的科学编程语言-C语言进行处理数据。
超级计算机有多强大
上图是1940年2010年超级计算机能力每十年运算能力的对比图,可见在每一个10年终,超级计算机都以几何倍率的运算能力增长,到2020年,这一个10年里超级计算机得远算能力有可能会有突飞猛进的增长,因为科技不会止步于此。
超级计算机不至于在科学运算方面的能力,它还可以模拟核飞机测试、演习、气候模拟以及测试加密计算机安全代码强度。从理论上讲,通用超级计算机可以用于任何事物,当然也有人猜想用它来挖比特币,但事实告诉大家,它每分钟的耗电量惊人,挖出来的比特币不足以支付电费。