I/O Subcommittee Minutes: 3-6 September 1996

Bill Nitzberg (nitzberg@nas.nasa.gov)
Fri, 20 Sep 1996 16:17:26 -0700

Succinct I/O Subcommittee Minutes: 3-6 September 1996

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