https://mp.weixin.qq.com/s?__biz=Mzg4NTczNzg2OA==&mid=2247507420&idx=1&sn=4b32726abd205c7f94144bcb9105330f&chksm=ce64b9fc7f1d8de04a40b0153302dee52262c6f104c67195e2586e75c8093b8be493f252c8a3#rd
在非 Local 场景下,Prefill 定时获取 Decode 的节点状态信息并进行检测,保证健康节点的服务,提供底线容灾能力,并基于此实现了 Prefill-Decode 之间的负载均衡。目前 Prefill 选取 Decode 的负载均衡支持两种:
RR 策略,Round Robin 的方式轮询 Decode 节点。
WRR 策略,加权 RR 策略,根据 Decode 剩余可用显存分配权重,在动态变化的负载环境下维持系统的高稳定性和响应速度。
负载均衡
在逐步增大流量规模的时候,我们发现有时候 Decode 会突然出现爆显存的问题。这是因为在一个短暂的时间内,可能存在一个长请求将 Decode 显存占满的情况。Prefill 节点访问哪台 Decode 节点:我们初期采用的是 RR(Round Robin)的策略,这个策略面对突发情况无能为力。
基于这个观察,我们开发了 WRR(加权 Round Robin),Prefill 实时获取 Decode 的剩余显存,动态决定负载均衡。这个方法进一步提高了系统的鲁棒性。