Next: Organization of this
Up: Journal of Development
Previous: Elemental Reference of
HPF is primarily designed to obtain high performance on massively
parallel computers. Such massively parallel machines also need
massively parallel input and output. Accordingly, there were three major proposals
to include explicitly parallel I/O features in HPF, as well as several
minor variations on the same theme. After much debate, HPFF voted not to include I/O extensions in the first version of HPF.
Arguments for this position included:
- The diversity of current parallel I/O systems does not suggest any
portable abstraction of I/O useful in a language model.
- Fortran I/O is already highly expressive.
- The HPF compiler can optimize the I/O when
writing distributed arrays without any extensions to the source language.
- The management of distributed files (and their implementation) is a matter for the operating system, not the language.
Moreover the current lack of extensions does not limit features
that may be added by system vendors. In particular:
- Vendors are allowed to implement any I/O extensions to the
language they may wish. Indeed this would be impossible to prevent.
There are simply no special I/O mechanisms mandated by HPF.
- The HPF run-time system may use whatever facilities the
operating system provides for accessing ``high performance'' files,
though the HPF language contains no I/O extensions that specifically
describe such access.