(j3.2006) Inter-program communication using I/O statements

Bill Long longb
Fri Jun 6 16:23:10 EDT 2008

Van Snyder wrote:
> This brings to mind, however, another possibility:
> Processors could interpret the FILE= specifier in an OPEN statement and
> decide to open a connection that would work between programs on a SMP
> computer (maybe using a FIFO), or node-to-node in a cluster (maybe using
> MPI), or between workstations in Chile and Antarctica (maybe using
> SMTP).  The processor could use whatever transport method it liked,
> perhaps choosing a different transport method depending upon the
> relationship between the guy doing the opening and what is being opened.
> Some processors might let the user control which transport is selected
> using an environment variable.  Others might encode it in the FILE=
> string, say "".

The form of a file name is "processor dependent", and the description of 
an external file is quite abstract.  Basically, it's any place outside 
the storage occupied by the program's variables that you can transfer 
values to and/or from.  Is there anything in the standard that would 
prevent an implementation from supporting this sort of file name and the 
associated semantics?  Processors already use different transport 
methods depending, for example with disk files, whether they are memory 
resident, on a local disk, nfs mounted, part of a lustre file system, 
... .  I recall that with DECnet you could access files on other systems 
(perhaps in Chile or Antarctica) by just tacking node_name:: to the 
front of the remote file's name in the OPEN statement.  This is an 
interesting solution to the problem you raised, but I don't see its 
implementation requiring any changes to the wording in the standard.


Bill Long                                   longb at cray.com
Fortran Technical Support    &              voice: 651-605-9024
Bioinformatics Software Development         fax:   651-605-9142
Cray Inc., 1340 Mendota Heights Rd., Mendota Heights, MN, 55120


More information about the J3 mailing list