link_clusters
函数功能
KvCache管理模式的建链。
由Client单侧发起建链。由于动态扩缩的部分往往是Decode侧,因此将P定义为Server端,D定义为Client端,建链过程实现由D向P发起建链的流程。
函数原型
link_clusters(clusters: Union[List[LLMClusterInfo], Tuple[LLMClusterInfo]], timeout=3000)
参数说明
参数名称 |
数据类型 |
取值说明 |
---|---|---|
clusters |
Union[List[LLMClusterInfo], Tuple[LLMClusterInfo]] |
集群列表。 |
timeout |
int |
超时时间,单位:ms,默认超时时间3000ms。 |
调用示例
from llm_datadist import LLMDataDist, LLMRole, LLMStatusCode, LLMClusterInfo llm_datadist = LLMDataDist(LLMRole.DECODER, 0) cluster = LLMClusterInfo() cluster.remote_cluster_id = 1 cluster.append_local_ip_info("1.1.1.1", 26000) cluster.append_remote_ip_info("1.1.1.1", 26000) ret, rets = llm_datadist.link_clusters([cluster], 5000) if ret != LLMStatusCode.LLM_SUCCESS: raise Exception("link failed.") for cluster_i in range(len(rets)): link_ret = rets[cluster_i] if link_ret != LLMStatusCode.LLM_SUCCESS: print(f"{cluster_i} link failed.")
返回值
正常情况下返回两个值的元组,第一个值是接口的返回值,类型是LLMStatusCode,第二个是每个集群建链结果的列表,类型是LLMStatusCode。
参数错误可能抛出TypeError或ValueError。
约束说明
- 建链数量建议不超过16,最大支持512。建链数量过多存在内存oom及kvcache传输的性能风险。
- 在一些异常场景,比如D侧建链过程中网络故障或者D侧进程退出,P侧正在进行的建链将无法完成。P侧的中间状态需要有一个机制清理资源,当前机制是老化超时机制,超时后P侧尚未完成的建链将被释放。超时时间当前固定为10秒。
父主题: LLMDataDist