对计算机体系结构研究的一点认识 - 钱学海

本文是计算机学会通讯专栏的一篇文章,第 10 卷  第 6 期  2014 年 6 月。只做片段摘抄。

编者按:美国斯坦福大学最近在一份报告中分析了过去20年间出现的几乎所有的处理器,发现处理器性能提高了约1万倍。这使得像深度学习等20多年前还是遥不可及的技术,在今天强大的计算能力的支持下,释放出巨大的潜力。该报告进一步指出,在1万倍的性能提升中,半导体工艺贡献了100多倍,计算机体系结构贡献了80多倍。由于处理器在信息领域的基础性与普适性,计算机体系结构技术的进步对整个信息领域的快速发展起到了重要的推动作用。而该领域的四大国际顶级会议(ISCA,HPCA,MICRO,ASPLOS)1则是技术进步的思想源泉,几乎所有计算机体系结构领域的重大技术突破都是最早发表在这四大会议上。加州大学伯克利分校的钱学海博士是体系结构领域的新星,过去5年在四大会议上发表了7篇论文,对计算机体系结构研究有相当的理解和造诣。为此,本期专栏特邀钱学海与读者分享他对计算机体系结构研究的认识。

… …

研究心得

什么是好的研究?这可以从两个方面衡量,首先看研究的问题是否重要,其次看是否提出了有挑战性或者新颖的解决方案,若具备两者之一就是好的研究。对于什么是“重要”的问题,不同学者有不同的看法,但我们可以用一个通俗的标准来概括,即解决方案能否提高“效益”(提高性能或降低能耗)。这个标准相对简单,也得到大家认可。在第二个标准中,同行对于有挑战性的问题通常都有统一的认识,解决方案的新颖性也不难被专家发现。

谈到研究方法,最重要的是对研究问题有深刻的认识。这不仅意味着对现有工作了如指掌,知道它们的不同和不足,还需要思考它们为何会有这些差异和不足?做研究和心理分析有相似之处,一篇论文读的次数多了,往往可以从字里行间发现作者的思维方式,如果能做到这一步,就离自己做出成果不远了。

相信读者有类似的体会,在开始读论文时常常觉得复杂或者难以分辨差别,但如果有了更深层次认识,即了解了作者为什么这样想,就可以相对轻松地提出更好的方案。这里不妨做一个类比,我们可以把对一个问题的解决空间看成是一个从根节点开始的有很多分支的程序,而发表的论文看成是叶节点的集合。如果只关注表象,就只能看到不同叶节点集合之间的重叠和差异。但是如果关注本质,回溯到离根节点较近的分支,就会发现虽然同一个人写了不同的论文,但其思路大都是从一个分支出发的。而不同的人写论文往往从最初就选择不同的分支。

在理解现有工作的过程中,我们要尽量离根节点更近些,即看到论文的本质,然后从这个节点寻找不同的分支(解法)。这样做出的研究就不会过于增量(incremental)。类似的原则也应用于软件测试中,好的测试需要尽量保证覆盖靠近根节点的分支,以免造成许多测试都集中于一个子分支的叶节点(或底层节点)的情况。

读论文要涉猎广泛,不要局限于本领域,这样才能对一些问题有更深刻的认识,或发现一些其他领域的解决方法并应用在自己的研究问题上。计算机科学有很多领域,每个领域的研究方法有各自的特点。也许有些问题是类似的甚至是等价的,如果能够广泛的阅读,就可以让自己站得更高、看得更远。此外,衡量一个领域的好坏,往往可以根据有多少重要原创方法出自该领域来判断。读者可以在广泛的阅读后给出自己心中认为重要的领域。

最后,做研究一定要选择自己感兴趣的课题,这样工作才能持久并容易做出成果。

附文

HPCA

HPCA全称高性能计算架构国际研讨会(International Symposium on High-Performance Computer Architecture),是计算机体系结构的顶会之一。

ISCA

ISCA全称计算机体系结构国际研讨会(The International Symposium on Computer Architecture)是计算机体系结构新思想和新研究成果发现的重要会议。

MICRO

MICRO全称微架构国际研讨会(International Symposium on Microarchitecture),是计算机体系结构的著名会议,关注高级计算和通信系统创新微架构思想和技术,与 ISCA、HPCA 并列体系结构三大顶会。

ASPLOS

ASPLOS全称ACM International Conference on Architectural Support for Programming Languages and Operating Systems,也是体系结构的顶会之一。ASPLOS涉及的领域包括计算机体系结构和硬件、编程语言和编译器、操作系统和网络。


使用 Loki 搭建个人日志平台 你要想知道什么是新闻,首先要知道什么不是新闻 - 马平