[saga-rg] Job states proposal

Christopher Smith csmith at platform.com
Thu Feb 16 07:05:15 CST 2006


Ok ... here's my proposal for modelling the SAGA job states.

There is a typical path through the states:

New --> Pending --> Running --> Finished

You could also submit with a hold, or put a Pending job on hold:

New --> Hold <--> Pending

You can suspend a job (and resume it):

Running <--> Suspended

The job can fail in execution:

Running --> Failed

And the job can be cancelled:

Running --> Cancelled
New --> Cancelled
Pending --> Cancelled
Suspended --> Cancelled

All states can go to "Unknown".

Let's not bother modelling User and System suspended and hold states,
pending some more experience and let's not bother with all the pre/post
states and file staging stuff pending experience and use cases, but see
below on extended states.

This model pretty much preserves what we had before (adding unknown, I
believe), and it represents the "basic" SAGA state model.

Now ... in order to have the ability to add states (say to support the BES
state model), we can define a class for JobState that contains the BaseState
(one of the enumerated states from above) and that has an ExtendedState
attribute defined as a vector of strings. The job can then represent some of
the extended states such as "Running PreExecution" or "Running StagingIn",
etc, etc. By using the attribute mechanism, coders can get started with SAGA
implementations now, and as we extend the state model according to
experience and use cases, we merely need to specify acceptable strings,
rather than change the underlying data structures.

My $0.02

-- Chris





More information about the saga-rg mailing list