Hi,

I have a Multiple Program Multiple Data with three programs running in parallel, say A, B and C. C is much slower so in order to balance the load I want to parallelize C into C0 to Cn (SPMD). There are very frequent communications between Ci processes and not so frequent, but still multiple times per second, between A, B and C0. I have running versions of ABC MPMD and the C*N SMPD.

I was thinking of creating two communicators with C0 being a member of both, but I am told this is bad practice although I don't really know what the pitfalls are. An alternative would be to create and close the ABC communicator every time it is used, but I am worried about the cost of this operations and about making the code look messy. I would appreciate any advice onn this issue.

Thanks,
Tiago


Reply via email to