Attendees:
Dennis Cottel, NRAD
Jerrell Watts, Caltech
Harish Nag, Intel
Arkady Kanevsky , Mitre
Ron Brightwell, Sandia
Robbie Babb, U Denver
Gerard Vichniac, Mercury
Tony Skjellum, MSU [chair]
Zhenqian Cui, MSU
Mark Bilderback, MSU
Greg Henley, MSU
Aric Lambert, MSU
Convened, 8:30am, August 26.
We identified the following areas as crucial to advancement of the
realtime chapter:
1 channels
2 datatypes / buffers
3 time objects (because time model is esssentially done)
4 event model
5 priority model
6 shifted interface for MPI-2 spec, to add timeouts
7 threads
8 early binding vs. late binding issues
1) Event-driven was discussed. Arkady proposed a "high level" model.
We agreed to concentrate first on the "low level" model, and then return
to the "high level" model thereafter. See latest draft for "low level"
model.
Low level ==> local events
High level ==> communicator-scoped events
Event handlers were discussed. Two events were specified explicitly
for the lower level: release of the buffer, releases of the overall
resources.
A request can be annotated with a handler that is called for a specific
event.
2) Priority issues were discussed, and cleaned up. Specifically, priority
is associated with a channel. No relationship between process and
channel priority. Messages do not have priority. So, this is an example
of a quality of service, like others we may choose to specify.
This is incorporated into the latest draft.
3) Channel issues were discussed, clarified and articulated. Specifically,
modify, delete, both on many channels, and single channels, are to be
supported, as noted in current draft.
What is open (and to be concentrated on at next meeting) is what exactly
are the quality of service parameters, and how they are to be specified
internally (eg, like info argument).
Channel initialization does not imply any start of data transfer.
Channels are used for any and all realtime messaging.
4) Time objects reverted to being single times, not intervals.
5) Period starting is to be supported in addition to one-shot, timebased
message passing, using a third time object (as the period).
6) Collective communication with quality of service is to be accomplished
using persistent collective operations that add a quality of service
parameter as compared to non-RT versions. This cleanly addresses
the need to provide quality of service for collective.
It was noted that collective in RT form, can layer on channels of a
point-to-point nature, much as regular collective can layer on regular
send/receive operations.
7) Ron Brightwell's buffer proposal was presented, and will be
incorporated in Sunday's release.
8) We discussed the need for MPI_TRANSPOSE in the collective chapter,
as the highest possible performance operation for transposing matrices
in intra- and inter-communicators, so we could have a realtime version
of it. This will be addressed by collective subcommittee ASAP.
- - - - - - -
At the conclusion of the meeting, Arkady and Tony promised to meet
on August 28, generate an interim draft for distribution the 28th,
and follow up on September 2 with a newer version, to include Ron's
buffering proposal, and further cleanups.
Adjourned, 3pm CST, Aug. 27.