alibaba / alibaba/x-deeplearning

insufficient processing units

Open
#352 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
PureBasic
Stars
4.3k
Forks
1k
PR merge metrics
No merged PRs in 30d

Description

HI:
我在xdl的镜像中编译,手动启动ps服务时报错。
启动命令:./ps-plus/ps -r server -bc False -sp zfs://127.0.0.1:2181/scheduler -cp . -p 8801 -sn 1 -si 0 -snet 10000 -smem 10000 -sqps 100000 -c1

订位到报错部分位于seastar/core/resource.cc中的allocate函数。于是打印了几个关键数值,发现一个奇怪的现象。
unsigned available_procs = hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_PU); 这个函数返回结果是2,而不是32.
auto available_memory = machine->memory.total_memory; 这个结果竟然是0. 打印了configuration中的cpu_set,其中确实设置了0~31这32个cpuid,没有问题。

更奇怪的是,我把这个allocate函数单独抽离出来,写一个demo编译并运行,并不会出现上述描述的异常,这是demo程序的打印内容:available_procs = 32 available_memory = 102924537856。

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with seastar/core/resource.cc and allocate(), then reproduce the ps server command in the xdl image while inspecting hwloc_get_nbobjs_by_type(... HWLOC_OBJ_PU), machine->memory.total_memory, and configuration.cpu_set. Done means explaining or correcting why the integrated server sees 2 processing units and zero memory while the extracted demo sees 32 and 102924537856.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.