Subject: re: additional I/O functionality

From: [email-masked]
Date: Wed, 6 May 92 10:07:24 CDT

Fortran already has a fairly complete set of I/O operations. 
  We shouldn't mess with those operations unless we have a *really* good reason.
  The files that are written should be no different in form from files written
  by a conventional sequential Fortran program.

  Vendors are, of course, free to provide additional I/O libraries as they
  see fit.   (With whatever weird, contorted, fast, scheme they choose.)

  In the minutes of the March HPFF meeting Chuck recorded that I ``opined
  that parallel IO is not needed, users can roll-their-own like they do now''.
  What I actually said is that I don't think that we should add new semantics
  to Fortran for parallel I/O, in part because the issue seems to be highly
  vendor-dependent, and in any case, if extra performance is available, we
  will see I/O libraries.  I could be wrong !

In the language of Arrays, Templates, Distributions, and Processors,
what can be said to assist I/O ?

In terms of device access:

  I see two classes of systems: those in which the I/O capability is
  and is not symmetrically available to all processors (small p).
  Where ``symmetric'' is used in terms of performance, not functionality.
  A symmetric example: a CM2 system in which the DV is equally visible to
  all processors ``at the other end'' of an I/O bus.  An asymmetric example:
  an iPSC/860 system in which not necessarily all processors have disks.

  Can we provide information to the HPF compiler about I/O characteristics
  of a system that the binary that it creates will run on ?  In current HPF
  terms this should be in terms of specific Processor(s) to processor(s)
  bindings.  If the compile-time hints turn out to be wrong the program shouldn't
  fail..

  Have a class of predefined distribution models that will optimize I/O performance 
  on whatever system they are used ?  (As with default distributions, the exact
  mapping would be left to the implementation.)

In terms of extending the semantics of external storage:

  Local vs global files ?  (See (a)symmetric note above.)

  Files with an implicit distribution ? => not (necessarily) readable
                                           by a non-HPF program

Peter