CCCF人物专访 | 研究是一种生活方式——访2019莫里斯·威尔克斯奖得主奥努尔·穆特卢教授(上)

2019 年 8 月 16 日 中国计算机学会


Onur Mutlu是苏黎世联邦理工学院和卡耐基梅隆大学的讲席教授。由于高效和安全的DRAM系统的创造性研究,他获得了2019年Maurice Wilkes Award。借此契机,本文作者对他进行了采访。囿于篇幅,本采访分为上下两部分刊登。

关键词:莫里斯·威尔克斯奖  计算机体系结构


奥努尔·穆特卢(Onur Mutlu)是苏黎世联邦理工学院和卡耐基梅隆大学的William D. and Nancy W. Strecker Early Career讲席教授。他的研究特别强调不同领域之间以及应用、计算机软件、编译器和微体系结构的交互,当前主要关注内存和存储系统、计算机信息学以及生物启发计算中的问题。奥努尔是IEEE/ACM Fellow、欧洲科学院院士。他入选了体系结构四大会议(ISCA, MICRO, HPCA, ASPLOS)的名人堂(Hall of Fame),同时还在计算机体系系统、体系结构和安全的会议上获得了相当数量的最佳论文以及“Top Pick”论文。奥努尔热衷于计算机教育,他的计算机体系结构、内存系统和数字设计课程(本科、硕士和博士层次)录像在YouTube上免费提供;他所在的研究组SAFARI提供了多种开源软硬件系统供学术界和工业界使用。


由于高效和安全的DRAM系统的创造性研究,奥努尔获得了2019年莫里斯·威尔克斯奖(Maurice Wilkes Award)1。本文作者在奥努尔获奖后对他进行了采访。囿于篇幅,本采访分为上下两部分刊登。 


本文作者和奥努尔合影(左起:骆沁毅、奥努尔、钱学海、卓有为)


问:祝贺您获得莫里斯·威尔克斯奖。我们先从您的学生时代开始谈起吧。您出生在土耳其,在美国的密歇根大学获得学士学位。土耳其的学生大多是在国内读完本科后才去美国。您是什么时候决定去美国的?为什么做出这个决定?


奥努尔:在土耳其,高中毕业后去美国读书是不常见的。我最初进入的是比尔肯特大学,这是土耳其一所顶尖的大学,我在那里学习了一些计算机知识。在土耳其进入大学的方式是通过入学考试,土耳其政府会为考得好的优等生提供在境外攻读学士学位的机会。有很多国家可以选择,包括美国、加拿大、澳大利亚、瑞士、英国等。而我抓住了这个机会。如果没有政府提供的奖学金,我就会留在土耳其,因为我负担不起在美国接受本科教育的费用。密歇根大学是不错的选择,所以我决定去那里。

问:您同时拥有计算机科学和心理学学士学位。您对心理学有什么看法?为什么最终选择了计算机工程?


奥努尔:我在1996年参加大学入学考试的时候,经历了两个步骤,第一步是淘汰,它基本上把学生人数从当时报名的150万减少到50万左右;第二步是选择未来的方向,如果你想成为一名工程师或科学家,就需要参加一个非常难的测试,包括科学、数学以及和土耳其相关的话题。每个学生都需要填写一个想去的学校和系的排名列表,然后参加考试,最后根据这个列表和考试成绩决定应该去哪里。当时我对计算机科学很感兴趣,也对一些别的学科感兴趣,比如国际关系。但我父亲的建议是,如果你是一个伟大的工程师或者科学家,你总可以去搞国际关系。虽然国际关系没什么不好,但他鼓励我去学科学。我的第一选择是计算机科学,因为我一直对计算机感兴趣,第二个选择是分子生物学和遗传学。在高中的时候,我对心理学很感兴趣,上了许多心理学的课程。去了密歇根大学以后,我发现可以拿两个学位,这在土耳其是很难做到的,于是我充分利用了这样的机会。当时心理学的入门课程是詹姆斯·希尔顿(James Hilton)讲授的,我真的很喜欢,于是我决定两个专业都学。这种经历是非常美妙的。

