The Real‐Time Message Passing Interface (MPI/RT) standard is the product of the work of many people working in an open community standards group over a period of over six years. The purpose of this archival publication is to preserve the significant knowledge and experience that was developed in real‐time message‐passing systems as a consequence of the research and development effort as well as in the specification of the standard. Interestingly, several implementations of MPI/RT (as well as comprehensive test suites) have been created in industry and academia over the period during which the standard was created. MPI/RT is likely to gain adoption interest over time, and this adoption may be driven by the promulgation of the standard including this publication. We expect that, when people are interested in understanding options for reliable, quality of service (QoS)‐oriented parallel computing with message passing, MPI/RT will serve as a foundation for such a study, whether or not its complete formalism is accepted into other systems or standards.
MPI/RT is an offshoot of MPI‐1, and retains many of the communication patterns of MPI‐1. However, MPI/RT has investigated issues of fine‐grain concurrency and highest achievable performance in many ways that were evidently inappropriate for MPI‐1 in the scientific computing space in which it resides, with its much broader audience. MPI/RT focuses on early‐binding (planned transfer), concurrent message passing, while integrating multiple real‐time models: time‐based, event‐driven, and priority‐oriented channels. Group admission control and declarative (deferred early binding) semantics support the goal of hard‐real‐time for the message‐passing component of computation. Importantly, MPI/RT emphasizes the decoupling of message transfer and process/thread scheduling as part of its contribution to parallel processing with QoS. Buffer management and state transition diagrams are also integral to the notion of streaming data into and out of processors in a way that is consistent with QoS, and friendly to zero‐copy approaches to communication.
MPI/RT has also made strides in the direction of a parallel middleware specification by emphasizing an object‐oriented design for the application programmer interface (API) compared with an object‐based API or ad hoc API. The advantages of these are plain in the standard, in that the functionality has useful polymorphic adaptations where needed. Furthermore, the concepts that derive from MPI‐1 (such as collective operations) appear as objects in MPI/RT. This modification has allowed for the removal of certain constructs in MPI‐1 (such as the communicator), in favor of a specification and implementation phase for objects that describe communication in MPI/RT. Overall, a cleaner, more extensible design exists, which does not utilize more resources per se than those which are needed to admit the required channels for a program. Both offline and online admission control is contemplated, and multiple modes are supported, albeit weakly...