The BSPProcessGroup concept implies the semantics of the Bulk Synchronous Parallel (BSP) model of computation, where processing proceeds in supersteps. Messages sent in one superstep are not received until the next superstep. This is the primary difference between the BSPProcessGroup and its superior, MessagingProcessGroup: the latter permits (but does not guarantee) message delivery prior to synchronization, which the former prohibits.
| Concept tag | PG::communication_category | Must be convertible to bsp_process_group_tag. |
| Receivable message type | optional<pair<process_id_type, int> > | Describes a receivable message, if one exists. |
| Name | Expression | Type | Semantics |
|---|---|---|---|
| Query receivable message. | probe(pg) | Receivable message type | If a message is immediately available, returns the ID of the sender and the message tag. Otherwise, returns an empty optional. This operation has local completion semantics. The set of messages that probe may return is the set of allmessages sent before the last synchronization but not yet received. |
Copyright (C) 2004-5 The Trustees of Indiana University.
Authors: Douglas Gregor and Andrew Lumsdaine