|--------------------|.............|-----------------|
contiguous hole contiguous
If there isn't enough memory to read this entire filetype at once,
then reading it in parts would require some care in setting and
changing the view.
Any comments from others on this topic?
Rajeev
Date: Tue, 11 Mar 1997 17:33:07 -0800
From: Bill Nitzberg <nitzberg@nas.nasa.gov>
Ian Stockdale wrote:
> As an example, I'd suggest that that the data access routines
> be required to manipulate data in multiples of whole filetypes. This
> would make these routines easier to implement. This would also
> simplify the user interface, and does not appear to remove any useful
> functionality.
Rajeev Thakur wrote:
> I think this would be a big change though. For one, it would make the
> concept of etype redundant, because of which we would have to revisit
> many definitions.
> ...
> If accesses are restricted to multiples of filetype, then filetype
> effectively becomes the etype, or vice-versa. Or am I missing
> something?
In considering this change, we should ask two questions:
1. Is this a technically good idea?
2. How big a change is it?
I can't recall what purpose separating the "etype" and "filetype"
serves in the current draft---it may simply be an artifact of evolution.
Without commenting further on the 1st question, let me address the 2nd:
There are basically 3 types of changes which would have to be made.
a. Delete references to "etype" and change to "filetype"
- modify 10.1 introductory text regarding "filetype" and "view"
- delete "etype" arg to FILE_SET_VIEW
- change a few other occurances of "etype" to "filetype"
b. Change offset from count of "etypes" to count of "filetypes"
- 10.1 Introduction: definition of "offset"
- 10.4.1 Introduction: Positioning: file pointer updates
- 10.4.2 {READ|WRITE}_EXPLICIT sentence defining "offset"
- 10.4.3/.4 Seek & Get_Position: sentence defining "offset"
c. FILE_SET_VIEW:
- Change text:
"the typemap of \mpiarg{etype} must be identical
on all processes in the group; values for \mpiarg{disp},
\mpiarg{filetype}, and \mpiarg{info} may vary."
to:
"values for \mpiarg{disp} and the datatype extents of the
\mpiarg{filetype}s must be identical on all processes in
the group; values for \mpiarg{info} may vary."
Item "a." is a minor change.
How big are items "b." and "c."?
NB: We may want to add the new text in item "c." above regardless
of whether we remove "etype"s or not. Without requiring "disp"
to be identical, two processes could define a view of
etype==filetype==MPI_REAL, one with byte displacement 1,
and the other with byte displacement 2---not exactly what we
originally intended.
- bill