This question has come up on and off for a while: Is it a good idea for MPI to provide topological information of underlying hardware ? If the answer is yes, what is the correct way of providing the info ? For applications like PetSc, they just want to send/recv message to/from processes on the same node to take advantage of shared memory in nemesis, or may be even on same nodeboard or same rack on P. Then predefined MPI_COMM_SAME_NODE, or MPI_COMM_SAME_RACK with appropriate abstraction for deeper hierarchy will be good. Another example of the how useful of this topological info is profiling tools, slogX could use this info, e.g. geometric coordinate of the network like those in BG's MPI_Get_processor_name, it would be nice for MPI to provide that piece info so that it is portable. I bring up the question so PMI2 or may be Hydra can be designed to provide the topology info if MPI thinks it is approproiate to provide that piece of info. A.Chan