1. A process comprising the following steps: a thread making a non-blocking request to a message passing interface library; and associating a callback routine with the request as an asynchronous callback to the thread.