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

Robert W. Numrich rwn
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.

			-bob

> 
> 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
> http://j3-fortran.org/mailman/listinfo/j3

-- 

			-bob numrich

--
Robert W. Numrich, PhD
Senior Research Associate
Minnesota Supercomputing Institute
465 Walter Library
117 Pleasant Street SE
Minneapolis, MN 55455

Tel:  612-624-4341



More information about the J3 mailing list