Supratik Majumder, Scott Rixner, and Vijay S Pai (2004)
An Event-driven Architecture for MPI Libraries
In: Proceedings of the LACSI Symposium, Los Alamos, New Mexico, Los Alamos Computer Science Institute.
Existing MPI libraries couple the progress of message transmission or reception with library invocations by the user application. Such coupling allows for simplicity of implementation, but may increase communication latency and waste CPU resources. This paper proposes the addition of an event-driven communication thread to make messaging progress in the library separately from the application thread, thus decoupling communication progress from library invocations by the application. The asynchronous event-thread allows messages to be sent and received concurrently with application execution. This technique dramatically improves the responsiveness of the library to network communication. Microbenchmark results show that the time spent waiting for non-blocking receives to complete can be significantly reduced or even eliminated entirely. Application performance as measured by the NAS benchmarks shows an average of 4.5\% performance improvement, with a peak improvement of 9.2\%.