多个作业分配到同一个节点上会导致计算效率大幅降低
-
最近发现一个现象,我有一堆并行的作业发到了集群上,因为是跨节点导致同一个节点上有好几套作业同时计算。比如一个10核的节点,有5核的作业A(5核),2核的作业B(共5核,2核分到了该节点上),3核的作业C(共5核,3核分到了该节点上)。这种情况下,作业计算的效率会大大降低,感觉慢了10倍都不止。
如果是5核的OpenFOAM作业A,外加5核别的软件的作业B,是不会有这种冲突的。只有在OpenFOAM和OpenFOAM相互占到同一个节点的时候才会出现。
推测是跟mpi有关,有没有什么好的解决办法?
-
很好奇其他软件或者商业软件啥的会不会也有同样的问题
openfoam肯定是这样,2020年我测试过。商软按道理这个应该实测一下。但是我服务器卡在海关一个月了没法测。我觉得商软99%也有这个问题。毕竟除了核心数,其他资源都是共享的。
-
-
@cccrrryyy 在 多个作业分配到同一个节点上会导致计算效率大幅降低 中说:
10核的机器,2块5核的CPU,如果两个5核作业分别跑在2块CPU上,按道理不至于拖慢速度吧?
不一定,如果其中一个作业把内存占满了,求解速度也会慢。(还有其它情况。)
-
@cccrrryyy 在 多个作业分配到同一个节点上会导致计算效率大幅降低 中说:
经济上倒是没啥问题,主要感觉这个应该有什么技术手段可以解决。不然一方面是可以大规模并行,一方面又需要单独分配节点,有点矛盾。
需要分析一下效率降低的原因,一种情况是节点间通信开销太大了。我这边是设置了最小分配数(暂且这么叫吧),比如10核的作业,最小按5核调度,那么最多只会分到2个节点上运行,且不会分到有4核或更少空闲核心的节点上运行。
2022年12月27日 03:04
5/12
2023年1月6日 09:03