[PVFS2-developers] data distributions
Walter B. Ligon III
walt at clemson.edu
Mon Jun 21 11:34:58 EDT 2004
I'll try to answer below.
> Hi Guys,
> I've been looking into the distributions and how they are used in PVFS2.
> >From what I've found, just before a read/write the client issues a getattr
> with the PVFS_ATTR_META_DIST and PVFS_ATTR_META_DFILES attributes set
> (among others). If this information isn't in the cache, then it asks the
> server for the information. Upon return of the getattr request the client
> decodes the dfiles array (which consists of 1 dfile per iod the file
> exists on I think?) and the distribution name and params (from which it
> can do a lookup for the rest of the distribution information). The client
> then uses this information to perform read and write calls.
> My questions:
> 1) Is this more or less correct?
> 2) It appears that the meta server does not return different dfiles or
> distribution information depending on whether it is a read or write? Same
> getattr result either way. Is this true?
> 3) It appears that the distribution information does not depend on the
> offset or extent of the read or write, but the client figures these things
> out for itself (without contacting the meta server). Is this true as
The distribution module is responsible for taking the set of dfiles and the
offset/extent, and converting it into information specific to those bits.
How it does this depends entirely on how the distribution is designed.
For example, we are currently working on distributions that create redundant
copies of data, for FT/HA purposes, and while doing so we can direct different
clients to different copies of the data on the read if we choose to.
The lookup phase you have asked about simply gathers the relevant information
together, the process of munging all of that into specific data transfer
segments is done by the distribution code chosen for the file.
Dr. Walter B. Ligon III
More information about the PVFS2-developers