软件开发架构师

英特尔首席架构师Raja独家解读:如何以指数级思维引领创新

架构 76 2019-05-25 00:04

对于英特尔和整个行业而言,摩尔定律已经作为计算机革命的脉搏存在了数十年。但随着高级节点的成本和复杂性增加,同时算力应用场景的需求越来越多元化,计算环境日趋复杂,只依靠硬件工艺制程的突破越来越难。在 7nm 芯片的推出上略显延迟的英特尔无疑需要更多新的思路。与此同时,当深度学习计算模式开始逐渐固化,新硬件优势凸显,如何进行软硬件的协同设计,将成为业界未来几年最重要的研究方向之一。而这正是英特尔技术路线图上早已布下的要点之一。

美国时间 5 月 14 日,英特尔开源技术峰会 OSTS’19 上在华盛顿州史蒂文森召开,英特尔首席架构师,英特尔公司高级副总裁兼架构、图形与软件部门总经理 Raja Koduri 在会上发表了主题为《指数级思维》的演讲,详细解读了向以数据为中心的业务转型后,英特尔最新的技术理念和软件布局。

Raja Koduri 原任 AMD RTG 部门主管、显卡首席架构师,他在 2017 年底离开 AMD 加入英特尔。英特尔管理层和董事会给他的首要责任之一,就是为英特尔制订新策略、建立新愿景、规划清晰的技术和架构路线图。他花了 18 个月的时间深入了解不同面貌的英特尔,并尝试寻找这家“年过半百”的芯片巨头突破产业瓶颈问题的解决之道。“对于全新硬件架构的每一个数量级的性能提升潜力,软件能带来超过两个数量级的性能提升。”Raja 如是说,在他看来,软硬件协同设计是解决问题至关重要的一环,对于架构来说,“问题不在于硬件,而在于软件。”对于英特尔而言,摩尔定律的哲学不仅仅指的晶体管的指数级增长,还有用户价值的指数级增长。

英特尔首席架构师Raja独家解读:如何以指数级思维引领创新-1

下文为 InfoQ 现场记者根据演讲速记内容整理而成。

超越摩尔定律,不一样的指数级思维

过去几年间大家所能获得的计算力正在以惊人的速率增长。回顾过去 35 到 40 年间计算力的发展历程,你会发现它的增长速率是呈指数级上升的。而在这期间我们经历了一些基础性的变化,比如万物数字化、万物互联、万物移动化、万物云化,以及现在大家开始谈论的万物智能化

回顾在这几次关键转变,并回顾我们在做的事情,就会在这些转变里发现一个有趣的事情,即硬件与软件的结合

互联网用户在过去十年里增长了十亿人,我们从 PC 时代进入到互联网时代。这一次转变的软硬件结合的典型代表就是 PC 上 X86 架构和 Windows 系统的结合。现在我们已经进入了下一个时代,也就是移动和云的时代。我们同样能看到 10 倍的增长,即从 10 亿互联网用户增长到 100 亿设备,移动化成为趋势。在这一次转变中,硬件和软件的结合也发生了变化,移动化时代的主导变成了 ARM 架构和 iOS 及 Android 操作系统,而 Linux 系统和 X86 平台则占据了云市场。

从 10 亿到 100 亿,这些就是每个时代硬软件结合的变化。现在大家都在谈论 1000 亿台设备的下一个时代。所有企业都在说 TAM(Total Addressable Market,潜在市场总规模)、扩张的 TAM、45 亿美元的 TAM,在业界有很多这样的商业讨论。这些讨论所表达的其实是一个意思:“新的时代会有 1000 亿台设备相互交流。”那么从硬件和软件结合的角度出发思考,什么可以替代 Linux 和 X86,ARM 和 iOS、安卓,或者 X86 和 Windows,来支持这 1000 亿台设备呢?

英特尔首席架构师Raja独家解读:如何以指数级思维引领创新-2

这种指数级的增长对英特尔来说并不是新鲜事,我们的企业就是基于此发展起来的。对于英特尔和行业而言,摩尔定律就是计算机革命的脉搏。现在关于摩尔定律有很多声音:它将何去何从,摩尔定律已死,等等……所以,我想先快速回顾一下摩尔定律的发展。

摩尔定律描述的四个重要特征包括晶体管密度、单价性能、每瓦性能以及频率。我们将摩尔定律的发展历程大致分为三个时期。第一个时期是兆赫时代,也被人们被称为黄金时代,在这一时期,我们在晶体管密度、单价性能和每瓦性能上都实现了极大提升,频率也在每两年大幅提升一次。接着我们进入了第二个时期,即多核时代,这一期间晶体管密度继续增加,但是单价性能下滑了,每瓦性能从平均 1.7 倍降到 1.3 倍,频率提升也有所放缓。

