Thoughts from the December meeting (2nd try)

Thomas H. Robey (trobey@thuntek.net)
Thu, 19 Dec 1996 00:30:15 -0600

I have written up a proposal for the MPI/RT in an attempt to clarify
a few thoughts that were brought up at the last meeting. I hope it
either provides ideas about how things might fit together or
generate discussion that resolves some of the issues from the
last meeting.

Tom Robey
trobey@khoral.com

------------------------------------------------------------------------------
11.1 Introduction

The goal of real-time MPI (MPI/RT) is to provide the middleware for
programmers to create real-time applications with performance portability.
MPI/RT is to provide a consistent set of extensions and, in some cases,
restrictions to MPI. MPI/RT adds greater predictability and schedulability
to message-passing programming.
MPI/RT is intended to provide several core features for the most
demanding applications while allowing flexibility for use in a broad variety
of applications. The core features are:

1) Minimizing the critical path for message passing in a portable
environment. Many applications take advantage of machine-specific
message passing that provide minimal overhead. In order to be
usable for tightly integrated equipment applications, MPI/RT will
minimize the overhead relative to MPI-2 as much as practical.

[Note: MPI/RT will have the greatest chance of success if it can
be designed to provide as little performance penalty as possible while achieving portability.]

2) Early binding. Facilities will be provided to allow MPI/RT resources
to be scheduled. Scheduling will allow efficient use of resources.
Early binding will allow message overhead in the critical path to be
reduced and support such paradigms as "no-sided" communication.

3) Message-passing performance guarantees. MPI/RT will provide quality
of service (QOS) by allocating resources and providing bounds on the
delivery of messages which will allow the use of MPI/RT in
time-critical applications.

Many applications will only require a subset of the core features or may not
be as demanding in their requirements. Many features of MPI/RT are provided
to allow its use in a wide variety of these applications while not
compromising the core features.
MPI/RT is designed to provide high performance along with
portability. Portability in the MPI/RT sense is define to mean: