大型处理器制造商,尤其是那些面向基于云的人工智能的处理器制造商,例如 AMD 和 Nvidia,已经表现出希望拥有更多计算业务、收购软件、互连和服务器制造商的迹象。希望对整个堆栈的控制将使他们在设计客户想要的产品时具有优势。
亚马逊网络服务 (AWS) 在大多数竞争对手中处于领先地位,他们于 2015 年收购了芯片设计公司 Annapurna Labs,并开始设计 CPU、AI 加速器、服务器和数据中心作为垂直一体化运营。Graviton 系列 CPU 的技术主管 Ali Saidi 和 Annapurna Labs 工程总监 Rami Sinno 解释了垂直集成设计和亚马逊规模的优势,并向 IEEE Spectrum 展示了该公司位于德克萨斯州奥斯汀的硬件测试实验室.,8 月 27 日。
赛迪和辛诺:
是什么让您选择了 Amazon Web Services,Rami?
拉米辛诺AWS
Rami Sinno:亚马逊是我的第一家垂直整合公司。这是故意的。我当时在 Arm 工作,我正在寻找下一次冒险,看看这个行业的发展方向以及我希望我的遗产是什么。我看了两件事:
其中之一是垂直整合的公司,因为这是大多数创新的地方,当您控制整个硬件和软件堆栈并直接向客户交付时,有趣的事情就会发生。
第二件事是,我意识到机器学习,一般来说人工智能,将会变得非常非常大。我不知道它到底会朝哪个方向发展,但我知道有些东西将是世代相传的,我想成为其中的一部分。当我是黑莓芯片制造团队的一员时,我就已经有过这样的经历了。这是该行业的根本性转变。成为如此重大、如此重要的事情的一部分,那种感觉真是难以置信。我想,好吧,我还有一次机会参与一些根本性的事情。
在垂直整合的公司工作是否需要不同类型的芯片设计工程师?
辛诺:当然。当我雇用员工时,面试过程就是在寻找具有这种心态的人。让我举一个具体的例子:假设我需要一名信号完整性工程师。(信号完整性确保信号从 A 点传输到 B 点,无论它在系统中的哪个位置,都能正确到达。)通常,您聘请的信号完整性工程师在信号完整性分析方面拥有丰富的经验,并且了解布局影响,可以在实验室进行测量。嗯,这对我们的团队来说还不够,因为我们希望我们的信号完整性工程师也成为编码员。我们希望他们能够承担将在系统级别运行的工作负载或测试,并能够对其进行修改或从头开始构建新的工作负载或测试,以便查看工作负载下系统级别的信号完整性影响。正是在这一点上,接受灵活的培训、跳出小框框思考,为我们的开发方式和服务客户的方式带来了巨大的红利。
当我们拿回芯片时,安纳布尔纳实验室 Ali Saidi 已完成软件开发
归根结底,我们的责任是直接为客户提供数据中心内的完整服务器。如果您从这个角度思考,您将能够在整个堆栈中进行优化和创新。设计工程师或测试工程师应该能够纵观全局,因为这是他或她的工作,将完整的服务器交付到数据中心,并寻找最适合优化的地方。它可能不在晶体管级、衬底级或板级。它可能是完全不同的东西。它可能是纯粹的软件。拥有这些知识和可见性将使工程师的工作效率显着提高,并能更快地向客户交付产品。我们不会用头撞墙来优化晶体管,下游的三行代码就可以解决这些问题,对吗?
你觉得现在人们接受这样的培训吗?
Sinno:我们对于刚毕业的大学毕业生来说非常幸运。最近的大学毕业生,尤其是过去几年,绝对是非凡的。我对教育系统培养对我们为他们提供的工作类型感兴趣的工程师和计算机科学家的方式感到非常非常满意。
我们在找到合适人才方面非常成功的另一个地方是初创公司。他们知道这需要什么,因为根据定义,在初创公司,你必须做很多不同的事情。曾经创业过的人完全了解亚马逊的文化和思维方式。
阿里,是什么让您选择了 AWS?
阿里赛迪AWS
Ali Saidi:我来这里大约七年半了。当我加入AWS时,我加入了当时的一个秘密项目。有人告诉我:我们要构建一些 Arm 服务器。不告诉任何人。
我们从 Graviton 1 开始。Graviton 1 确实是我们证明我们可以通过不同架构在 AWS 中提供相同体验的工具。
云使我们能够让客户以非常低成本、低进入门槛的方式尝试它,并询问:它适合我的工作负载吗?因此,Graviton 1 实际上只是一个工具,证明我们可以做到这一点,并开始向世界发出信号,表明我们希望围绕 ARM 服务器的软件不断发展,并且它们将变得更加相关。
2019 年发布的 Graviton 2 是我们认为的首款市场领先设备,针对通用工作负载、网络服务器和此类事物。
做得很好。我们有人运行数据库、Web 服务器、键值存储、大量应用程序……当客户采用 Graviton 时,他们带来了一种工作负载,并且他们看到了带来该一种工作负载的好处。然后他们问的下一个问题是,嗯,我想带来更多的工作负载。我应该带什么?在某些方面,它的功能还不够有效,特别是在媒体编码、拍摄视频并对其进行编码或重新编码或将其编码为多个流等方面。这是一个数学运算量很大的操作,需要更多的[单指令多数据]带宽。我们需要可以执行更多数学运算的核心。
我们还希望开拓[高性能计算]市场。因此,我们有一个名为 HPC 7G 的实例类型,我们拥有一级方程式等客户。他们对这辆车将如何扰乱空气以及如何影响后续车辆进行流体动力学计算。它实际上只是扩展了应用程序组合。当我们使用 Graviton 4 时,我们做了同样的事情,它有 96 个核心,而 Graviton 3 有 64 个核心。
您如何知道一代又一代需要改进哪些方面?
Saidi:无论远近,大多数客户在采用 Graviton 后都取得了巨大的成功。有时,他们会发现性能与其他迁移的水平不同。他们可能会说我移动了这三个应用程序,并且性能提高了 20%;那太棒了。但我把这个应用程序移到了这里,但我没有得到任何性能改进。为什么?看到这 20% 真是太好了。但对我来说,以我这种奇怪的方式,0%实际上更有趣,因为它给了我们一些东西可以和他们一起探索。
我们的大多数客户都对此类活动持开放态度。因此我们可以了解他们的应用程序是什么并为其构建某种代理。或者,如果它是内部工作负载,那么我们可以只使用原始软件。然后我们可以用它来关闭循环并研究下一代 Graviton 将拥有的功能以及如何实现更好的性能。
在 AWS 设计芯片有何不同?
Saidi:在芯片设计中,有很多不同的相互竞争的优化点。你有所有这些相互冲突的要求,你有成本,你有调度,你有功耗,你有尺寸,有哪些 DRAM 技术可用以及何时将它们交叉这最终成为这个有趣的、多方面的优化问题需要解决您在一段时间内可以构建的最好的东西是什么?而且您需要做对。
我们做得非常好的一件事是将我们最初的芯片投入生产。
如何?
Saidi:这可能听起来很奇怪,但我见过其他地方,软件和硬件人员实际上不说话。安纳布尔纳峰和 AWS 的硬件和软件人员从第一天起就开始合作。软件人员正在编写最终将成为生产软件和固件的软件,而硬件则与硬件工程师合作开发。通过共同努力,我们关闭了迭代循环。当您将硬件带到软件工程师的办公桌上时,您的迭代循环将持续数年。在这里,我们不断迭代。在芯片准备就绪之前,我们就在模拟器中运行虚拟机。我们正在模拟[一个完整的系统]并运行大部分要运行的软件。
所以,当我们[从代工厂]拿到硅片时,软件就已经完成了。此时我们已经看到大部分软件都可以工作了。因此,我们非常有信心它会发挥作用。
我认为,另一部分就是完全专注于我们将要交付的内容。你有很多想法,但你的设计资源大致是固定的。无论我放入多少想法,我都无法雇用更多的人,而且我的预算可能是固定的。所以我扔进桶里的每一个想法都会使用一些资源。如果该功能对于项目的成功并不真正重要,那么我将冒着项目其余部分的风险。我认为这是人们经常犯的错误。
在垂直整合的情况下,这些决策是否更容易?
赛迪:当然。我们知道要构建主板和服务器并将其放入机架中,我们知道它是什么样子,所以我们知道我们需要的功能。我们并没有试图打造一款可以让我们进入多个市场的超级产品。被激光聚焦成一体。
AWS 芯片设计环境还有什么独特之处?
Saidi:对于 AWS 来说非常有趣的一件事是云,并且也在云中开发这些芯片。我们是第一家真正推动在云中运行[电子设计自动化 (EDA)] 的公司。我们将模型从“我有 80 台服务器,这就是我用于 EDA 的服务器”更改为“今天,我有 80 台服务器”。如果我愿意的话,明天我可以有300个。第二天,我可以有1000个。
我们可以通过改变我们使用的资源来压缩一些时间。在项目开始时,我们不需要那么多资源。我们可以关闭很多东西,却无法有效地支付费用。随着项目接近尾声,我们现在需要更多资源。而不是说,好吧,我不能这么快地迭代,因为我只有这一台机器,而且它很忙。我可以改变这一点,而是说,好吧,我不需要一台机器;我想要一台机器。今天我有 10 台机器。
对于像这样的大型设计,我的迭代周期不是两天,甚至不是一天,有了这 10 台机器,我可以将其缩短到三到四个小时。那是巨大的。
Amazon.com 作为客户有多重要?
Saidi:他们拥有大量工作负载,而且我们显然是同一家公司,因此我们可以通过第三方无法访问的方式访问其中一些工作负载。但我们也与其他外部客户有着非常密切的关系。
去年 Prime Day,我们说有 2,600 个 Amazon.com 服务在 Graviton 处理器上运行。今年 Prime Day,这个数字增加了一倍多,达到 5,800 个在 Graviton 上运行的服务。亚马逊的零售方面使用了超过 250,000 个 Graviton CPU 来支持零售网站以及 Prime Day 相关的服务。
人工智能加速器团队与实验室位于同一地点,测试从芯片到服务器机架的所有内容。为什么?
Sinno:安纳普尔纳实验室在多个地点也有多个实验室。这个位置位于奥斯汀,是较小的实验室之一。但奥斯汀实验室的有趣之处在于,机器学习服务器以及 Trainium 和 Inferentia [AWS 人工智能芯片] 的所有硬件和许多软件开发工程师实际上都集中在这一层。对于硬件开发人员、工程师来说,将实验室集中在同一层楼是非常非常有效的。它加快了交付给客户的执行和迭代速度。该实验室的设置是自给自足的,可以满足我们需要做的任何事情,无论是芯片级、服务器级还是电路板级。因为,正如我向我们的团队传达的那样,我们的工作不是筹码;而是我们的工作。我们的工作不是董事会;我们的工作是为客户提供全面的服务。
垂直整合如何帮助您设计和测试用于数据中心规模部署的芯片?
Sinno:创建一个提高门槛的服务器相对容易。这是非常高性能、非常低功耗的东西。如果我们创建 10 个、100 个、也许 1,000 个,这很容易。你可以挑选这个,你可以修复这个,你可以修复那个。但 AWS 的规模要大得多。我们需要训练需要 100,000 个这样的芯片的模型。十万!对于训练来说,它不会在五分钟内运行。它的运行时间为数小时、数天甚至数周。在此期间,这 100,000 个筹码必须保持不变。我们在这里所做的一切都是为了实现这一点。
我们从所有可能出错的事情开始?心态。我们实施我们所知道的所有事情。但当你谈论云规模时,总会出现一些你没有想到的事情。这些是 0.001% 类型的问题。
在这种情况下,我们首先在队列中进行调试。在某些情况下,我们必须在实验室进行调试才能找到根本原因。如果我们能立即修复它,我们就会立即修复它。由于是垂直整合,在很多情况下我们可以对其进行软件修复。我们利用我们的敏捷性来快速解决问题,同时确保下一代从一开始就已经解决了这个问题。
Samuel K. Moore 是 IEEE Spectrum 的高级编辑,负责半导体报道。他是 IEEE 会员,拥有布朗大学生物医学工程学士学位和纽约大学新闻学硕士学位。