[Pvfs2-developers] Distribution by hostname

Sam Lang slang at mcs.anl.gov
Tue Oct 10 15:44:31 EDT 2006


On Oct 10, 2006, at 2:18 PM, Bradley W Settlemyer wrote:

>
> Sam Lang wrote:
>
>> What are the benefits of those functions over something like:
>> PVFS_sys_dist_set_param(..., "io-server-mapping", &server_map);
>> I dislike the idea of adding interfaces that won't get much use,  
>> esp if we already have a generic mechanism for doing the same.
>> -sam
>
> Just so we're all clear on what was intended with that interface,  
> the idea is that distributions can overload the behaviour of the  
> underlying parameter setter.

The distribution _is_ the underlying parameter setter.  In the case  
of the simple stripe, if the strip-size wasn't provided with  
setparam, its the simple-stripe code that chooses the default.  The  
user of the system interfaces can overload that default, but the rest  
of the pvfs code doesn't know anything about it.

I don't want to go round and round with this, I'm just trying to keep  
things as user friendly as possible.  There's a clear design built  
into distributions: they're opaque to everyone but the distribution  
methods.  If possible, I think it would be good to keep it that way  
(just imagine how fun the request processing code would be if it  
accessed distribution fields directly).  As for the  
PVFS_sys_dist_setparam call, the way we use it in our code today is  
in setting the strip-size on the simple stripe distribution (from  
outside the system interfaces).  Setting a server list or number of  
servers via that call doesn't seem like its much of a stretch.

>
> For example, in the default provided functions, I checked the data  
> for overrun of the distribution data type, but it doesn't have any  
> support for an underfilled data type (for example, if an int is set  
> into an int64, that's probably going to lead to 32 bits of random  
> junk in the distribution parameter).  But that will work fine  
> (though perhaps precariously) for the default simple-stripe  
> distribution.

Yeah static type checking is lost with the void *. but is it worth  
adding rather specific interfaces to avoid that?

>
> The varstrip guys provided a parameter setter that parsed some a  
> string format.  So the current model is that each distribution  
> provides its own string format.  I'm not sure whether that's really  
> the best approach or not.

I view the underlying storage of the parameters and the interfaces to  
those parameters to be orthogonal.  Storing them as strings probably  
makes sense.  Making the caller sprintf into a string to create them  
doesn't (even if that's what's mpich does :-)).

-sam

>
> Cheers,
> brad
>



More information about the Pvfs2-developers mailing list