时间进入 2024 年 12 月,距离 ChatGPT 发布已经过去整整两年,市场上的形势发生了巨大变化 【晚点】。然而,如果我们将视野转向算力基础设施,很多时候会感知到这几年算力发展其实有着一脉相承的线索。最近因为工作上的契机,在一位前辈的推荐下,重新阅读学习了下 Amin Vahdat 1 2020 年来的几篇演讲2345,尝试去理解使用 Google 基础设施的人们当前所处何处,他们将要去向何方。

Amin Vahdat 是谁?

很多人都知道 Jeff Dean,其主导了 Google 的 MapReduce、Spanner、Tensorflow 和 Pathways 等基础设施的演进。与 Jeff Dean 类似,Amin Vahdat 也是 Google 为数不多的 Google Fellow 之一,他引领了 Google 数据中心基础设施二十年多间的演进,从 Jupiter/B 4/Andromeda,到现在主导着包括 TPU/GCE/Borg/Vertex AI 等众多核心基础设施。

早在 2020 年在接受 SigComm 终生成就奖的演讲3 中,Amin 就声称我们面临着一代人才有一次的机会 once-in-a-generation opportunity,去创造分布式计算的第五个 Epoch。

到了 2023 年 Google 发布 TPUv 5 e 和 A 3 H 100 机型 的时候2 再一次申明了这个观点:

We’re at a once-in-a-generation inflection point in computing. The traditional ways of designing and building computing infrastructure are no longer adequate for the exponentially growing demands of workloads like generative AI and LLMs.

In fact, the number of parameters in LLMs has increased by 10 x per year over the past five years. As a result, customers need AI-optimized infrastructure that is both cost effective and scalable.

这张图表清楚地展示了这种变化。自 2018 年以来,到现在大约五六年间,密集的大型语言模型的扩展几乎每年增长 10 倍。这是公开信息,不仅仅是 Google,这是整个行业在做的事情。

分布式计算的第五个时代

Epoch 1: 1970 至 1980,FTP/Email/Telnet 早期应用

典型应用:FTP/Email/Telnet 等早期联网应用 应用特点:低带宽,高延迟 (100ms 交互延迟)

这个时期的联网应用基本是在早期昂贵的计算机上,也只有很少数的人能够参与。

Epoch 2: 1980 至 1990,RPC 调用和局域网

典型应用:RPC 应用特点:10 Mbps 的网络速度,10ms 的延迟

Epoch 3: 1990 至 2005,HTTP 协议

典型应用:RPC 应用特点:100 Mbps - 1Gbps 的网络速度,1 ms 的延迟

Epoch 4:

回顾过去 20 年,如果我们粗略估算,假设性能效率在过去 20 年中每两年翻一番(这基本上是事实),那么我们在同样的成本下提供了 1000 倍的容量。这 1000 倍的增长使得之前认为不可能的事情变得可能。随着时间的推移,它使先前认为不可能的事情变得普遍和正常。20 年前,实现从任何一种语言到任何其他语言的实时翻译,这完全是科幻小说的内容,但现在,曾经的科幻小说已经成为了可能。也许在不久的将来,我们将会实现这一点。

那么,是什么推动了这一切?再次强调,今天我们认为理所当然的事情在 2000 年却完全不显而易见。我们将使用商品化的存储、计算和网络硬件,因为它们是商品化的,可以利用现有的半导体技术,每两年性能和(更重要的是)性能效率将翻一番。我们将利用基于集群的计算,因此这体现了大规模扩展(Scale-out)的概念。大约在 2000 年左右,构建越来越大的系统和应用程序的方式是购买一台更大的计算机(一台非常高端且专业的计算机)。但想象一下,如果你采用商品化的部件并将它们扩展到今天的规模,从 100 到 1000,再到 4 万到 5 万或更多,这在当时被认为是不可能的,或者至少是错误的做法。而且,你会采用中央控制(至少在逻辑上是中央控制),这在当时被认为是介于困难和不可能之间的某种选择。但通过这些技术,我们重新定义了规模和能力的可能性,并将其提供给全世界的开发者。今天,互联网是全球实时通信的基础。有点令人惊讶的是,对于我们来说,尽管我们认为这是理所当然的,但我们在手机上实时访问几乎所有人类知识的能力,以及无处不在的蜂窝网络覆盖,现在已经成为我们认为理所当然和理所应当的事情。但在 20 到 25 年前,我们还只有百科全书。

  • 基于商品化的存储、计算和网络硬件
    • 每两年性能和性能效率将翻一番
  • 基于商业化的以太网,通过集群构建新的计算模式
    • 在这个模式下,存储、计算、数据库、数据分析、网络都得以重构
    • 典型的代表:MapReduce, Ceph, Spark, BigTable, Kubernetes 等
    • 从原来倾向购买紧耦合的大型机,转向松耦合的集群化系统
    • 也就是从 scale up 到 scale out

