decomposePar的结果会发生变化么?
-
如题,我在使用OpenFoam计算一组数据,在相同的配置下,前后两次采用decomposePar对原始数据进行分解,分解时x=35,y=2,z=2共140个processor,配置文件均相同,然后mpirun进行计算,结果最后第一次的执行的总时间明显比第二次短,这可能是什么问题呢?两次decomposePar的结果会不同么?
-
正常不会发生变化,不确定可以比较一下。是不是第二次计算任务调度存在抢内存的情况?
-
Thank you,如果内存充足的话,会发生抢占么?对使用的几个节点进行观测,memory的使用不超过36%
-
@北方 可能会有几种情况:
- 第二次计算时调度系统分配的计算节点较分散,因此通信时间较长。
- 第二次计算时出现不同任务在同一节点上运行的情况,发生抢占资源(CPU,内存)的情况。
-
@wwzhao Thank you ,针对您的分析,我有如下疑问:
第1点:测试了多次,均出现这样的情况,即使是调度的问题,应该不至于每次都出现如此情况。
第2点:我采用5个节点,每个节点28个物理core,关闭了超线程,按照一个processor对应一个物理core,不会出现不同任务在同一节点运行的情况,也就不会出现抢占资源的情况。 -
@wwzhao @HydroJames 另外,我正在用28processor的情况进行decomposePar验证,比较两次分解后的结果,验证完我将验证结果反馈出来。
-
更新,据我目前的测试结果来看,decomposePar的结果是一致的
-
@北方 那能不能检测到具体是哪个步骤,或者哪个processor慢了呢?
-
@HydroJames 我暂时还查不到原因,测试过程中我还引入了其他差异,比如我进行过换硬盘的操作