[Swift-devel] plug points

Ben Clifford benc at hawaga.org.uk
Sun Apr 29 11:00:54 CDT 2007


There are a number of places in swift where the 'core' production code 
needs to interface with other code.

The most obvious of these is the interface for non-core mappers.

Other places seem to be:

  * job submission - whilst the rhetoric says 'we will use GRAM', its been 
the case that we have used at least PBS and DeeF internally for some 
projects that are not part of the core swift code; so it seems likely that 
we should write down (and tidy up if necessary) the interface for plugging 
in different job submission systems. I mostly know how PBS was connected 
to Swift. I have no idea how DeeF was, and it would perhaps be 
enlightening if someone would briefly describe how.

  * site selection - at least one group (the UBA people) have in part 
neglected using swift because I haven't given them an answer about how to 
do custom site selection.

It seems to me that we should formalise (to a lesser or greater extent) 
how to plug thing in to the above interfaces - perhaps just a couple of 
paragraphs on the recommended API, perhaps more. This is in part done for 
mappers, in the tutorial.

At present, additions happen through a range of source level hacks - for 
example, the mapper tutorial suggests as a final step 'now recompile Swift 
to make your mapper work'; and there's a lookup table that PBS was 
added to recently, despite not being a supported submission mechanism.

The presence of a couple of pieces of hacked on cruft like this is not 
really a problem; but its not good in the long term - it makes the 
codebase as a whole less coherent, and confuses the Swift production code 
with other (related but not the same) projects.

So one of the things I want to do, though not as a high priority, is 
document the above and make them more coherent/sensible if necessary.

-- 



More information about the Swift-devel mailing list