英特尔首席架构师Raja独家解读:如何以指数级思维引领创新-3

接下来向哪儿发展?在从 2000 年开始到现在将近二十年的时间里,我们的创新一直都不少。下一个时代,也就是我们说的架构时代,内核会进一步扁平化,密度提升的比率会稍微低一些,但整体还是会像摩尔定律所说的每两年提升一次,每瓦性能和频率的提升都会再低一点。

这不只是晶体管的变化曲线,它实际上也是我们在软件领域的前进曲线。这是一个前线的架构师对我说的:“我们需要更多的晶体管。”如果不作出改变,我们是无法使所有工作负载都快速运行的。这些晶体管也会有别的用处,不只是原来在旧的单线程 CPU 频率矩阵或未经修改的内核中快速运行。晶体管的运行速度会逐渐增加,但你想有指数级的增长,那就必须要硬件和软件来共同创新。这一点将贯穿在我的发言之中。软件社区和硬件社区相互交流,并真正去思考彼此的问题,这比以往任何时候都更重要。

关于英特尔对摩尔定律的内化,我花了十八个月的时间去了解这家公司。在过去十八个月里,我至少见过三个英特尔。有研究晶体管的英特尔,有改进设计的英特尔,以及我最近发现的一个,就是开源的英特尔。开源的英特尔就像是曼哈顿的中央公园,那里面是一群完全不同的人。在英特尔,我们关于摩尔定律的哲学将永远存在。除了密度之外,我们还能有什么其他创新,来实现用户价值的指数级增长呢?这不仅仅是实现晶体管的指数级增长。

英特尔首席架构师Raja独家解读:如何以指数级思维引领创新-4

我在去年 12 月份的架构日上公开解释了英特尔的技术愿景,那就是“英特尔将提供多样化的标量、矢量、矩阵和空间架构组合,以先进制程技术进行设计,由颠覆性内存层次结构提供支持,通过先进封装集成到系统中,使用光速互连进行超大规模部署,提供统一的软件开发接口以及安全功能。

英特尔的六大技术支柱:软硬兼施

这一技术愿景中涵盖了英特尔推出的六大技术支柱,我们围绕这六大技术支柱制定了技术和架构的路线图,不只是制程技术,还包括封装、架构、内存和存储、互连、安全、软件。

英特尔首席架构师Raja独家解读:如何以指数级思维引领创新-5

制程 & 封装

晶体管、封装和设计的同步的联合架构优化是摩尔定律未来发展的基础。

在制程方面,基本上就是晶体管、封装和设计的同步的联合架构优化,这三者需要紧密地结合在一起来推动摩尔定律继续发展。对于硬件领域的人来说,如果你同时对比性能、功率和成本这三个方面,没有单个的芯片类型可以成为所有工作负载的最优解。对桌面 CPU 来说,最好的是能将频率提高到 5GHz 或以上的高性能 CPU,但它对显卡、AI 芯片或者 FPGA、移动芯片来说却并不好。这就是问题关键所在。因此我们决心要制定一个路线图,用先进技术把不同的小芯片,甚至是不同的核心连接起来。这样我们就能让单片 SoC 实现性能、功耗和成本的最佳组合

所以我们为我们的封装技术制定了路线图。标准封装的接点间隔大约是 110 微米,然后到嵌入式多芯片互连桥接 2D 封装(EMIB)技术,它的接点间隔就是前者的一半,这样你在二维中就可以得到更大的带宽,功耗也更低,能下降近 1/5。然后是 Foveros 3D 封装技术,这项技术是下一个技术飞跃,这些就是我们为解决晶体管密度问题而开发的工具。我们采用这些技术,从而在一个封装上构建完整的系统,集合不同速度的晶体管和 IO 芯片、互连等等。所以在制程和封装技术上,我们有密度的提升,有 Foveros 技术进步。我们利用先进的封装技术为每个工作负载都提供相应最优的芯片。

架构

在接下来十年中,我们将看到比过去五十年多得多的架构提升。

在来到英特尔之后,我们建立了一个架构分类系统,让我们不再迷失于 CPU、GPU、加速器和 FPGA。首先我们来看看不同的工作负载。其中包括看起来像标量计算的计算,看起来像向量计算的计算;现在还有个看起来像矩阵计算的新型卷积计算;然后还有 FPGA 代表的空间架构。人们常说不同的工作负载好像是一片土地上的不同地区,中间被深沟隔开。但是,在接下来五到十年中最重要的现代工作负载,就是这种标量、矢量、矩阵和空间架构的组合

