spmd error: Could not deserialize object: java.io.IOException

2 views (last 30 days)
Lab 1:
Warning: Could not deserialize object: java.io.IOException: Cannot deserialize proxy: Ice.ObjectInputStream not found/n
> In parallel.internal.pool.deserialize (line 9)
Lab 2:
Warning: Could not deserialize object: java.io.IOException: Cannot deserialize proxy: Ice.ObjectInputStream not found/n
> In parallel.internal.pool.deserialize (line 9)
Lab 1:
In parallel.internal.pool.deserializeFunction (line 12)
In spmdlang.remoteBlockExecution>iDeserializeInputs (line 169)
In spmdlang.remoteBlockExecution>iPrelude (line 109)
In spmdlang.remoteBlockExecution (line 36)
Lab 2:
In parallel.internal.pool.deserializeFunction (line 12)
In spmdlang.remoteBlockExecution>iDeserializeInputs (line 169)
In spmdlang.remoteBlockExecution>iPrelude (line 109)
In spmdlang.remoteBlockExecution (line 36)
  1 Comment
Walter Roberson
Walter Roberson on 14 May 2018
My guess is that you are exceeding the 2 Gigabyte limit on transferring data between workers. (Perhaps the limit is higher these days.)

Sign in to comment.

Accepted Answer

Edric Ellis
Edric Ellis on 14 May 2018
The problem here is that you appear to be creating a java object in the MATLAB client process that cannot be transferred to the worker - which is a separate process. It's not clear to me from your code exactly where that is, but what you need to do is simple: you must ensure that these objects are created on the workers. In other words, you must perform whatever setup phase involves the java/Ice API inside an spmd block.

More Answers (0)

Categories

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

Tags

Community Treasure Hunt

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

Start Hunting!