数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 3671|回复: 0

摩尔定律死了,摩尔定律万岁

[复制链接]
发表于 2022-4-15 18:54 | 显示全部楼层 |阅读模式
摩尔定律死了,摩尔定律万岁

摩尔定律撞了墙,不过那是堵软墙 (soft wall),墙可能一开始就在那里,只不过随着时间的推移,变得越来越硬。贝尔定律以价格为基准预测每一代 (class) 有 10~15 年生命周期。如果以能耗为基准,每一代也会被下一代取代。我们谨慎地预测“修正的摩尔定律”还可以持续 20 年。

撰文 | 尼克

关键词:摩尔定律 芯片 贝尔定律

摩尔定律死了

摩尔定律预测每隔一段固定的时间,芯片的晶体管密度就会增加一倍。笔者从直觉上认为,晶体管密度指数性增加是不会长期持续的。虽然有些经济学家观察到,芯片的晶体管数的增长速度有时快于摩尔定律,但这种情况实际上是幻象,一方面,是因为有些芯片采用了多个裸片(die);另一方面,过去每隔十年左右,裸片的尺寸就会略有增长。晶体管密度是单位面积所包含的晶体管数,这是一个更为有用的度量。

英特尔创始人之一戈登·摩尔 (Gordon Moore) 1965 年预测集成电路密度翻倍所需的时间是一年[9],1975 年他将这一速度修订为两年翻一倍[10],但现在我们已经观察到集成电路密度翻倍所需的时间超过 3 年。在 2000 年之前,每一代芯片的性能提升来自两个方面:按照 Denard 微缩定律(Denard Scaling):每代芯片的频率提升带来了 40% 的改进;而每代芯片晶体管密度提升带来的体系结构的改进符合波拉克法则(Pollack Rule),即平方根级别的提升,即 41% 。将这两方面的性能提升叠加可得 1.4×1.41≈1.97 ,于是每代会有差不多一倍的提升[2]。据此,芯片晶体管密度的摩尔定律可换算成性能的摩尔定律。但 Denard 微缩定律已失效,单核性能的提升没法纯粹依靠主频的提升。于是,出现了多核处理器,以提升芯片吞吐量(throughput)性能,芯片的整体性能不只是单个核心的计算性能。总之,晶体管密度的增速在放缓,芯片主频的提升速度更慢,性能的改善越来越难。在 2005 年之前的 20 年里,微处理器的性能提升了 1000 倍,也就是每两年提升一倍;而之后的十多年很明显并没有达到这个速度[13]。

摩尔定律不是数学意义的定理,也不是物理学意义的定律,是一种经验观察的总结,主要意义是经济学的。有人说这是“自我实现的预言(self-fulfilling prophecy)”,这成了半导体产业奋发图强的目标。它的预测能力在半导体产业的中早期(2000 年之前)至少持续了 20 年。

