RackSched 将 ToR 可编程交换机用作 rack 级微秒调度器,与以下五篇论文共同构成"RDMA/bypass 驱动的分布式调度"研究簇:
| 论文 | 关系 | 关联维度 |
|---|---|---|
| FaRM | predecessor | FaRM 确立 RDMA 替代 TCP/IP 的范式 [farm-nsdi14],RackSched 走了另一条 bypass 路线——不在端侧用 RDMA,而在网络设备(交换机)上做计算,两者代表 bypass 技术的端侧 vs 网络侧两个分支 |
| KRCore | complementary | KRCore 加速 RDMA 连接建立 [2201.11578],RackSched 加速请求路由——分属传输层和应用层。若 RackSched 选路后需建立新 RDMA 连接,KRCore 保证选路不被建连延迟抵消 |
| OnePiece | downstream | OnePiece 的 Node Manager 做 AIGC 流水线动态调度 [2601.20655],可视为 RackSched 调度理念在 GPU 推理场景的软件实现——但 NM 运行在 CPU 上,无法达到 RackSched 的交换机线速 |
| Blink | alternative | Blink 用 DPU + GPU persistent kernel 消除 CPU 调度 [2604.07609],RackSched 用 ToR 交换机消除 CPU 调度——两者殊途同归,都将调度决策从 CPU 移到专用硬件,但作用粒度不同(per-token vs per-request) |
| CPU-Slowdowns | motivation | CPU-Slowdowns 量化了 CPU 调度瓶颈(barrier 同步放大、broadcast dequeue 19× 膨胀)[2603.22774],为 RackSched 的"将调度从 CPU 移出"提供了 LLM 场景的实证动机 |
FaRM 的 bypass 策略是在端侧替换传输协议:TCP/IP → RDMA [farm-nsdi14]。RackSched 的 bypass 策略是在网络设备上嵌入计算逻辑:软件调度器 → 交换机数据面调度器。核心 delta:FaRM 通过 RDMA 让每个数据操作更快(10× throughput)[farm-nsdi14],RackSched 通过在网络路径上做调度让请求分配更优(近线性扩展 + 单服务器级尾延迟)[racksched-osdi20]。FaRM 的优化是端到端的(任何应用受益),RackSched 的优化是 workload-specific(仅适用于无状态/已复制的微秒级服务)。
KRCore 优化的是"建立一条 RDMA 连接需要多久"(5.4μs vs 15.7ms)[2201.11578],RackSched 优化的是"哪台服务器处理这个请求"。两者的 trade-off 维度正交:KRCore 降低传输层开销,RackSched 降低路由层开销。KRCore 的 DC→RC 升级策略 [2201.11578] 暗含了类似 RackSched 的负载感知思想——检测 hot path 并优化,但在端侧而非网络侧执行。
OnePiece 的 Node Manager 实现了一种集中式调度器(Paxos HA、GPU 利用率监控、阈值触发实例调拨)[2601.20655]。RackSched 也是集中式调度但在交换机硬件实现。核心 delta:NM 的调度决策需 CPU 时间 + Paxos 共识,延迟在毫秒级;RackSched 的 power-of-k-choices 全在交换机数据面完成,延迟在纳秒级 [racksched-osdi20]。但 RackSched 只做 stateless 请求路由,OnePiece 的 NM 做有状态资源编排(GPU 实例分配/回收)——职责范围不同。
Blink 和 RackSched 都将调度决策从 CPU 移到专用硬件(DPU vs ToR switch),但作用粒度根本不同。Blink 解决 per-token 调度:每个 decode step 的 CUDA graph 选择和 launch [2604.07609]。RackSched 解决 per-request 路由:首次请求到达时选择目标服务器 [racksched-osdi20]。在 LLM serving 场景中,两者自然分层:RackSched 决定请求去哪台 GPU 服务器 → Blink 在该服务器上完成 CPU-free 推理。
CPU-Slowdowns 识别了两个结构性瓶颈:barrier 同步放大和 shared-memory broadcast 竞争 [2603.22774]。RackSched 的 INT piggyback 反馈机制 [racksched-osdi20] 提供了一个旁路——如果调度决策在交换机完成,CPU 端无需承担调度逻辑,可减轻 broadcast 竞争。但 CPU-Slowdowns 发现的 tokenization 瓶颈(占 TTFT 50%)[2603.22774] 是 RackSched 无法解决的——交换机不能执行 BPE 分词。
RackSched 占据"网络侧 μs 级调度"的独特生态位——唯一在交换机数据面实现 per-request 动态负载感知调度的系统。在 bypass 技术的空间划分中:
RackSched 的范式影响力在于证明了"网络设备不只是管道,可以承担调度智能"。但其在 LLM 场景的直接适用性受限于三个假设不匹配:请求时间尺度(μs vs s)、状态性(stateless vs KV-cache)、调度粒度(per-request vs per-token)。
在 GPU 推理集群的实际部署中,RackSched 更可能作为"入口层负载均衡器"——在多个 vLLM/SGLang 实例间做粗粒度请求分发,而非做细粒度的 per-token 调度。此定位与 KV-cache aware routing(Mooncake 等系统探索的方向)有交叠但机制不同。