Actually, please disregard the "Can this be done safely with.." part,
because I don't want to have to use a condition variable; I want it all to
happen by inter process communication through OpenMPI
On Fri, Jan 24, 2014 at 11:28 AM, Kenneth Adam Miller <
> I have a specific use case that I want to describe, and I'm brand new to
> MPI. It's rather complex, so I want to be careful that I design it so that
> there are no race conditions.
> Pool A is a buffer (of type 1) handle manager, that feeds buffer handles
> into thread set 1, and receives old handles from thread set 2. There is
> only one thread running pool A.
> Thread set 1 is a set of N threads that fill up buffers of type 1 with
> regular data. It pushes full buffers to thread set 2.
> Thread set 2 is a set of M threads that compress buffers of type 1 into
> data buffers of type 2. Once the buffer of type 1 has be used up, it is
> cleared and sent back to Pool A. It pulls fresh data buffers of type 2 from
> Pool B, and sends freshly filled compressed buffers to Pool C.
> Pool C does something with the buffer, clears it and hands it to Pool B.
> Can this be done safely using an implementation like what I see here:
> Note 1: -= denotes a 1-to-N connect and =- a N-to-1 connect
> RR = Request reply relationship
> Questions: does MPI work with intel PIN tools? If so, then how can I apply
> it to this? (I need specific modules and some examples, the OpenMPI manual
> just appears to be a bunch of references with no textual guides...).