出品:科普中国
作者:栾春阳(清华大学物理系)
监制:中国科普博览
每当新款的智能手机或者家用电脑发布时,人们讨论最多的话题总是离不开中央处理器(CPU)的运算性能以及散热问题。可能我们并不清楚电子设备的CPU内部具体的计算架构,但却可以真切地感受到CPU运算能力的提升给我们生活、工作带来的巨大改变。
实际上,小到我们中学时期经常使用的科学计算器,大到现在日常办公必备的笔记本电脑,这些具备数据处理能力的电子设备都可以统称为电子计算机。那么,在经典计算机的基础上,有没有更快、更强的计算机呢?
(图片来源:Veer图库)
“0”与“1”组成的奇妙世界
当我们每次按下手机按键或者电脑键盘的时候,这些字符或者信息首先需要被转化为电子计算机能够处理的编码:0或者1的排列组合。
例如,根据ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)的字符编码,英文字母K被编码为“01001011”。而当经过电子计算机CPU的运算处理后,一串0或1编码的信息又可以转化成我们认识的字母或者图片呈现在眼前。
在电子计算机的CPU中,电子晶体管可以作为0或者1进行数值运算的基本单元,此时电子晶体管的通路可以代表数值1,断路就代表数值0,而当数以百万计的电子晶体管及其他电子元件通过超大规模集成电路工艺被封装在一小块半导体晶片上时,这种具备数据处理能力并且被微型封装的集成电路一般简称为“芯片”。
(图片来源:Veer图库)
16核不够用?那就再多“亿”点!
然而,随着生活和工作中数据处理任务的不断增加,电子设备上CPU单一核心的运算能力往往很难达到需求,这时候我们可以在CPU上集成多个运算核心,从而保证多个核心可以同时独立地处理数据任务。现在常见的商用计算机一般是采用8核CPU,甚至某些用以处理大型计算任务的工作站会拥有16核CPU。
但即使这样高性能的计算机也难以满足越来越复杂的计算需求,以我们常见的天气预报为例,计算机需要将特定区域的大气层离散成网格进行数值模拟,而如果要达到对未来3天的准确度达到90%以上的气象预测,则需要高达百亿量级的浮点运算,如果普通商用计算机来计算的话,需要耗时至少半个月。
此外,大数据中心支持下的城市智能交通和在线云端计算都需要指数量级的数据处理能力,于是,人们开始着手将高达数百万的CPU互联起来协同工作,从而建造能够并行计算的“超级计算机”。
(图片来源:Veer图库)
实际上,“超级计算机”并非单独一台拥有超级算力的计算机,而是超级计算机集群的简称。也就是说,超级计算机集群的每个节点都是一台独立的计算机,它的“超级”之处在于自己内部存在独特的节点互联的结构,这样就可以同时调度所有节点上的成千上万颗CPU,并且每颗CPU内一般有几十个物理核心,从而拥有指数量级的数据处理能力。
但是,“超级计算机”并非全能型选手,它只对可并行运算的算法问题有强大的处理能力,却无法加速处理串行计算的数据任务,此外,“超级计算机”操作系统的任务调度策略和编译器的优化也极大影响了自身的性能表现。
这里的串行/并行运算任务可以这样通俗地理解:一堆土方原本需要1个人用10小时搬运完,同时也可以安排10个人用1小时搬完。但是,如果遇到需要1个人花10小时挖一口只能容纳一人进行作业的井情况,就无法安排10个人在1小时内完成,这就是“超级计算机”也难以高效处理的串行运算任务。
因此,“超级计算机”并不是简单的CPU和运算核心的堆叠,其加速运算能力不仅仅依靠CPU核心之间的高度协同互联,还要优化数据处理任务的算法次序来充分调用每一颗CPU的运算潜能。
(图片来源:Veer图库)
我们熟知的“神威·太湖之光”超级计算机共有40960颗CPU,并且其峰值的运算速度达到了12.54亿亿次/秒,并且持续计算的速度达到了9.3亿亿次/秒。“神威·太湖之光”超级计算机助力清华大学、北师大以及中科院团队完成“全球大气非静力云分辨模拟”,并实现了全球10公里高分辨率的地球系统数值模拟,这一研究成果进一步增强了我国应对复杂气象条件下的自然灾害监测能力。
目前,“超级计算机”广泛运用于医药研发中的分子动力学模拟,电动汽车中的燃料电池设计,飞行器设计中的气动外形优化,核聚变领域中的约束装置边界稳定性计算,以及原子物理学中的量子力学技术等。
(图片来源:Veer图库)
超级计算机,亦有局限
但是,“超级计算机”的建造不仅仅需要数十亿元的投入成本,还需要每日高达数十万元的电费支出。此外,占据上千立方米的庞大体积以及复杂的水冷散热系统也限制了“超级计算机”的进一步发展。于是,人们开始重新思考如何让计算机在更小的体积和更低的功耗下实现更强的数据运算能力。
(图片来源:Veer图库)
一个自然的想法是在同一块芯片上集成更多的晶体管,曾经作为英特尔创始人之一的戈登·摩尔就提出“摩尔定律”,即集成电路上的晶体管数目每经过18~24个月便会增加一倍,这样CPU的数据处理能力就会翻一番。这就是为什么,即使我们现在千元价位的手机CPU也比十年前的商用电脑拥有更强的运算能力——因为晶体管密度增加了呀。
但是,“摩尔定律”并不能永远维持下去,原因之一是用于芯片微电路加工的光刻工艺已经逼近2~3nm的光学衍射极限,已经很难在保证芯片良品率的条件下进一步提高晶体管密度。此外,随着晶体管尺寸的不断减小,电极间的漏电现象以及巨大的散热问题,也会导致芯片的性能失效。
面对这样的困境,难道说,我们的计算机技术发展到此就进入瓶颈了吗?别着急,在下篇文章中笔者自然会为大家揭晓答案。
编辑:孙晨宇
来源: 中国科普博览
内容资源由项目单位提供