GridLab
Grid Application Toolkit

A simple API for Grid Applications
GAT

Menu



next up previous contents
Next: Examining Jobs Up: Job Management Previous: Job Management   Contents

Creating and Destroying Jobs

To create a Job is a bit more involved then creating other GAT instances; in creating a Job you must take at least two steps back before you can take one forward. To create a Job you must first create a JobDescription. To create a JobDescription you have to create a SoftwareDescription, describing the software the job will run, and a ResourceDescription, describing the hardware the job will run on.

Creating a SoftwareDescription is rather straight forward. One simply has to describe a bit of software, then package up this description in a manner GAT can grok. In the case of a SoftwareDescription GAT grocks name value paris. One creates a Table containing a set of name/value pairs, the universe of names and values are specified in the GAT API specification, describing the software one wishes to run, then one uses this Table to construct a SoftwareDescription. A similar story is also true for creating a ResourceDescription. A ResourceDescription is also constructed with a set of name/value pairs, the universe of which are specified in the GAT API specification. With these two descriptions described we can move on to the final description, JobDescription.

As everybody knows, except for Fred who's always sleeping in the back of the classroom, to run a job you need to specify the software to run and what hardware to run it on. So, to create a JobDescription you need to specify a description of the software you need to run and a description of the resource you need to run it on. Cunningly, you describe the software with a SoftwareDescription and the resource with a ResourceDescription. With an instance of a SoftwareDescription in your left hand and an instance of a ResourceDescription in your right you can create a JobDescription lickety-split by just passing both of these to the JobDescription constructor.

Finally, the destination is in sight we can create a Job by passing a JobDescription to the function SubmitJob on a ResourceBroker instance. Destroying in much simpler, simply call Destroy on the Job.


next up previous contents
Next: Examining Jobs Up: Job Management Previous: Job Management   Contents
Andre Merzky 2004-05-13