服务器像一间忙碌的厨房:如果所有订单一视同仁,最赶时间的那桌也得排队。Meta 在升级 Linux 内核时就碰到类似问题:新调度器 EEVDF 让广告服务变慢,能参与排序的广告随之减少,部分机器只好停留在旧版内核。对这个平均每秒处理逾 500 万次请求的系统,几毫秒也会影响广告效果。
Meta 改用 sched_ext——一种借助 BPF 编写定制 CPU 调度规则的开源框架。它把 CPU 动态分成两组:优先处理直接影响请求延迟的线程,较不紧急的工作放到另一组;分组大小再随负载调整。策略还能作为用户空间程序更换,无需重装内核。Meta 自述,这项改造把广告检索阶段的 p99 尾延迟——即 99% 请求都能快于它完成的时间门槛——降低了 28%,节省 3.28 MW 功率,并让参与排序的广告数增加 1.1%。它说明,模型服务的表现不只取决于模型,操作系统怎样分配 CPU 时间也会直接传导到业务指标。