芯片性能的提升主要涉及半导体工艺和体系结构的改进。性能提升的同时,能耗也在提升。随着摩尔定律越来越偏离最早的预测,与摩尔定律相关的各种衍生定律,例如库梅定律 (Koomey's Law) [7]等也都和原来的预测结果偏离越来越大。事实上,性能的提升不是一个固定的比例,而是一个变量。本文提出摩尔定律的一个定量修正,旨在更准确地预测芯片发展的未来趋势。

摩尔定律的修正:摩尔定律万岁

如果晶体管密度每年增加的比例是常量,那么性能随时间变化的函数是指数函数。数据显示[14],晶体管密度每年增加的比例递减。这反映了性能提升仍然会持续进行,但提升的幅度会变得越来越小。本文认为,每年递增的比例的对数可以用 1/ln(t) 拟合,而提升值的对数则可以用对数积分 t/ln(t) 拟合。这个对摩尔定律的修正,可以覆盖原始的摩尔定律(见图 1):当 t 较小时,t/ln(t) 会接近直线;但当 t 较大时,t/ln(t) 则会与直线渐行渐远。



对数积分可以用来刻画“越来越难”的现象。晶体管密度可用下列公式拟合:  

              y = ax'/lnx'+ b

在这个特定的场景,取 x' = x - 1943 。

库梅定律在拟合 CPU 的能耗时,把数据拟合的时间起点归到电子管时代。电子数字积分器与计算机 (Electronic Numerical Integrator and Computer,ENIAC) 项目起源于 1943 年,我们也宽容地把这个常量纳入。修正的摩尔定律(暂称为“尼克定律(Nick's Law)”),也可以拟合性能数据(见图 2)。公平起见,我们先比较 AMD 和 Intel 的 x86 架构的芯片,这样可以避免不同架构和不同工艺等额外因素带来的影响。



多核的粗犷的性能数据并不意味着实际计算性能,首先,多核架构需要并行算法和对应的软件优化。并不是所有的问题都可以被并行化,阿姆达尔定律(Amdahl's Law)宣称不可并行化的部分是并行计算的瓶颈。矩阵和向量的原始运算具备理论的线性加速,但理论并行性也不一定能够转化成实际的并行性。而大部分问题没法线性加速,甚至并不具备理论上的并行性。并行算法教科书中最喜欢的入门例子是前缀和(prefix sum)算法,其时间复杂度是 O(log(n)),因而并行度(parallelism 或 speedup)可以达到 O(n/log(n)),这已经非常令人吃惊。而典型的并行排序算法,例如并行归并排序(merge-sort),并行度只能达到 O(n/log2(n))[3]。

过去 15 年,处理器的主频提升极为缓慢,如果我们只看过去 20 年的 x86 架构,主频提升的速度可以用 log(t) 来拟合。如果我们还套用波拉克法则,芯片密度按照亚指数的速度增长,则芯片性能大约只能以亚指数的平方根增长。2005 年之前,个人计算机的 CPU 都是单核,而现在一个普通的移动设备 CPU 都有 8 个核。在未来的芯片里,肯定会有越来越多的核心,对并行算法和并行编程环境的要求也会越来越高。要想得到更高的并行加速,就必须更加整体地考虑优化处理器架构,根据著名芯片设计师吉姆·科勒 (Jim Keller) 设计 x86 架构的经验:每 3~5 年,微架构要重新设计。目前内存已经比处理器几乎慢了两个数量级,当处理器核的数目增大时,内存将是性能的瓶颈,再加上不同处理器之间还要传输数据,会使问题雪上加霜。现在各种新的数据系统架构 (Data Systems Architecture,DSA) 旨在缓解这类瓶颈。

摩尔定律衍生定律的修正

随着摩尔定律的修正,我们可以同时给出摩尔定律衍生定律的修正。库梅定律是摩尔定律的能耗版本。原始的库梅定律说,对于同等算力,所需的能耗每隔一个时间段会减半,也可以反过来说,每隔一个时间段,同等能耗可以完成的算力会加倍。库梅等人在 2010 年发表的定义库梅定律的文章中,主要引用了经济学家威廉·诺德豪斯 (William D.Nordhaus) 的数据[12],但他的数据量太少,1980~2010 年的 30 年间只有 20 个左右的数据点。库梅等比较了不同超级计算机和个人电脑的 CPU 算能(每千瓦时的算力),发现差别并不大,计算效率翻倍所需的时间基本在 1.52~1.57 年之间。但到 2011 年,库梅重新检查历史数据,把时间间隔修正为 2.6 年。而最近的数据表明,随着能耗的降低,速度更加放慢,事实上,某些架构的算能比确实要优于另外一些。尼克定律更好地拟合了最新的数据。物理学家朗道尔(Landauer)曾给出朗道尔原则[1, 8],即逻辑不可逆的计算必然伴随能量消耗,而最小的能量消耗值就是朗道尔极限 (Landauer limit)。按照原始库梅定律的曲线,到 2050 年左右,就会达到朗道尔极限,库梅定律就会彻底失效。这恰是欧盟和日本计划达到碳中和的时间点,比中国计划达到碳中和的时间点(2060 年)要早 10 年。

库梅不太认同用朗道尔极限来约束库梅定律的做法,他认为库梅定律的唯一约束是人的聪明程度 (cleverness) 而不是物理学[6]。但人的知识增长速度也在放缓。摩尔本人有个更有趣的说法:指数不可能永恒,但“永恒”可以被延缓 (No exponential is forever: but "Forever" can be delayed!) [11]。这个延缓的过程可以按照修正的摩尔定律曲线更好地拟合。朗道尔极限会被推迟得更久 (见图 3) 。



超算的排行榜 Top500 的总算力之和,也与摩尔定律偏离得越来越远。尼克定律可以更好地拟合这些数据(见图 4)。



我们尝试把尼克定律应用到超算的总算力效能(总算力/总能耗)。目前 Top500 的能耗数据不全,我们只取了有能耗数据的前 10 个。超算的总能耗大约是按照 log(t) 提升的。总算能大约是。因为数据量较小,从图 5 可以看出曲线呈阶梯状上升。



贝尔定律 (Bell's Law) [4]提出了计算机的分类(class,也可译为“阶级”),一个是既成的类,目前就是 x86 ,价格不变,性能提升;一类是超级计算机,不关心价格,只求性能最好;还有一类是追求低价、新颖 (novel) 的微型 (minimal) 设备。事实上,不同“阶级”之间的“斗争”和替换是很快的。贝尔的估算是 10 年。贝尔曾经断言 20 世纪 90 年代之前的超级计算机是克雷 (Cray) 时代,而 2000 年之后则是多计算机 (multi-computer) 时代[5]。在克雷时代,性能的提升主要依靠提升主频,每年可以提升 40% ,也就是两年提升一倍,这是典型的摩尔定律。而在多核时代,通过不断增加便宜的 CPU 核,性能可以每年加倍——这在贝尔文章发表后即不成立。在贝尔 2008 年发表的文章(其实写作于 2007 年)中,ARM 应该算低价新颖的架构,但它现在不仅有一个很强的要取代目前既成的 x86 架构的趋势,且也已出现在超级计算机上,当下(2021 年)全球最快的计算机“富岳” (Fugaku) 的 CPU 采用的就是 ARM 架构。

能效现在已经成为更为重要且紧急的指标。麻省理工学院管理学院教授艾瑞克·布林约尔松 (Erik Brynjolfsson) 指出,库梅定律的重要性要超过摩尔定律。如果我们把贝尔定律的 Y 轴改为能耗,那么既成“阶级”则是 ARM ,因为它的能耗基本维持在一个常量。在其上的“阶级”是超算和个人电脑的 CPU ,而在其下的是 RISC-V 和其他架构,算能比超过 ARM ,当然也要更优于 x86(见图 6)。



结论

摩尔定律撞了墙,不过那是堵软墙 (soft wall),墙可能一开始就在那里,只不过随着时间的推移,变得越来越硬。性能的指数提升和能耗的指数下降不能永远持续,有人开玩笑说“相信摩尔定律已死的人每两年翻一倍”。摩尔在 2003 年指出,性能翻倍的时间会延长,但半导体产业的增长速度仍然远超几乎其他所有产业[11]。修正的摩尔定律企图指出,性能和能耗仍然以一个很快的速度改进,但改进的速度在逐渐放缓。贝尔定律以价格为基准预测每一代 (class) 有 10~15 年生命周期。如果以能耗为基准,每一代也会被下一代取代。我们谨慎地预测“修正的摩尔定律”还可以持续 20 年。



尼克

CCF 专业会员,CCCF 特邀专栏作家。乌镇智库理事长。早年曾任职于哈佛大学和惠普,后连环创业,曾获吴文俊人工智能科技进步奖。中文著作包括《人工智能简史》《UNIX内核剖析》《哲学书评》等。nick@iwuzhen.org

本文转载自微信公众号“中国计算机学会(ID:ccfvoice)”,内容来自《中国计算机学会通讯》杂志第 18 卷第 4 期。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-5-6 23:55 , Processed in 0.077718 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表