Concept BSPProcessGroup

Contents

Description

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.

Refinement of

Associated Types

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.

Notation

PG
A type that models the ProcessGroup concept.
pg
Object of type PG

Valid Expressions

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.

Models


Copyright (C) 2004-5 The Trustees of Indiana University.

Authors: Douglas Gregor and Andrew Lumsdaine