1991 年的纽约时报 The Attack of the "Killer Micros" 6。文章的核心思想是,当时的主导公司,比如说世界著名的数字设备(DEC)公司等等,这些建造大型计算机的公司开始担心由商品化计算机(例如个人电脑或工作站)组成的集群,以及将它们通过商品化网络连接起来并开始在性能上击败这些大型计算机的想法。可以说,下一场革命的种子正在萌芽。我的意思是,早在这类事情变得普遍的十年前左右,就有一篇《纽约时报》的文章指出,这种情况正在发生,公司们开始对此感到担忧。又过大约十年,所有进行大规模计算和存储的互联网公司都将基于集群来运行。而这些集群的规模继续扩大。

Massively parallel processors chain together hundreds or thousands of cheap microprocessors and then use software to break up scientific and engineering problems to solve them more quickly. Many scientists and computer designers say this method offers the best hope of reaching speeds as high as a teraflop – a trillion mathematical operations a second – by the middle of the decade.6

使用这种固定基础设施(fixed infrastructure),其中一个机房可能需要 30 兆瓦的电力,可能会在其中放置 6 万台服务器、12 万个磁盘,网络提供全互联的统一容量,和完全扁平的带宽。这意味着你不必关心作业在哪台服务器上运行。如今,同一栋楼内任何两台服务器之间的带宽可能达到 100 Gbps,未来,这个数值可能会提升至 200 Gbps。但关键在于,无论任务在哪里运行,都能获得相同的体验。我们还利用松耦合和容错性。这里的核心理念是,必须构建服务,确保即使在 1000 台服务器上运行(或任何数量),都必须做好设计,以应对任何时间点都有一部分服务器可能失效的情况。这是你为了利用大规模扩展能力而必须接受的复杂性。

Epoch 5:

那么,既然我们已经走到这一步,为什么不继续前进呢?这是个关键问题。这些图表看起来可能像是卡通画,但实际上,它们展示了 Google 的实际数据,包括 CPU 性能趋势、DRAM 每字节的成本、存储每字节的成本以及我们基础设施的功耗效率随时间的变化情况。X 轴是时间,y 轴是标准化到某些单位的数值。过去,我们推动计算发展的动力主要来源于一个事实:每隔几年,性能就能翻一番,或者成本减半但性能保持不变。

以前我们预计,每年在固定成本下,性能提升可以达到 40%,但现在这个数字大约是 3%。也许是 2%,也许是 4%——但已经从每隔几年翻一番降到了每隔二十几年翻一番。这意味着,如果我们想要达到下一个级别,如果我们要在未来 20 年内再提供 1000 倍的能力,我们不能仅仅依靠硬件每隔几年就变得便宜、更快,所谓的“免费午餐”,那个时代已经结束了。

实际上,我们在 CPU 中引入了大量的安全漏洞,这些漏洞暴露了各种侧通道。为了关闭这些侧通道,我们的 CPU 可能会变慢或变得更昂贵,或者两者兼而有之。DRAM 也面临类似的情况。你们可能知道的关于 DRAM 的许多攻击,其中你可以读取 DRAM 中其他人的数据,都是因为我们为了效率而不断推动其极限所导致的。现在我们不得不为此付出代价。实际上,对于固定的资金,现在有一个很有意思的辩论,关于摩尔定律是否已经死亡或者仍然有效。这确实很有趣。摩尔定律说的是每 18 到 24 个月每个集成电路中的晶体管数量翻一番。这个方面实际上仍然成立。令人震惊的是,我们仍然能在每 18 到 24 个月的时间里将晶体管的数量翻一番。

问题在于,到 2023 年,我们不再能用固定的资金来实现这一翻倍了。我们现在大约是用双倍的成本来翻倍晶体管的数量。这带来了一些好处,但功耗也可能翻倍,这取决于你的观察方式和/或者你是否需要采用类似多线程的等效方式。

