I'm implementing a new MTL component that uses message queues to keep
track of posted and unexpected messages. I intended to do this by creating
two global queues, one for posted and one for unexpected, until I found
that the portals MTL uses a different approach in their queue
implemenation. The portal code uses handles to the queues from inside
their mca_mtl_portals_module_t to post messages. I couldn't help but
wonder, why are the queue handles here? What are the design implications
of defining these handle queues in this module struct rather than globally
I'm an Open MPI newbie and sort of confused on the modular approach taken
here and was hoping somebody could point out the pros and the cons of the
two approaches. I guess my next question would be: In general, what would
you put into a module struct and what wouldn't you?
I will appreciate any pointers that you could give me to help me
understand this concept.
Thanks in advance,