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

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

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

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 Computing Toolbox in Help Center and File Exchange

Tags

Asked:

on 14 May 2018

Edited:

on 30 May 2018

Community Treasure Hunt

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

Start Hunting!