问:耶尔·帕特(Yale N. Patt)2去德州大学以前是在密歇根大学,您那时就开始与耶尔·帕特合作了吗?


奥努尔:实际不是这样的。我在密歇根大学读了三年,当我准备好做研究时,耶尔已经到德州大学了。我第一次上他教授的计算机系统入门课是在1998年冬天。他是一位伟大的老师,我非常享受这门课,他非常关心教学和研究。三年后当我申请研究生院的时候,他正在密歇根大学访问,我问他,你能给我写一封申请研究生院的推荐信吗? 他看了看我的简历和我在他的课上的成绩,告诉我可以写推荐信。他总是说我不是最好的学生——我是第二名,但一共有400多名学生,这还是不错的。当他得知我有兴趣和他一起工作时,他决定录取我。我们之间有一种特殊的纽带联系着,我很喜欢他,他很欣赏我,这就是我当时决定和他一起工作的原因。

问:每个研究体系结构的学生都知道耶尔,您作为耶尔最好的学生之一,能描述一下他作为导师的指导风格吗?这是否也影响了您和自己学生的互动?


奥努尔:我不确定自己是不是耶尔最好的学生,他培养了很多优秀的学生,这得益于他的指导风格。我不知道你是否认识胡文美,他也是耶尔的学生,并且是莫里斯·威尔克斯奖的第一个获奖者。耶尔的研究关注根本问题,致力于构建计算机架构的根基。他的要求相对宽松,学生有很大的自由去探索自己的想法。他会在正确的时间给你反馈,但是他也会给你留很多时间。这样的环境使得大家把注意力集中在根本问题上。你有很多自由,你可以和真正优秀的学生一起互动,这样你就可以做很棒的研究。我真的很喜欢这种指导风格,这也从根本上影响了我与学生互动的方式。也许我比耶尔抓得更紧一些,但我还在职业生涯的早期,我也更年轻。我认为把重点放在根本问题上,给学生们更多的自由是非常重要的。

问:您能比较一下德州大学的计算机系和电子系吗?因为我们知道计算机系也有一些体系结构的项目,比如TRIPS。


奥努尔:我认为不同的项目与不同的系无关,而与导师当时的研究风格有关。我的导师耶尔的研究风格是宽松、自由。你可以做一些耶尔当时没想过的事情,然后去给他讲你的想法。如果他认为想法很棒,那你就去做。我喜欢这种风格。与之相对的另一种风格体现在当时正在进行的TRIPS项目,其目标是建立一个分布式的数据流执行引擎。这个项目需要实现这种处理器的原型,验证它确实能提高性能和降低功耗,它有非常明确的目标和想法,研究的重点是如何制造出这个处理器,因此它需要一个大的团队。如果要在这两者之间做出选择,你需要考虑作为一个博士生你想做什么以及自己是什么样的人。如果想自己尝试新想法,也许第一种风格更适合你,但如果你想造出真正的芯片,在一个大的团队工作,在项目中找到博士论文主题,也许第二种风格更适合你,只是找到论文主题也并非容易。这最终是一种取舍,两种方法各有优缺点。

问:我们来谈谈您博士阶段的研究——预执行。你是怎样产生这个想法的?