英特尔首席架构师Raja独家解读:如何以指数级思维引领创新-6

性能和通用性对于每一种架构都很重要。这里我们用 Y 轴代表通用性,X 轴代表能效。可以看到 CPU 是最通用的,虽然可能不是其中性能最好的;GPU 在性能模型上有些有趣的创新,它已经比以前更通用,虽然还不像 CPU 那么通用,但是 GPU 对于这种高强度工作负载的性能更好;FPGA 加速器的效率要高得多,例如对于特定功能而言,FPGA 加速器效率更高、更节能、更具成本效益,但它并不通用。我们真正要关注的是曲线的不同斜率(性能和通用性的不同搭配组合)。因此,我们树立了清晰的愿景和清晰的路线图:“我们希望提供标量、矢量、矩阵和空间的多种架构组合,部署在 CPU、GPU、FPGA 和加速器套件之中”。

当今世界上最重要和最有价值的架构仍然是 CPU 架构。显然,仍然有大量的应用程序只依赖于 CPU。所以,在黄金时代它能够以指数级速度增长,后来核心密度的增速开始放缓。每次我们碰到速度放缓的时候,就是我们进行创新的时候。当我说“我们”,指的不仅仅是英特尔,而是英特尔和合作伙伴一起创新。这样的创新需要硬件和软件的更迭,所以我们的创新是转向多核架构的。每次向新的架构转变、造成硬件和软件更迭时,至少会带来 10 倍的新的可用工作负载。没有 10 倍的话,能耗就太高了,不值得去修改软件,去改变硬件和软件的组合。所以我们转向了多核架构。

在英特尔,我们有两种标量架构,即酷睿和凌动家族。酷睿关注的是峰值性能和功能,搭载所有全新的功能,最新和最好的安全性,它是功能最丰富的 CPU。凌动重点关注某些应用的成本效率和功耗效率。我们在路线图中会同时推进这两类处理器向前发展。Sunny Cove 微架构即将面世,还有 Ice Lake 架构和即将推出的更多创新。我们将继续大力投入,推动架构发展。

当我们的标量架构向前发展的时候,外界发生了一些变化。显卡和 GPU 在 2006、2007 年间,开始着眼于图像处理,同时提升了 GPU 的浮点计算能力,使得语言和方法在实践中更易编程。GPU 的起点是 CPU 的十倍,这吸引了高性能社区、游戏社区、可视化社区的兴趣,并最终发展到了机器学习社区。

另一个 GPU 的架构语言就是微架构。英特尔有一个鲜为人知的秘密是,我们已经做了 20 年的显卡了,我们推出了第 11 代集成图形卡。今年,我们将做第一个突破 1 TFLOP 的 GPU,集成到 Ice Lake 平台上,作为我们发展的第一步。大约 18 个月前,我们经历了策略上的变化,决定进军高性能显卡领域。所以我们有了已经公开的 Xe 新架构,和两个微架构。一个针对移动设备进行了优化,一个针对数据中心进行了优化。 我们的目标是推出基于子功能的独立显卡产品,从超级集成到移动集成,从万亿浮点到千兆浮点。这就是 GPU 方面的情况。

关于矩阵架构方面,我们决定做的第一件事是确保世界上最有价值的套件是 CPU 套件。让它获得足够有吸引力的矩阵性能,然后我们开始建造。我们推出了 Cascade Lake,在 CPU 套件上还将推出更多产品。在 CPU 套件上针对 AI 工作负载的性能提升也是 10 倍的。我们还在做离散 AI 加速器,在 CPU 之上又提升了 10 倍性能。下图是关于英特尔人工智能策略的简单解读。我眼中的基本策略是,我们相信 AI 对于每个套件都很重要,不管是 CPU、GPU 还是离散加速器,每个设备都要进行一些矩阵架构的探索。

英特尔首席架构师Raja独家解读:如何以指数级思维引领创新-7

考虑到这一点,我们提供 CPU 套件和离散加速器。以此类推,我们有多个产品系列,无论是用于自动驾驶,还是云计算,还是用于客户端设备。在 AI 训练方面,我们有 Xe GPU 和 CrestLine。我们看到,在生态系统面临的挑战中,硬件是人工智能最简单的部分。在这个领域有 20 家不同的初创公司,他们在硬件方面都取得了很大的进展,但所有人都在软件方面受到阻碍。坦白地说,虽然对人工智能有很多讨论的声音,但目前只有在两个地方取得了实际上的进展:它的大部分仍然运行在 CPU 上;或现在 CPU 上没有运行的,大多数在 GPU 上运行。问题不在于硬件,而在于软件,这就是架构方面的情况。

