李国杰:欲穷千里目,更上一层楼
计算机体系结构国家重点实验室成立10年了,这是这是一个值得庆祝的日子,也是一个值得总结反思的日子,我写几点意见与大家共勉。
2011年计算机体系结构国家重点实验室成立,2017年国家重点实验室评估中评为“优秀”实验室,这是20年来信息领域唯一一家首次评估就获得优秀的国家重点实验室,我们起了一个好头。现在体系结构国重有44位研究员,几乎占到计算所研究员的半壁江山,计算所许多“名人”都是国重的成员,体系结构国重理应做出更大的贡献。
在过去的十年里,体系结构国重做出了一些有世界影响的成果。影响最大的可能是寒武纪芯片,被《科学》杂志评价为深度学习处理器芯片方向的“先驱”和“领导者”。“一生一芯”计划已经进行到第三期,覆盖了151所高校(海外20所),在推进基于RISC-V的敏捷芯片设计方面已受到了全世界的关注。成立之初设定的四个主攻方向(高端计算体系结构、微体系结构、编译与编程、超大规模集成电路与容错计算)都做出了出色的成绩,在几位年轻的领军人才的带领下,已经分蘖出新的科研实体,分别成立了智能处理器研究中心、高性能计算机研究中心、高通量计算机研究中心、先进计算机系统研究中心、智能计算机研究中心,并以此为基础正在申请成立两个新的国家重点实验室(处理器芯片国重和先进计算基础设施国重)。十年前比较薄弱的非传统体系结构方向如今也开出了引人注目的花朵:蛋白质序列鉴定及结构预测已取得进入国际前列的成果,量子计算已集聚一定的实力,正在努力扩充队伍,DNA存储、光子计算、超导计算也做出了令人欣喜的初步成果。
总的来讲,计算机体系结构国重部署的研究方向已经足够宽阔,国际上与这一领域有关的研究方向我们几乎都已涉及。如何组织和协调各个研究方向的研究力量,根据问题导向和目标导向的原则,围绕国家和产业的重大需求,做出更有影响的重大成果,值得每一位国重员工认真思考。
通观计算机发展的历史,体系结构和芯片的进步各自为计算机性能的提升做出了一半左右的贡献。登纳德缩放定律的失效和摩尔定律的放缓,使得芯片很难继续做出一半的贡献。至少在变革性的新器件大规模进入市场以前,人们把提高计算机性能和能效的希望主要寄托在体系结构的创新上。尤其是对于中国而言,由于半导体工艺技术与国际先进水平有4代以上的差距,近期内解决重要问题的重任也主要落在系统结构科研人员的肩上。国内不少人一天到晚盯着半导体工艺上的差距,对解决问题一筹莫展。Patterson教授在他的图灵奖报告中引用了Shimon Peres的一段话:“如果一个问题无解,那它可能不是一个问题,而是一个事实,我们不需要解决,而是随着时间的推移来处理。”我国半导体工艺落后的问题只能随着时间的推移来解决。但是,看似无法解决的工艺技术差距可以另辟蹊径,通过体系结构的创新来缓解。今后十年甚至更长的时间内,正是体系结构科研人员大显身手的好机会。
体系结构讲的是一个体系,而不是单项技术。每个国家的资源禀赋不同,人文历史不同,发展阶段不同,采取的技术体系也应该不同。多年以来我们跟随美国的技术体系(称为A体系)。相对而言,美国的工程师少而高价值的市场大,走的是一条高精尖的通用为主的道路。与美国相反,中国的工程师多、场景多、市场规模大(包括中低端市场)。我们需要重点发展各个领域的跨层垂直优化技术,用适应不同场景的加速芯片和系统战胜曾经是主流的通用芯片(称为C体系)。计算机技术的普及显著扩大了市场空间,现在一个领域的市场规模可能就相当于过去覆盖许多领域的通用市场。最近寒武纪研制的思元270 NPU芯片,执行AI任务的综合性能功耗价格比是同期NVIDIA通用GPU Tesla V100芯片的10倍以上,这就是特定领域加速芯片的典型案例。场景多了,芯片种类多了,设计的人员就要多。打破生态垄断、降低创新门槛、快速培养芯片和系统架构设计人才成了当务之急。开源是打破技术垄断最有效的方式,敏捷设计是应对碎片化应用场景的出路。RISC-V可能是构建C体系的一条捷径,值得努力探索。
所谓体系结构研究,与每一个层面的单方向技术研究不同,需要透彻了解各个层面技术的联系和制约,从上到下实现整体的改进和优化。从Patterson教授图灵奖报告讲的Python程序可通过系统优化得到6万倍加速的著名案例可以看出,得到这种加速效果需要程序语言的转换(47倍)、多核处理器并行(7倍)、存储布局优化(20倍)、SIMD硬件扩展(9倍)。获得6万倍加速的前提是各层次的优化是协调的,而不是互相制约和抵消,没有对体系结构的深入理解,就会此消彼长,得不到理想的效果。过去几十年,体系结构的研究的重点是CPU芯片、存储系统、操作系统、编译系统等各个层次的独立研究,今后十几年,特定领域系统结构(DSA)将成为计算机发展的主流,DSA的优势在于一个领域的纵向整合,这正是Patterson教授讲的“计算机体系结构迎来下个黄金时代”的本意。我们在纵向整合方面能做出与“黄金时代”相称的贡献吗?
计算机体系结构研究呈现明显的否定之否定和螺旋式发展的规律。不但集中为主还是分布为主有所谓“合久必分、分久必合”的“三国定律”,横向分层次发展和纵向整合、显式并行和和隐式并行也有周期性的规律。上世纪80年代以前计算机研究的主流是纵向整合,IBM公司就是垂直整合的典范。90年代以后,英特尔和微软公司的兴起促使各个层次的横向发展成为主流。现在又到了纵向垂直整合为主流的时代。早期的并行处理大多是靠人工实现的显示处理,过去二三十年发展了很多减轻程序员负担的自动并行处理技术。由于降低能耗成为主要的技术追求,而程序员和编译器静态分配存储比动态分配的高速缓存使用更少的能量,目前流行的DSA处理器又更多地考虑显式并行。我们既要顺势而为,又要从更高的视角洞察体系结构主流发展的宏观规律。
从IBM 360创立了兼容的计算机系统概念以来,计算机体系结构研究一直是计算机领域的主要研究方向。根据我的印象,计算机系体系结构研究曾经有过火热的时刻。上世纪80年代,并行计算机的互联结构(Interconnection)的文章很多,蝶形互联(butterfly)、超立方体互联(Cube)等层出不穷。我在美国读博士时, H.J. Siegel教授讲了一个学期计算机体系结构课,讲的内容全是互联结构。但是,今天超级计算机用的互联结构,不是胖树结构,就是多维环(Torus),都是简单的互联网络,我不知当年发表那么多互联网络的文章到底对并行计算机的发展起了多大作用。有一段时间 ISCA 会议上大多是关于Cache效率分析的性能模拟方面的文章,计算界的权威们也不得不站出来说,会议论文许多是垃圾文章。与此相反,陈云霁和陈天石开始用人工智能技术优化芯片设计的参数选择时,既不是国际热点,文章投稿多次被拒,在国内也申请不到经费,发自内心的创新驱动支持他们坐了几年冷板凳,才有今天的辉煌。为国分忧的宏大叙事是做科研的情怀,选择具体做什么方向的研究反映一个科研人员的眼光。林彪打仗有“四快一慢”原则,思考作战方案、决定发动总攻要慢。我们做科研在选择具体方向时也要多发些功夫思考,不要人云亦云随大流。
体系结构国重这几年发展比较顺利的一个重要标志是年轻人才成长较快。国重自成立之日,就把“宝”押在年轻人身上,重用了年轻的学科带头人,给他们搭建了足够宽广的舞台。几年来先后冒出了寒武纪芯片、RISC-V开源芯片、高通量芯片、工业互联网芯片等有前景的新方向,量子计算、超导计算、DNA计算等交叉领域也涌现了一批新人。计算机科学是一门年轻的学科,计算机发展历史上许多重要的发明都出自年轻人。目前国内的人才评价环境不理想,人才帽子和“四唯导向”还有一定的负面影响,希望体系结构国重的年青学者不慕虚名,以科研成果的实际影响力论英雄,不问成功秘诀,只管砥砺前行。计算所和国重的领导者在引进和培养年轻人才上还要多费心思。
计算所和体系结构国重一向重视产业化,与华为、曙光等企业开展了卓有成效的合作,国重的成员创办了一些有活力的新企业,对开源社区也做了积极贡献,对工业界已经有较明显的技术辐射和影响。国家重点实验室的价值最终要体现在对产业界的影响上。我国高技术企业对关键技术和核心技术的需求越来越强烈,我们不能用老眼光看到今天的企业,一些短平快的简单技术可能已经不能满足先进企业的胃口。相比于国家大力扶植的国家实验室,国家重点实验室应该更重视下一代核心技术的研发,为国家实验室提供强有力的技术支撑。国重不能关起门做研究,要多与企业沟通,把企业的换代技术需求转化为我们的课题任务。
欲穷千里目,更上一层楼。体系结构国重的同仁们,加油!