奥努尔:我先介绍一下预执行,我有时还把它教给苏黎世联邦理工学院的新生。预执行的目标是设计一个机制让有限指令窗口的乱序执行处理器在遇到长延迟的内存访问时不阻塞(stall)执行。对于乱序执行处理器,发生了长延迟的内存访问后会很快阻塞。我们的想法是,不让处理器阻塞而利用推测执行(speculative execution)做有用的工作。处理器状态可以做检查点(checkpoint),每当长延迟的读失效填满了指令窗口时,它就进入推测执行模式,也就是预执行模式。在这段时间里,有些数据是读不到的,但是读到的数据能让一些指令预先执行,它们将触发其他缓存失效和长延时读操作。这样我们实际上就将那些导致阻塞的长延时操作并行化了,这其实是一个很有效的预取机制。当开始的读失效返回时,处理器会刷新流水线,回到检查点,重新执行。当处理器重新执行所有那些本来会产生读失效的指令时,需要的数据已经预取到缓存中了。我很喜欢这个想法,就像我的孩子一样。我们是怎么想到的呢?我在博士学位学习期间做了五次实习。第一次实习的时候,我和埃里克(Eric Sprangle)以及奔腾4架构组一起工作,我们重点研究了预取机制。我们有一个专利,内容是关于如何在内存控制器(当时的前端总线控制器)中重新排序内存访问和预取。我们研究了为什么会有这么长延时的内存访问,乱序执行有多大好处,缓冲区应该有多大。这让我去思考可以让乱序执行更有效的方法,而不是简单增加指令窗口大小。当我去英特尔实习的时候,克里斯·威尔克森(Chris Wilkerson)和贾里德·斯塔克(Jared Stark)是我当时的导师,克里斯正在做一些非常类似于预执行的事情。所以,这项研究起源于和英特尔之间的合作。如果你看原始的预执行论文,我是第一作者,后面是贾里德、克里斯和耶尔。


奥努尔·穆特卢获得2011年青年体系结构学者奖

问:您在研究预执行时,考虑过旁路攻击(side channel attack)等安全问题吗?因为它从本质上说是一种非常激进的推测执行。这是当下很热门的研究话题。


奥努尔:完全没有。在那个时候,安全根本不是问题,针对安全的硬件设计是后来才逐渐成为热门问题的。之前人们希望设计的是高性能、低成本的微处理器。在很长一段时间里,这是两个主要的设计约束。在20世纪90年代末和21世纪初,功耗也成为设计上的一个限制,这就是计算机的进化。随着时间的推移,当你开发出更复杂的技术,同时解决了一些大问题(比如性能、功耗、可靠性)时,在某个时候,其他问题可能会变得更加重要。我认为现在安全是非常重要的,很明显,预执行与乱序执行很相似,它推测、预取数据到缓存中的确会产生旁路,这可能会加剧幽灵漏洞(spectre problem)。对于这些安全问题,我们需要改变思维方式,用根本的方法来解决这些问题。我不知道怎么做,但我认为在这方面做研究是好的。

问:您博士毕业后,先去了微软研究院做研究员。您的研究主题也发生了巨大的变化,主要关注内存控制器和片上网络。是什么促使您选择这些新话题呢?


奥努尔:在获得博士学位之后,偶然改变一下研究课题是有好处的。我是微软研究院体系结构组的创始成员。在我工作一周后,托马斯(Thomas Moscibroda)来到我隔壁的办公室,我们立即熟悉起来并开始一起工作。那时候多核刚进入市场,实际上奔腾D就是一个通过复制单核实现的双核处理器。我们对多核的新问题非常感兴趣,因为托马斯的背景是分布式系统,而我的背景是体系结构。我对内存控制器很感兴趣。当我们一起讨论的时候,我们认为内存控制器肯定会是个问题,因为所有这些核都放在一起它们都必须经过内存控制器,那么就会遇到瓶颈。我们开始研究内存控制器中使用的算法并发现了很多公平性问题。我们写的第一篇论文实际上是关于内存性能攻击的,并且发表在了USENIX Security上。同样,片上网络(NoC)也会成为一个问题,因为如果你在一个芯片上放置很多核,它们应该如何相互通信以及如何与内存控制器通讯呢?这也是一个自然的研究方向。所以我们真正的想法是,在多核系统刚刚萌芽的时候,我们能不能做一些重大的、有长远影响的根本问题的研究?后来,我在微软研究院研究了容错问题。这对我后来的研究产生了很大的影响,例如Rowhammer问题。

问:您在分布式计算原理会议(PODC)上也发表了一篇论文。您是如何找到计算机体系结构和分布式计算理论的联系的?