这些技术平台表明,我们过去 20 年编写的那一套设计模式实际上已经不再适用。这就是我们必须重新发明的关键所在。那么,为什么我们必须这么做呢?大规模机器学习训练是一个很好的例子。关键是,在我的职业生涯中,我从未见过像现在这样的情况,计算需求每年增长 10 倍,而且这种情况已经持续了六年。我们曾谈过在 20 年内提供 1000 倍的能力,这已经非常令人印象深刻了。但需求在过去六年中增长了 100 万倍。我们以往的设计模式无法跟上这一需求,即使它们曾经是多么出色。新的工作负载、新的需求、实时推理、视频传感器,所有这些都在爆炸性增长。我们曾讨论过摩尔定律可能的终结。但我认为这并非摩尔定律本身的终结,而是相关推论的终结——即晶体管数量翻倍时,功耗和成本保持不变。这一点已无可争议地成为过去。接下来,我要强调的是必要性。这是关键点,也是整个社区为之振奋的地方。显然,要满足计算需求,我们需要再提供 1000 倍的能力。从当前来看,存储和计算需求只会不断增长。这意味着我们以往依赖的传统智慧已无法有效应对这些需求。我们将不得不寻找新的方式来应对。

因此,前进的道路——我认为,基于通用硬件的大规模扩展作为发展路径的时代已基本结束。能走到这一步已经是一段了不起的旅程,我们应该为此感到骄傲。但要实现下一个 1000 倍的增长,我认为有四个最重要的方面值得我们考虑。首先是专用硬件。这将是首次,专用硬件变得真正有意义。过去,当性能效率每两年翻一番时,一旦你完成专用硬件并使其可编程,它很快就会被通用计算超越。但现在,通用计算每年仅增长 4%或 3%,你实际上有更多的时间来发挥专用硬件和满足特定需求的优势。其次,编程模型的重要性比以往任何时候都更加突出。过去 20 年,我们不得不转向多线程编程。但我认为,我们其实并不清楚如何利用多线程来满足当前的需求。随着专用硬件的兴起以及我们如何实际为其编程,未来的挑战将变得更加严峻。我们需要重新审视最后一组设计模式和大量围绕松耦合与容错性编写的大量代码。因为过去的 20 年里,我们基本上忽视了效率曲线的斜率,这意味着实际上,每台服务器的性能并非关键问题,只要能把性能乘以 5 万台服务器就可以了。由于基准性能每两年翻番,只要能线性扩展到数据中心大楼里的 5 万台服务器,就无需过分追求单台服务器的极致性能。从光速的角度来看,我预计我们在每台服务器的效率上至少浪费了一个数量级的性能,甚至在某些情况下可能高达两个数量级。面对即将到来的新时代和下一代技术,我们不能再忽视这些 10 倍或 100 倍的效率提升机会。因此,我们既要重新审视每台服务器的效率,又要确保保持线性扩展的能力。最后,我们需要突破各自领域的限制。换句话说,我们不能孤立地看待网络、存储、计算或加速器。我们需要从整体系统的角度出发,真正开发出能够反映从用户和应用开发人员视角看,我的系统效率如何的指标。用户可能是进行机器学习训练、视频推理、搜索或其他任务的人。但关键在于,最终专注于特定领域的优化基准测试可能不会对端到端系统性能产生实际影响,坦白说,这也不会推动系统性能的整体提升。我们需要关注的是如何实现下一个,比如说1000倍的性能提升。

从 CPU 通用计算转向 GPU/TPU 等专用硬件

从 SDN 进一步走向光交换

从松耦合走向紧耦合

20 年前我们可能会说,中央控制并不是构建大规模分布式系统的正确方式,它应该是去中心化的,但现在的共识似乎是:「哦,不是去中心化,而是需要某种形式的中央控制」。我和你们中的许多人可能都注意到了这一长期的变化。我们可能会再次回到去中心化,因为需求正在改变,这也将是一个非常值得关注的发展趋势。


  1. Amin Vahdat, https://research.google/people/aminvahdat ↩︎

  2. https://cloud.google.com/blog/products/compute/announcing-cloud-tpu-v5e-and-a3-gpus-in-ga ↩︎ ↩︎

  3. Coming of Age in the Fifth Epoch of Distributed Computing: The Power of Sustained Exponential Growth, Amin Vahdat - SIGCOMM Lifetime Achievement Award 2020 Keynote, https://www.youtube.com/watch?v=Am_itCzkaE0 ↩︎ ↩︎

  4. Reinventing Computing: How necessity will transform next-generation infrastructure, Amin Vahdat, https://www.youtube.com/watch?v=9lBbqH_1KS4 ↩︎

  5. Exciting Directions for ML Models and the Implications for Computing Hardware, Jeff Dean & Amin Vahdat, https://www.youtube.com/watch?v=EFe7-WZMMhc ↩︎

  6. https://www.nytimes.com/1991/05/06/business/the-attack-of-the-killer-micros.html ↩︎ ↩︎