It is assumed that to achieve the effect of caching attributes in user-customized communicators programmers will create subclasses of the library-defined communicator classes with suitable additional fields. These fields may be copied or deleted by suitably overridden clone and finalize methods.
Hence the only ``caching'' operation surviving here is the binding of MPI_ATTR_GET, which is needed to access values of attributes predefined by the implementation. According the standard, the key values for such attributes include MPI.TAG_UB, MPI.HOST, MPI.IO and MPI.WTIME_IS_GLOBAL.
int Comm.Attr_get(int keyval)
|keyval||one of the key values predefined by the implementation|