奥努尔:PODC是分布式计算理论的顶级会议,我通常不在那里发表文章,但是托马斯是那个领域的人。那时我们的研究问题是如何设计内存控制器为不同的请求提供高质量的服务。我们提出了“并行批处理调度”(parallelism-aware batch scheduling),发表在了ISCA 2008上。如果只有一个内存控制器,这个方法很有效,但是如果有多个内存控制器,你就需要查看所有内存控制器中的请求,以便进行一致的排序。这是一个分布式内存控制器的问题,我们考虑如何设计一种机制,将内存控制器之间互相发送的消息最小化,从而提高效率。这是分布式计算和计算机体系结构结合在一起的完美例子。托马斯做了很多理论方面的工作,我做了很多实现和实验,于是就有了这么一篇PODC论文。这是我唯一的一篇PODC论文,多亏了和别人的合作,我才能研究这个问题。

问:您在2009年以助理教授的身份来到了卡耐基梅隆大学。为什么要做出这样的选择呢?


奥努尔:在微软研究院工作真的很棒,我有很多自由,也和很多很棒的人一起合作。我想教书,我想和学生们进行更紧密、更长时间的合作,比如5~6年。在工业界的实验室里完成这样的工作是非常困难的。我很享受作为教授进行教学和指导的过程,也享受科研。

问:在微软研究院和卡耐基梅隆大学的学术生活有什么不同?


奥努尔:我可以讲一下微软研究院或者整个工业界和学术界的区别。在那个时候,微软研究院某种程度上也属于学术界,它是世界上最好的学术研究实验室之一。工业界和学术界相比,我认为本质区别有三点:(1) 在工业界,你和学生的关系不那么密切。实习生一般是来来去去,不可能和博士生一样,有五六年的指导时间。而和学生一起工作,是学术界的工作重点。(2) 在工业界,教学不会得到太多回报。你当然可以在附近的一些学校教书,但那属于分外工作,而教学是在学术界工作的一个基本和核心的部分。如果你想成为一名教授,应该热爱教学。(3) 我在微软研究院工作的时候感觉很棒,因为我有很多自由。但问题是,在工业界这种自由能持续多久?你通常要为公司做点贡献,这不是一件坏事,但这会让你的想法在某一时刻受到限制,因为你要做一些关于产品的研究,有时你还要做产品。而在学术界就相对自由。

问:在卡耐基梅隆大学,您又略微改变了研究方向,全方位地关注内存相关问题。您为什么对内存问题如此感兴趣呢?


奥努尔:这是显而易见的,在我看来,内存是当今计算机系统中最大的瓶颈。本质上,处理器大部分时间和系统大部分能量都消耗在等待来自内存的数据。我们在2018年的ASPLOS上发表了一篇论文,分析了Android和Chromebooks移动系统中的四个关键工作负载,实际上是谷歌的工作负载。我们发现,超过60%的能量消耗在数据移动。当我加入卡耐基梅隆大学的时候,我对这些就有了解并很感兴趣。但我并没有放弃内存控制器的研究。我还增加了一些新的课题,例如我们还在做在微软研究院开始的非易失性存储器和相变存储器,并考虑一些混合存储器系统。还有内存扩展的问题,这是在卡耐基梅隆大学开始的。非易失性内存当然非常有趣,但它比较前瞻。

问:在卡耐基梅隆大学,您所在的研究组在2014年发现了Rowhammer,受到学术界和工业界的重视。您是怎么发现这些重要问题的?


