Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: [OMPI devel] Specific use case - very very new to MPI
From: Kenneth Adam Miller (kennethadammiller_at_[hidden])
Date: 2014-01-24 12:28:33


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:
http://www.justsoftwaresolutions.co.uk/threading/implementing-a-thread-safe-queue-using-condition-variables.html
?

Note 1: -= denotes a 1-to-N connect and =- a N-to-1 connect

RR = Request reply relationship

http://imgur.com/6tWZglJ

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...).