[Swift-devel] a couple of file staging management ideas in the next 3 months

Mihael Hategan hategan at mcs.anl.gov
Tue Dec 2 14:48:19 CST 2008


I'm a bit fuzzy on the kind of generic changes that would facilitate the
move to Falkon. I'd rather like to see the concrete things that are
needed.

On Tue, 2008-12-02 at 19:55 +0000, Ben Clifford wrote:
> Here are a couple of ideas that might be useful to implement over the next 
> three months.
> 
> This is intended to be read in context of two previous notes documenting 
> what I think is the abstract model that SwiftScript provides, and the 
> present Swift implementation of that.
> 
> These notes refer to changes that could reasonably be made to the 
> production Swift in the next ~3 months, to both facilitate the 
> experimental side of things (i.e. Falkon) and to broaden the range of 
> sites which Swift could be used on in production (i.e. gLite).
> 
> Specifically, they are not intended discuss approaches to architecting 
> Falkon, other than to discuss how approaches in Falkon might be coherently 
> interfaced to Swift.
> 
> Two distinct approaches (which are complimentary and could both 
> implemented) seem feasible to implement in the next two months and 
> interesting at the Swift layer (in as much as they facilitate ongoing 
> work):
> 
>  * change wrapper.sh to access the shared filesystem in various
>    selectable/configurable/pluggable ways; keep everything else the same.
> 
>    So, this changes the requirement that wrapper.sh have posix access to
>    the site cache into a requirement that there is command-line scriptable
>    access to the site cache.
> 
>    This would facilitate gLite's model of no posix access to the site
>    storage system without radically changing architecture. Some OSG users 
>    have suggested that this is desirable on OSG.
> 
>  * Fiddle with the abstraction at the execute2 layer
> 
>    execute2 is a routine in the Swift library that selects a site,
>    and then causes stagein to site shared directory, execution on the
>    remote site, and stageout from that site to occur.
> 
>    This layer could be adjusted so the sequence: stagein/execute/stageout
>    is pluggable. By default the exist implementation would be used; but it
>    would allow other code to be plugged in that could replace both the
>    existing client site stagein/execute/stageout code and the remote
>    wrapper.sh code. This would facilitate running in environments where
>    the same underlying layer wants to do both data management and
>    execution management (such as falkon)
> 
>    In the falkon case, what is now provider-deef would plug in at this
>    level and offload all staging responsibility from core Swift.
> 




More information about the Swift-devel mailing list