parfor failed to deserialize data.

5 views (last 30 days)
Yi-Ping
Yi-Ping on 9 Aug 2013
Commented: Kalpesh Patil on 2 Jan 2017
Hi,
I tried to run a program using parfor. The code looks like
matlabpool open local 3
parfor i=1:n
..........
end
matlabpool close
where n is about 150000. I have tested the code, when n is small, it works perfectly. However, when I increased n to 150000, it did finished about 2/3 of the parfor loop, the error occur. The error message is
Error using distcompdeserialize Failed to deserialize data.
The machine I used is SunX4100, 4 AMD Opteron and 8Gb memory (2Gb each). The operating system is CentOS 6 and matlab version is R2013a.
Cheers, YP

Accepted Answer

Friedrich
Friedrich on 9 Aug 2013
Edited: Friedrich on 9 Aug 2013
Hi,
it seems like a worker is sending back data to MATLAB which is corruped or too big. keep in mind the size limitation of transfering data between MATLAB and the worker:
64-bit: 2.0 GB
32-bit: 600 MB
Can you share code which raises this error? Do you get that error also when running the code on a different machine?
  2 Comments
Yi-Ping
Yi-Ping on 13 Aug 2013
Hi Friedrich,
Thanks for your answer. The code is working fine now. I reduce the transfering data and run on other machine with larger memory.
Cheers, YP
Kalpesh Patil
Kalpesh Patil on 2 Jan 2017
HI Yi-Ping, I was also facing same issue about 'deserialize' error. When I use parfor with matlabpool with 2 workers. It works fine, but with 4 it gives error. SO i want to ask how to reduce the transferring data, can you share a bit of code you used for data reduction.

Sign in to comment.

More Answers (0)

Categories

Find more on Parallel for-Loops (parfor) in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!