内存和存储

我们需要指数级和先进的内存层级架构,以满足当前的计算需求。

内存上的进展其实能被摩尔定律解释。当内存容量以指数级速率增加时,内存的带宽却呈次线性增长。我们来看看内存层级架构,从高速缓存到硬盘,每个级别都应该是 10 倍的提升。英特尔也在开发封装内存、持久内存和 3D NAND 等技术,以实现 10 倍的提升。

英特尔首席架构师Raja独家解读:如何以指数级思维引领创新-8

现在是否能实现这个目标,取决于我们设定在硬件和软件边界的哪一边。如果不改变相应的软件架构,这些内存层级架构的 10 倍提升都无法转化为实际的工作负载提升。英特尔在持久性内存方面做了很多工作,当我们产品出货之后,你会看到一些不错的数据增长,比如 10% 或者 20%。当我们真正投入到应用当中,内存的 10 倍潜力将被发挥出来。

互连

下一个技术支柱是互连,包括片上互连、芯片间互连、系统级互连和数据中心级互连,每个层级的互连都在创新。在一个以数据为中心的时代,覆盖不同场景的互连技术有极大的需求,包括从几微米到几英里的无数技术。在英特尔,我们从片上、封装内互连、处理器间互连、数据中心互连到无线互连等各方面都有投入。我们还开放了 Compute Express Link(CXL)规范,这是我们在高速处理器间互连的多年学习和积累,我们将其公之于众,包含整个生态系统以及一套良好的标准。

安全

我们之所以将安全作为六大技术支柱之一,是因为我们相信:未来 10 年内任何成功的新架构都应将安全作为其基础和优先特性。安全的挑战源于外露面的指数级增长。想想这其中的所有可能性:六个内存层级架构,四个互连层级架构和数十亿个设备。在这其中,如果架构的每个部分都有一个指数级的外露面,那么你需要保护 4 乘以 6 乘以 4 个面,这就是 96 个面,是一个非常庞大的数字。在业内,我们在外露面仍然存在问题。每次向 CPU 添加新指令时,都会增加外露面。因此,对于所有硬件和软件方面来说,安全的挑战和机遇都是并存的。

软件

最后一个支柱同样重要,它就是软件,更接近在座各位的产品。 我在八个月前就发表了这样的声明,即对于全新硬件架构的每一个数量级的性能提升潜力,软件能带来超过两个数量级的性能提升。你可以想象一下,我在一家充满硬件工程师的公司中有多“受欢迎”。有趣的是,这不仅仅只是一个假大空的声明,实际上每一周我都会看到这方面的例子,我将重点介绍其中几个有代表性的项目:从 JDK8 到 JDK9,将现有硬件的性能提升 6 倍;结合内存层级架构,加上软件栈技术,通过傲腾 + 软件的方式将工作负载的性能提升 8 倍;利用 DL Boost 等架构扩展,使得从 Skylake 升级到 Cascade Lake 之后,相比上一代硬件提速 28 倍。这一系列的表,相当于是在一次软件发布中就实现了数代的硬件性能提升

英特尔软件策略:一个架构横跨所有领域

英特尔在软件领域的策略是一个架构我们围绕着一个架构打造了所有功能,并在横跨 PC、网络和数据中心的所有领域中利用这个架构

英特尔首席架构师Raja独家解读:如何以指数级思维引领创新-9

我们拥有一个 1200 万活跃开发者的生态系统,横跨 PC、网络和数据中心。归纳起来,英特尔的软件使命主要有三点:第一,简便和可扩展,不仅可以扩展到所有的架构,更可以扩展到所有的操作系统,能够从一个节点扩展到生态系统中的数百万台互联设备;第二是开放性,向所有人开放标准;第三是统一的开发体验。英特尔希望通过实现这三个目标,解决计算异构性的问题。

我非常高兴地告诉各位,我们的团队在 One API 项目上取得了巨大的进展。“one API”项目的目的是简化跨 CPU、GPU、FPGA、人工智能和其它加速器的各种计算引擎的编程,该项目包括一个全面、统一的开发工具组合,可以将软件匹配到能最大程度加速软件代码的硬件上,从而让英特尔的计算架构释放出更高的性能和效率。

英特尔首席架构师Raja独家解读:如何以指数级思维引领创新-10

今天,我宣布该项目将在 2019 年第四季度之前如期交付给开发者。One API 整合了计算和架构创新,通过高速互连以及新的软件开发模式,为开发者简化 API,并从英特尔计算架构释放出更高的性能和效率。我们将在下个月讨论更多细节。

文章评论