The key concept of the collective functions is to have a group or groups of participating MPI processes. The routines do not have group identifiers as explicit arguments. Instead, there is a communicator argument. Groups and communicators are discussed in full detail in Chapter Groups, Contexts, Communicators, and Caching. For the purposes of this chapter, it is sufficient to know that there are two types of communicators: intra-communicators and inter-communicators. An intra-communicator can be thought of as an identifier for a single group of MPI processes linked with a context. An inter-communicator identifies two distinct groups of MPI processes linked with a context.