Slow access of large composite element

4 views (last 30 days)
I am using spmd to run some parallel algorithms which periodically communicate. At the end, each process has a structure which I would like to pull back to the client for further analysis. Unfortunately, the size of the structure is large (but I don't think they are excessive), and trying to pull just one of the composite elements leads to a timeout of the cluster (30 min) and therefore fails. Is there any way to have the client as one of the spmd processes, or a more efficient way to transfer data from one or more of the workers back to the client in a more efficient way?
EDIT:
A clunky workaround is to have each process save their workspace to a directory. This seems to work pretty quickly, but it's obnoxious to have to import all the workspaces to do the diagnostics. I would appreciate more elegant solutions.
  5 Comments
rp
rp on 9 Feb 2018
@Walter -- yes you must be right. I quickly read through and saw that the example wouldn't work in an spmd block, but there are probably other examples which may.
Walter Roberson
Walter Roberson on 9 Feb 2018
Looking more closely, it is for "communicating jobs", of which spmd is one kind.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 11 Apr 2017
Edited: Walter Roberson on 8 Feb 2018
Perhaps the new (R2017a) send() and poll() and afterEach() might help?

More Answers (0)

Community Treasure Hunt

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

Start Hunting!