[saga-rg] proposal for extended file IO
John Shalf
jshalf at lbl.gov
Tue Jun 14 15:54:49 CDT 2005
On Jun 14, 2005, at 10:45 AM, Andre Merzky wrote:
> readv is more posix like, and more generic. It always works
> if you are on read level (e.g. HDF5 VFD layer ;-).
>
> eread is more powerful: it allows applicatoin specific
> optimization which is not achievable with readv (the size of
> the iovecs in the read request is double of the size of the
> data returned!).
OK,
I think we have both arrived at the same overall conclusion. I think
eRead would be useful as a way to package an underlying complex service
for implementing remote data requests. One must be able to extend the
services on both the client and the server side to provide new e-modes
to the user that implement these services. The vector read ops (not
necessarily readv/pread, but perhaps something similar that describes
patterned reads in a compact form, would be useful for other
application use cases where we are are not permitted (or have no
desire) touch or extend the remote service. I think readv/pread is a
bit *too* restrictive, but we should have some similarly compact set of
read ops that allow for gather/scatter type remote operations that do
not require the service be installed on both ends (eg. just client
side) in addition to an eRead() interface for access to two-sided
services.
So I guess we have a need to do both.
For a suitable vread alternative, it would be useful to have something
like
read_pattern(descriptor,buffer,int nlogicaldims,int
logicaldims[],offset[],block[],stride[]);
to specify a patterned operation. The list of iovecs[] can be used for
gather operations that cannot be encoded as a regular pattern.
-john
More information about the saga-rg
mailing list