奥努尔:我们当时在研究未来的内存如何扩展,如何在保持内存单元可靠的同时减小其大小。我们研究内存刷新,因为内存扩展的关键是确定维持(retention)时间。内存单元越小,越容易泄漏(leakage),越容易受到量子效应的随机影响,维持时间也越难确定。因此我们开始思考能否完全摆脱内存刷新。从另一个角度思考,就是如何改进并行性,克服长时间的延迟,但这和Rowhammer没有太大关系。当我们研究刷新问题时,建立了很多基于FPGA的测试基础设施,这样就可以测试内存芯片,计算维持时间和延迟,并计算出内存单元在什么时间会失败。我们也开发闪存基础设施,使用了FPGA的闪存测试设施,与之相关的第一篇论文发表在DATE 2012上。我们研究了错误机制、可靠性机制以及闪存中类似的扩展问题,看到了很多读干扰效应,于是我们开始思考,其中一些干扰效应是否也可能出现在内存中?读干扰的意思是,在内存中读取一行时,干扰了相邻行。闪存、硬盘、相变内存、SRAM都有这种现象,内存是否也如此?我的一个学生Yoongu Kim在2012年夏天去英特尔公司实习,他当时就开始关注这些问题。他实习回来以后,我们用基础测试平台检测并确认了读干扰确实存在于内存芯片中,现在这个问题被称为Rowhammer。我们和英特尔的研究人员一起写了一篇论文,发表在ISCA 2014上。我们能够做到这一点的原因有三个:第一,我们已经在研究不同类型的内存。我们在闪存中发现了一个大问题,这个线索让我们思考内存芯片是否也存在类似的问题。第二,我们建立了用FPGA来测试内存芯片的基础平台。这个平台本来是用于测试维持时间的,我们利用它测试了Rowhammer。第三,与英特尔公司的合作,让我们对这个问题有了更多的了解,最终解决了这个问题。

作者介绍:


钱学海

南加利福尼亚大学助理教授。主要研究方向为计算机系统和体系结构。

xuehai.qian@usc.edu


卓有为

南加利福尼亚大学博士生。主要研究方向为计算机体系结构、分布式系统。

youweizh@usc.edu


骆沁毅

南加利福尼亚大学博士生。主要研究方向为分布式机器学习和数据分析。

qinyiluo@usc.edu


脚注:

莫里斯·威尔克斯奖是ACM SIGARCH颁发给处于职业生涯中期的体系结构领域卓越研究者的最有声望的奖项,每年只颁发给一人。过去的获奖者包括胡文美(Wen-mei Hwu)、Guri Sohi、Bill Dally和 Glenn Hinton。这个奖项以计算机先驱莫里斯·威尔克斯(Maurice Wilkes)的名字命名。莫里斯·威尔克斯发明了基于微程序(microprogramming)和微代码(microcode)的计算机,并对缓存和早期计算机(包括EDSAC)的设计有重要贡献。  


Yale Patt是德克萨斯大学奥斯汀分校的教授,曾任密歇根大学计算机体系结构实验室主任多年他被IEEE Spectrum评为美国计算机界的卓越泰斗,著有著名的《计算机系统概论》。



点击“阅读原文”,前往CCF数图相关栏目。 


登录查看更多
8

相关内容

CVPR 2022 将于2022年 6 月 21-24 日在美国的新奥尔良举行。CVPR是IEEE Conference on Computer Vision and Pattern Recognition的缩写,即IEEE国际计算机视觉与模式识别会议。该会议是由IEEE举办的计算机视觉和模式识别领域的顶级会议,会议的主要内容是计算机视觉与模式识别技术。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
【哈佛《CS50 Python人工智能入门》课程 (2020)】
专知会员服务
111+阅读 · 2020年4月12日
【中国人民大学】机器学习的隐私保护研究综述
专知会员服务
131+阅读 · 2020年3月25日
【CAAI 2019】自然语言与理解,苏州大学| 周国栋教授
专知会员服务
62+阅读 · 2019年12月1日
周志华教授:如何做研究与写论文?
专知会员服务
154+阅读 · 2019年10月9日
百余位院士入选!中国科协公示一份重要名单
材料科学与工程
11+阅读 · 2018年12月21日
尼克 | 从专家系统到知识图谱
开放知识图谱
15+阅读 · 2018年1月2日
尼克谈人工智能的历史、现实与未来
专知
3+阅读 · 2017年12月3日
【人工智能】重磅:中国人工智能40年发展简史
产业智能官
7+阅读 · 2017年11月12日
Arxiv
13+阅读 · 2019年11月14日
Efficiently Embedding Dynamic Knowledge Graphs
Arxiv
14+阅读 · 2019年10月15日
Arxiv
4+阅读 · 2018年5月24日
Arxiv
6+阅读 · 2018年3月28日
Arxiv
5+阅读 · 2018年1月30日
VIP会员
Top
微信扫码咨询专知VIP会员