Attributes are data that can be attached to one or more communicators.
Attributes are referenced by keyval. Keyvals are created with MPI_KEYVAL_CREATE.
Attributes are attached to a communicator with MPI_Attr_put and their values accessed by MPI_Attr_get.
127 Operations are defined for what happens to an attribute when it is copied (by creating one communicator from another) or deleted (by deleting a communicator) when the keyval is created.