已关闭
[Bug-Report|缺陷反馈] EI0020端口冲突处置指引未区分初始化路线,rank table路线配置HCCL_NPU_SOCKET_PORT_RANGE不生效 #987
ren-mengguang创建于 8 天前关闭于 7 天前
8 天前 关联了pull request:[fix] 修正EI0020端口冲突处置指引并补充缺省端口溯源日志 (#987)
8 天前 将 ren-mengguang 设为负责人
8 天前 修改了issue 的描述
Leewis
8 天前 评论:
8 天前 评论:
问题确认结果:上述三个问题均属实,感谢反馈。
结合源码确认:
- 指引未区分初始化路线:端口抢占仅存在于 rootInfo 初始化路线(
rank_info_detect_client.cc:215→socket_manager.cc:223ServerInitAll→PreemptPortManager在HCCL_NPU_SOCKET_PORT_RANGE范围内抢占并回填分发);rank table 文件方式初始化无端口抢占逻辑,该环境变量仅在my_rank.cc:417、socket_manager.cc:482两处作为两级端口表未命中时的 fallback 取值,正常路径查表命中时配置不生效,现有处置指引对该路线无效。 - 正确处置方法无文档承载:rank table 路线单卡多进程场景,需在各进程使用的 rank table 文件中为同一 device_ip 的 rank 配置互不相同的 device_port/host_port(缺省时静默使用默认端口 16666,两进程 bind 冲突触发 EI0020),该约束当前未在任何文档中说明。
- 默认端口静默填充:
new_rank_info.cc中GetJsonPropertyUInt(..., required=false)缺省时静默返回 16666,且会种子到所有 rank addr 的 socketPort_,日志无痕迹,冲突时无法溯源。
拟整改方案:
- EI0020 中英文错误码文档按初始化路线区分处置方法(rootInfo 路线:配置 HCCL_NPU_SOCKET_PORT_RANGE;rank table 路线:各进程 rank table 中为同一 device_ip 的 rank 配置互不相同的 device_port/host_port);
error_code.cc注册表 Solution 同步修正,并按仓内 EI0002/EI0005 惯例补充关键字检索引导,保证错误管理框架通道与文档一致;- 可选字段缺省使用默认值时补充 INFO 日志,便于溯源。
本回复为AI结合源码深度分析生成,将同步对应责任田团队进行二次确认。


8 天前 关联了pull request:[fix] 修正EI0020端口冲突处置指引 (#987)
Leewis
7 天前 评论:
7 天前 评论:
https://gitcode.com/cann/hcomm/pull/5725 master分支已修改上库;


7 天前 添加了label:resolved
问题描述
单卡多进程场景(同一Device拉起多个业务进程)下,device侧监听端口bind冲突触发EI0020(Failed to enable listening for the NPU network adapter socket)。当前处置指引存在三个问题:
期望