Methods for increasing the efficiency of data transfers by passing a
reference to the data rather than to transfer the data itself. When a new
communication begins, a memory object, e.g. a buffer, is selected to
receive the data. Information if provided that may be used to ascertain
the communication path without actual knowledge of the path. If a
communication pattern is likely to be repeated, a memory object created
on the initial access is saved. The saved memory object ("precursor") is
provided to the memory system on subsequent access as a hint about the
process path to be used. The memory system can select a cached buffer
that has a similar set of mappings to the precursor.