NeFut Logo NeFut
EN 管理员登录

[AI学术] 突破性细粒度计算卸载策略:仅需十几行代码

发布于:2026-07-08 22:00 最后更新:2026-07-09 03:23
#algorithm #optimization #C++

在在线服务中,硬件加速器正处于关键路径上,包括 GPUs、FPGAs 以及越来越多的远程服务,如硬件安全模块、后量子 KEMs 和推理服务器。当涉及到细粒度卸载(微秒到几毫秒)时,传统的解决方案均告失败:上下文切换的成本与卸载相当,而忙等待则消耗了核心资源。

为了解决这个问题,可以通过重叠卸载与其他请求来实现。以往的系统通过增加并发性来实现这一点,例如异步框架重写、新的运行时或数据平面操作系统,或者手动调整的集成方案。然而,我们观察到并发性本身已经存在:处理并发请求就是暂停并恢复它们,因此每个服务器都有满足重叠需求的机制。重叠实际上是一个路由问题,而非重写问题:将卸载提交给执行器,使用服务器自身的延迟响应原语来暂停请求,并在完成后恢复它。

在横跨十个通用服务器的测试中,涵盖了每种生产并发模型,这一方法仅需增加 22-138 行代码,最多修改一行,并在真实硬件上实现了 1.2-5.4 倍的性能提升;服务器的并发模型和卸载的权重可以提前预测这两个数字,性能提升受到设备吞吐量和服务器自身重叠能力的限制。在极限情况下,一个 LD_PRELOAD fiber 运行时可以将重定向注入未修改的线程连接二进制中,实现 17.3 倍的性能提升,且在一个特征化的范围内。重定向会暂停运行到完成的原子性;经过测量的分类法将风险限制在未锁定的共享聚合体中,透明的页面保护检测器正好保护这些数据,且在标准 Redis 上经过验证。

原文链接: https://arxiv.org/abs/2607.02630

[h] 返回首页