I am having a design issue:

My server application has 2 processes per node, 1 listener and 1 worker.

Each listener monitors a specified port for incoming TCP connections with the goal that on receipt of a request it will distribute it over the workers in a SIMD fashion.


My problem is this: how can I get the workers to accept work from any of the listeners?

Making a separate communicator does not help as the sender is unknown.  Other than making a serial 'clearing house' process I cant think of a way  - Iprobe for Bcast would be useful.


Any ideas?


(OpenMPI 1.4.1 on FC10 with TCP)