在非 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 的剩余显存,动态决定负载均衡。这个方法进一步提高了系统的鲁棒性。
