Why workers keep aborting during parallel computation on cluster?
이전 댓글 표시
I keep getting the warning
Warning: A worker aborted during execution of the parfor loop. The parfor loop will now run again on the remaining workers.
In distcomp/remoteparfor/handleIntervalErrorResult (line 245)
In distcomp/remoteparfor/getCompleteIntervals (line 392)
In parallel_function>distributed_execution (line 741)
In parallel_function (line 573)
In fuction_pa1 (line 100)]
when I run a simulation that has parfor loop on the cluster. I noticed that workers abort excution one after another and that seems to happen more when on a cluster compated to my PC.
I would like to know the reason of this issue, and is there a way to avoid it ?
Thanks.
댓글 수: 19
Mario Malic
2020년 12월 7일
Whhat kind of simulation?
Muh Alam
2020년 12월 7일
Kojiro Saito
2020년 12월 8일
matlab_crash_dump files might be stored in JobStrageLocation of parallel workers.
c=parcluster();
c.JobStorageLocation
Muh Alam
2020년 12월 9일
Kojiro Saito
2020년 12월 9일
Does your code have file I/O? For example, save.
Parallel workers might crash if multiple workers try to write to the same file.
Muh Alam
2020년 12월 9일
Kojiro Saito
2020년 12월 10일
No, I meant save inside parfor loop. But you're using save after parfor loop, it's safe.
Did you try changing SpmdEnabled option to false?
parpool('SpmdEnabled', false);
parfor n=1:100
% parallel codes
end
Muh Alam
2020년 12월 10일
Kojiro Saito
2020년 12월 10일
OK. Does this occur if you require smaller wokers?
Such as,
parpool(2, 'SpmdEnabled', false);
parfor n=1:100
% parallel codes
end
Muh Alam
2020년 12월 10일
Kojiro Saito
2020년 12월 11일
Does your cluster have enough resource?
If Linux, from Terminal
ulimit -a
provides the resouce (max processes etc.).
Muh Alam
2020년 12월 14일
Muh Alam
2021년 2월 3일
Kojiro Saito
2021년 2월 3일
I don't think so. I think it is an usual script.
Are you able to check the SLURM's log file?
Kojiro Saito
2021년 2월 4일
I understood. It was related to memory error. As you mentioned, increasting the allocated memory such as "--mem-per-cpu=2G" in sbatch option would solve.
Muh Alam
2021년 2월 6일
Kojiro Saito
2021년 2월 7일
Heterogenous would be a cause. This link is a system requirement of Parallel Server not Parallel Computing Toolbox, but it says an important point;
"Parallel processing constructs that work on the infrastructure enabled by parpool—parfor, parfeval spmd, distributed arrays, and message passing functions—cannot be used on a heterogeneous cluster configuration. The underlying MPI infrastructure requires that all cluster computers have matching word sizes and processor endianness."
Muh Alam
2021년 2월 8일
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Third-Party Cluster Configuration에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!