Skip to content

[BUG] 关于8gpu SimEngine无法生成flag导致AlgEngine假死等待异常的问题反馈 #5

@ZhenJia94

Description

@ZhenJia94

Hello各位大神,问题如标题所述
问题现象
Runner 存在一个最后一个gpu假死(等待simEngine complete.flag)
原因:不同服务器cpu数不一样 例如:112/16=7(number_of_cpus_allocated_per_simulation)参数
对但是gpus=8
导致最后一个gpu任务会无法获得无cpu分配的flag卡死

探讨解决办法:
1.加入assert gpus==cpus/number_of_cpus_allocated_per_simulation 手动对齐
2.使用的gpus任务数=cpus/number_of_cpus_allocated_per_simulation
两者保持一致
或者从整个工程系统上更好的解决办法
😓由于被公司墙,用手机提问排版可能存在问题,各位谅解,也希望各位大神多多指教

时间线推演

T0: 提交8个任务(split_0到split_7)
→ Ray开始调度:
1. split_0: 分配CPU=16, 剩余CPU=96
2. split_1: 分配CPU=16, 剩余CPU=80
3. split_2: 分配CPU=16, 剩余CPU=64
4. split_3: 分配CPU=16, 剩余CPU=48
5. split_4: 分配CPU=16, 剩余CPU=32
6. split_5: 分配CPU=16, 剩余CPU=16
7. split_6: 分配CPU=16, 剩余CPU=0
8. split_7: 需要CPU=16, 可用CPU=0 >该ray任务结束
split_7会被ray 跳掉 最后无法生成split_7对应的.flag完成标志文件

对应spilt_7的ALGENGINE 会一直等待到设定的max时间上限,但最后的评估统计也存在无法读取最后gpu仿真结果导致的崩溃问题

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions