During the September meeting, the I/O subcommittee resolved most
outstanding discussion items during two meetings on Tuesday, had
a general reading before the entire forum on Wednesday morning,
and discussed remaining issues during two subcommittee meetings
on Thursday.
"Discussion" items from the Sept draft:
---------------------------------------
1. Clarify scope of CAUTIOUS (w.r.t. dynamic processes) [11.1.6]
Much discussion took place regarding scope, domain, and
consistency issues. See below.
2. Define end-of-file [11.1.7]
Seeks will be relative to the end of view rather than the EOF.
EOF errors are dependent on consistency semantics.
May still need further refinement for a single overlapping filetype
(e.g. { (offset 0, float), (offset 0, float), (offset 0, float)}).
3. Clarify disp & offsets w.r.t. file interoperability [11.1.9]
An "Advice to users" warning of the pitfalls of using
byte addressing will be added.
4. Clarify or delete APPEND mode in OPEN's amode [11.2.1]
Deleted text - 6/1/3
5. Clarify "Delete on close" semantics w.r.t. other processes [11.2.3]
The outcome will be "implementation dependent" (the same
as if MPI_Delete() is executed while a file is open).
6. Clarify scope of "consistency" on CLOSE. [11.2.3]
See below.
7. PROPOSAL: allow any size holes in filetype/buftype [11.2.5]
Proposal withdrawn.
8. PROPOSAL: alternatives to FILE_CONTROL [11.2.8]
FILE_CONTROL replaced - 7/0/8
9. Clarify RESIZE preallocation error conditions [11.2.11]
An error will be returned when no space is available.
10. Clarify RESIZE scope of preallocation [11.2.11]
Preallocation acts as if the newly allocated areas of the
file have been written. Data returned by reading these
areas before they are written using MPI_Write is "undefined".
11. Clarify consistency model at FILE_SYNC [11.2.13]
See below.
12. PROPOSAL: Remove *_SHARED_ALL or rename to *_SHARED_ORDERED [11.5.2]
Name is now *_SHARED_ORDERED, and the text will be changed so
that a barrier synchronization is not required - 12/0/3
13. PROPOSAL: Move filetype constructors to "Datatype Improvements" [11.6]
All "comm" arguments will be replaced by "size" and "rank"
to be more like other datatype constructors - 10/1/4
14. PROPOSAL: TYPE_SUBARRAY semantics depend on language binding [11.6.3]
TYPE_SUBARRAY indexing will always start at zero regardless
of language binding used (as in MPI 1.1).
Other items:
------------
15. Choose portable offset mechanism: "integer*8" vs. access routines
Vote to require that a basic datatype be used to specify
offsets rather than access routines passed - 9/1/6
A basic datatype is one which supports addition, subtraction,
and equality (e.g. integer*8, double precision).
16. PROPOSAL: Add "count" to VIEW
Forthcoming.
17. PROPOSAL: Support for non-local I/O services
Forthcoming.
18. PROPOSAL: Support file interoperability [11.1.9]
Passed - 10/0/4
Removed XDR_LITTLEENDIAN; there will be two (possibly 3 modes):
NATIVE - read and write datatypes in native format
XDR - read and write datatypes in XDR format
LOCAL_HETEROGENEOUS - (proposal forthcoming)
In order to promote portability, we may want to add routines
GET_XDR_SIZE and GET_XDR_EXTENT for portably calculating offsets
into XDR files.
19. Define semantics of outstanding requests at CLOSE, ICLOSE, DELETE time
See below.
20. PROPOSAL: Add GET_ATOMICITY
MPI_ATOMICITY will be split into GET_ATOMICITY AND SET_ATOMICITY.
RECKLESS and CAUTIOUS may also be changed to ATOMIC and NONATOMIC.
21. PROPOSAL: Add GET_FILE_NAME
A reserved info key "filename" will allow a user to get the
filename of an opened file (provided the implementation supports
the info key "filename").
22. PROPOSAL: Add GET_FILE_MODE
Will add GET_FILE_PARAMS(fh, amode, comm, info_taken) - 12/0/3
23. Clarify "user must allocate space" for *_GET_* routines
Text will be deleted.
Additional Straw Vote Results
-----------------------------
File pointer always updated by amount requested Pass: 15/0/0
Remove text about "mpi-impl:/" in filename Pass: 11/0/4
Remove "info_taken" from GET_VIEW Pass: 11/1/2
Topics of Discussion
--------------------
Consistency Issues, Scope, Domain, and Namespace
The current definition for the consistency semantics,
"within an MPI environment" is still ill-defined.
A better definition still needs to be proposed.
Handling "Outstanding" Requests
The behavior of outstanding data access operations
must be clearly defined for the cases when the
following routines are called: MPI_RESIZE, MPI_ICLOSE,
MPI_*_ATOMICITY, MPI_VIEW, MPI_DELETE. Any others?
Finally, a "progress rule" needs to be clearly defined and stated.
Attendees List
--------------
Bill Nitzberg, NASA Ames
Jean Pierre Prost, IBM
Nick Nevin, OSC
Elsie Pierce, LLNL
Richard Frost, SDSC
Steve Landherr, HP-Convex
Lyndon Clarke, Edinburgh
Susan Kraus, NEC
Maciej Brodowicz, University of Huston
Leslie Hart, NOAA/FSLL
Thom McMahon, MSU
Rajeev Thakur, Argonne
Pang Chen, Sandia
Tyce McLarty, LANL
Juan Leon, PSC
David Taylor, Thinking Machines
Laurie Castello, Cray
David DiNucci, MRJ/NASA Ames
Anna Rounbehler, Sky Computer
Rajesh Bordawekar, Caltech
Albert Cheng, NCSA
Manuel Ujaldon, Univ. of Maryland
MaryDell Tholburn, LANL
James Cownie, Dolphin