真正的瓶颈不是算力,而是重构能力
Hatched by Kevin Di
Jun 11, 2026
1 min read
4 views
86%
为什么更快的系统,常常先输给更慢的边界
如果一个系统拥有世界上最强的计算单元,却因为连接方式、内存摆放和调度策略而跑不快,那么它真正稀缺的到底是什么?答案可能不是更多算力,而是把算力重新组织起来的能力。
这听上去有点反直觉。我们习惯把性能提升理解为“堆更强的芯片”“买更大的显卡”“上更快的网络”。但在大规模计算里,决定胜负的往往不是单点峰值,而是系统能否在不同层级上持续保持可用、低延迟和高吞吐。芯片越多,系统越不只是一个“机器”,而更像一个需要不断重排座位、改写路线、临时修路的城市。
这正是两个看似不同的世界共享的深层问题。一个世界是在超算集群里,让成千上万颗 TPU 在故障、维护和拓扑变化中仍然保持高可用。另一个世界是在大模型推理里,让 GPU 在预填充、解码、KV 缓存和跨卡通信之间尽量少浪费每一次字节搬运。表面上,一个关心机房,一个关心模型。实际上,它们都在回答同一个问题:如何让昂贵的计算资产,在现实世界的不稳定条件下,尽可能少地等待、少地搬运、少地空转。
第一性问题:算力并不短缺,组织方式才短缺
性能优化最容易犯的错误,是把计算当作唯一的瓶颈。但当系统规模变大后,瓶颈会从“做得够不够快”转向“能不能把任务放到正确的位置上”。这意味着,系统设计的中心不再是单个处理器,而是拓扑、内存层级和调度。
在大规模 TPU 集群中,这一点尤其明显。静态互连的传统方式,看起来很整齐,实际上非常脆弱。随着节点数上升到 1024 颗芯片时,整体可用性急剧下降,因为连续节点集中必须同时健康,才能把一整块资源交给用户。这个逻辑像什么?像一座图书馆只有当一整排书架都没坏时,才允许借阅。书架越多,满足条件越难。
而可重构的立方体级组织方式改变了游戏规则。资源不再要求整个大块同时完美,而是允许按立方体组织、按作业重连、按故障绕行。结果是,可用性不再随着规模必然崩塌,反而能够在相当大的规模上保持稳定。这里真正重要的不是“单个芯片有多强”,而是系统是否能把局部失败隔离掉,把局部健康资源快速重新编排成可用整体。
同样的逻辑也出现在大模型推理中。模型不是只看参数量,更看它在运行时如何穿过计算、缓存和通信这三个层级。A100 级别的计算吞吐可以高到惊人,但一旦数据要从 HBM、L2、SM 之间来回搬运,或者跨 GPU 走 NVLink、PCIe,速度差异会立刻把“峰值算力”变成纸面数字。换句话说,真正的瓶颈不是乘法做得不够快,而是数据走错了路。
最昂贵的资源,往往不是计算本身,而是让计算保持就位、保持连续、保持被高效喂养的能力。
这就是两类系统的共同底层现实:**算力是资产,编排是能力。**没有编排,资产会在等待、故障、通信和内存错配中迅速贬值。
速度层级背后,其实是一种“搬运经济学”
如果把 GPU 推理拆开看,会发现一个极其重要的事实:不同操作之间的速度差异,不是线性,而是数量级上的鸿沟。SM 计算最快,DRAM 访问慢一个层级,跨设备通信更慢,PCIe 更慢。这意味着优化目标并不是一味增加计算,而是尽量避免把数据从快层级赶到慢层级。
这可以用一个更直观的比喻来理解。假设你在一个厨房做饭。真正快的不是切菜本身,而是菜、锅、调料、火候全部在你伸手可及的范围内。每次你为了拿盐要跑到仓库,每次为了拿锅要穿过整条街,做饭速度再高的厨师也会被拖垮。GPU 的内存层级就是这样的厨房。SM 是灶台,L2 是手边的台面,HBM 是后厨仓库,NVLink 和 PCIe 是跨楼层运货通道。
因此,FlashAttention 的价值不只是“更快”,而是它改变了一个关键事实:尽量把注意力计算压缩到更局部的存储和更可控的计算路径里。它让原本会把大量中间结果写回 HBM 的过程,更多留在更近的层级完成。这不是技巧,而是战略。因为一旦你承认“搬运比计算更贵”,你的优化思路就会从“算得更多”转向“少搬,别乱搬,只搬必要的”。
vLLM 的 Paged Attention 也体现了同样的思想,只不过它针对的是另一种浪费:KV 缓存管理。如果默认内存策略不适合真实负载,那么模型生成并不是被数学限制,而是被内存碎片、缓存摆放和批次调度拖慢。Paged Attention 的关键不是某个神奇算子,而是把 GPU 内存看成一种可分页、可调度、可复用的资源池。它实际上是在说:GPU 不是一块“静态存放区”,而是一种需要操作系统级管理的动态空间。
这背后有一个很重要的抽象:性能的本质不是把东西变快,而是减少系统为错误位置付出的代价。
从超算到推理,真正的共同点是“可重构性”
把 TPU 集群和 Transformer 推理并排看,最有启发性的不是它们都很复杂,而是它们都在拥抱同一个原则:把稳定性建立在动态重构之上,而不是静态完美之上。
在 TPU 集群里,可重构性意味着作业启动时会根据所需拓扑和立方体选择建立唯一连接,系统会自动处理故障诊断、恢复、重调度和容错路由。它承认现实世界必然有坏节点、坏链路、维护窗口和偶发中断,所以不再幻想一个永远整齐的静态世界,而是让系统在变化中继续服务用户。
在推理系统里,可重构性意味着不要默认某一种 batch、某一种序列长度、某一种缓存策略就能长期适配所有请求。真正高效的推理平台,必须能在 prompt 很长、并发很高、输出很碎、模型很大时,仍然把资源重新分配到最需要的位置。预填充和解码就是两种截然不同的工作负载,前者偏计算,后者偏内存。若把它们粗暴地视为同类任务,就会在一个环节过度设计,在另一个环节严重浪费。
这让我们得到一个更普遍的结论:当系统达到一定规模后,最佳设计不再是固定布局,而是“可在约束下重排”的布局。
规模越大,固定结构越脆弱。真正可扩展的系统,不是从不改变,而是把改变本身制度化。
这也是为什么很多看似高大上的硬件创新,最后真正决定成败的往往是软件基础设施。OCS、光纤、路由、故障恢复、作业重排,这些看上去并不性感,但它们决定了昂贵硬件是不是能长期兑现价值。GPU 侧也是如此。FlashAttention、Paged Attention、vLLM,这些不是“附加优化”,而是让硬件可用、可扩展、可商业化的必要条件。
换句话说,硬件定义上限,软件定义可兑现程度。
一个新的理解框架:三层重构
如果要把这些洞见压缩成一个可操作的模型,我建议用三层重构框架来理解现代 AI 基础设施。
1. 物理层重构:让资源可重新接线
这一层关心的是芯片、机架、链路和交换结构如何被重新组织。TPU 的可重构立方体和 OCS 方案属于这一层。重点不是“有没有更多机器”,而是“机器之间能否按任务形状快速重连”。
2. 数据层重构:让数据尽量待在最近的位置
这一层关心的是内存布局、缓存策略、KV 管理和注意力计算路径。FlashAttention 和 Paged Attention 属于这一层。重点不是“算了多少”,而是“数据有没有被不必要地搬来搬去”。
3. 任务层重构:让工作负载按形态被切分
这一层关心的是预填充与解码分离、批次整合、调度策略、动态路由。它要求系统识别任务的结构差异,而不是把所有请求当成同一种负载。重点不是“吞吐最大化”本身,而是让不同类型的请求都跑在适合它们的路径上。
这三层如果对齐,系统会表现得像一个被精心调度的城市,交通通畅,仓储合理,电网稳定。任何一层出问题,整个系统都会退化成高成本的拥堵现场。
更关键的是,这个框架能解释为什么很多局部优化会失败。你可能在数据层做了极致优化,但物理层连接太僵硬,仍然会卡在跨节点通信。你也可能在任务层做了完美分流,但数据层缓存策略太差,还是会被内存 IO 拖住。真正有效的优化,一定是三层协同,而不是只打磨单点。
Key Takeaways
-
不要只问“算得够不够快”,要先问“数据和任务是不是站在了正确的位置上”。
-
把系统视为可重构对象,而不是静态机器。 规模一大,故障、维护和负载波动是常态,不是异常。
-
优先减少搬运,而不是盲目增加计算。 在现代加速系统里,数据移动往往比计算更昂贵。
-
把内存当作可调度资源管理。 GPU 内存不是“放东西的地方”,而是需要分页、分块和复用的动态空间。
-
用三层重构思维检查优化方案。 任何提速方法,都要同时看物理连接、数据布局和任务切分三层是否一致。
结语:最快的系统,往往最会改变自己
我们通常把“性能”理解为一种速度属性,但在大规模 AI 基础设施里,性能更像是一种适应力。它不是单个部件跑得多快,而是系统能否在不断变化的条件下,迅速把自己重新组织成可工作的形态。
这也是最值得被重新思考的一点。过去我们崇拜的是更强的芯片,更大的模型,更高的理论吞吐;现在真正决定胜负的,是谁更懂得让这些昂贵资源少等待、少搬运、少空转,谁更能在故障、通信、缓存和负载波动中维持秩序。
所以,下一次当你看到一个系统宣称自己更快时,不妨换一个问题:它是更快地计算,还是更快地重构自己? 真正领先的系统,通常属于后者。
Sources
Hatch New Ideas with Glasp AI 🐣
Glasp AI allows you to hatch new ideas based on your curated content. Let's curate and create with Glasp AI :)
Start Hatching 🐣