Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. 多个作业分配到同一个节点上会导致计算效率大幅降低

多个作业分配到同一个节点上会导致计算效率大幅降低

已定时 已固定 已锁定 已移动 OpenFOAM
12 帖子 3 发布者 6.9k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • C 离线
    C 离线
    cccrrryyy 超神
    写于 最后由 编辑
    #1

    最近发现一个现象,我有一堆并行的作业发到了集群上,因为是跨节点导致同一个节点上有好几套作业同时计算。比如一个10核的节点,有5核的作业A(5核),2核的作业B(共5核,2核分到了该节点上),3核的作业C(共5核,3核分到了该节点上)。这种情况下,作业计算的效率会大大降低,感觉慢了10倍都不止。

    如果是5核的OpenFOAM作业A,外加5核别的软件的作业B,是不会有这种冲突的。只有在OpenFOAM和OpenFOAM相互占到同一个节点的时候才会出现。

    推测是跟mpi有关,有没有什么好的解决办法?

    I don't want to survive, I want to thrive.

    G 1 条回复 最后回复
  • G 离线
    G 离线
    gemini
    在 中回复了 cccrrryyy 最后由 编辑
    #2

    虽然是句废话,但我还是想说一下.. 经济上可接受的话,每个作业单独分个节点?或者最小按5核分配?

    C 1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #3

    是有这个问题。都不用多节点跑。单节点跑也是这样。

    经济上可接受的话,每个作业单独分个节点

    是这样。

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    C 1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 gemini 最后由 编辑
    #4

    @gemini 经济上倒是没啥问题,主要感觉这个应该有什么技术手段可以解决。不然一方面是可以大规模并行,一方面又需要单独分配节点,有点矛盾。

    I don't want to survive, I want to thrive.

    G 1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 李东岳 最后由 编辑
    #5

    @李东岳 李老师意思是,单独一个节点同时跑多个OF作业也会这样是吧?很好奇其他软件或者商业软件啥的会不会也有同样的问题,如果有的话我就不折腾了。

    I don't want to survive, I want to thrive.

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #6

    @cccrrryyy

    很好奇其他软件或者商业软件啥的会不会也有同样的问题

    openfoam肯定是这样,2020年我测试过。商软按道理这个应该实测一下。但是我服务器卡在海关一个月了没法测。我觉得商软99%也有这个问题。毕竟除了核心数,其他资源都是共享的。

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    C 1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 李东岳 最后由 编辑
    #7

    @李东岳 如果能在提交作业的时候指定运行的核,是不是就不会有问题了。

    我一直的理解是信息交互错乱或者堵塞才会导致这种问题。假设极端点,10核的机器,2块5核的CPU,如果两个5核作业分别跑在2块CPU上,按道理不至于拖慢速度吧?

    I don't want to survive, I want to thrive.

    李东岳李 G 2 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 cccrrryyy 最后由 编辑
    #8

    @cccrrryyy

    如果能在提交作业的时候指定运行的核,是不是就不会有问题了。

    这个你可以测试下,之前论坛有人这么说过,我测试是啥用都没有。

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    C 1 条回复 最后回复
  • G 离线
    G 离线
    gemini
    在 中回复了 cccrrryyy 最后由 编辑
    #9

    @cccrrryyy 在 多个作业分配到同一个节点上会导致计算效率大幅降低 中说:

    10核的机器,2块5核的CPU,如果两个5核作业分别跑在2块CPU上,按道理不至于拖慢速度吧?

    不一定,如果其中一个作业把内存占满了,求解速度也会慢。(还有其它情况。)

    1 条回复 最后回复
  • G 离线
    G 离线
    gemini
    在 中回复了 cccrrryyy 最后由 编辑
    #10

    @cccrrryyy 在 多个作业分配到同一个节点上会导致计算效率大幅降低 中说:

    经济上倒是没啥问题,主要感觉这个应该有什么技术手段可以解决。不然一方面是可以大规模并行,一方面又需要单独分配节点,有点矛盾。

    需要分析一下效率降低的原因,一种情况是节点间通信开销太大了。我这边是设置了最小分配数(暂且这么叫吧),比如10核的作业,最小按5核调度,那么最多只会分到2个节点上运行,且不会分到有4核或更少空闲核心的节点上运行。

    C 1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 gemini 最后由 编辑
    #11

    @gemini 我跟HPC管理员沟通了下,他提出的解决方案也是类似这种,需要对核数分配做一定的限制。目前我是粗暴的去占空闲的节点,导致有时候一个作业分到四五个节点上跑,确实不太合理。我先试试看。

    I don't want to survive, I want to thrive.

    1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 李东岳 最后由 编辑
    #12

    @李东岳 可以可以,我找时间试试看。

    I don't want to survive, I want to thrive.

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]