(j3.2006) Inter-program communication using I/O statements
Robert W. Numrich
Thu Jun 5 13:07:39 EDT 2008
> 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 "http://192.168.50.250:7237".
Many years ago, rather tongue-in-cheek, I suggested that something lke this
could be done with co-arrays:
x = y["http://192.168.50.250:7237"]
I never followed it far enough to see what it might actually mean.
> If the FILE= specifier isn't good enough, the standard could provide
> another specifier in the OPEN statement that is for sending extra info
> to the RTL, with no defined semantics. Its value should be a character
> string. Processors could do what they want with it, including setting
> up broadcasts.
> Assuming one has a processor-dependent routine to form a cluster, one
> could do something like
> character(len=:), allocatable :: Cluster(:)
> integer :: WhoAmI ! Index of me in Cluster after forming the cluster
> call form_cluster ( cluster, whoAmI )
> do concurrent ( integer :: i = 1, size(cluster) )
> open ( 100+i, file=cluster(whoAmI), &
> & action=merge('read ', 'write', i==whoAmI) )
> end do
> Then Q can communicate with P using I/O statements for unit 100+P,
> including unformatted asynchronous I/O.
> This seems to be much easier than MPI, especially when one needs to send
> a structure. It also seems simpler than worrying about how to cheat the
> optimizer. The machinery we put in place for ASYNCHRONOUS already does
> that, so we shouldn't need to invent another way to do it.
> Van Snyder | What fraction of Americans believe
> Van.Snyder at jpl.nasa.gov | Wrestling is real and NASA is fake?
> Any alleged opinions are my own and have not been approved or
> disapproved by JPL, CalTech, NASA, the President, or anybody else.
> J3 mailing list
> J3 at j3-fortran.org
Robert W. Numrich, PhD
Senior Research Associate
Minnesota Supercomputing Institute
465 Walter Library
117 Pleasant Street SE
Minneapolis, MN 55455
More information about the J3