alibaba / alibaba/x-deeplearning
insufficient processing units
- 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