UWS 1.0 suggestions
Petr Skoda
skoda at sunstel.asu.cas.cz
Sat Nov 21 11:32:48 PST 2009
Hi all,
I hope that the UWS RFC will be extended still to have time make clear
some of the not-so-obvious issues. During the implementation phase we
may still get some ideas and improvements worth of its standardization.
Having look at the
http://www.ivoa.net/Documents/UWS/20090909/PR-UWS-1.0-20090909.html
I have found errors in section 2.2.2.2 and appendix B
in both cases there is typo "xlmns" instead of "xmlns"
The xsd on the http://www.ivoa.net/xml/UWS/v1.0 is syntactically OK.
Now about some suggestions:
We try to use the UWS pattern for allowing the people to do specific
computations using their datasets driven by some parametric files. So most
of the extensions given below are specific cases from our experience - we
wish to have the WWW browser as an only user interface to work with such a
system (uploading jobs, runing and braking them, reading results, reruning
with different parametrs, deleting, zipping, downloading the results,
sending the mails with results after disconnecting from the service
totally - we suppose the deployment in a distributed environment - using
the remote queues submission (e.g. grid engines like qsub...)
To facilitate the comfortable interaction between UWS service and web
browser (like a client front-end) it would be nice to describe the job by
more detailed tags that the client could use to present either in the
single job description (root-URI/jobs/jobid) and in jobs list
(root-URI/jobs).
The example of this is a name of user (although there is a "owner" in UML
schema and "ownerId" in the JobSummary tag - it may be e.g. full name of
the user) or a additional description of a particular job (e.g. in
computation of stellar models, the name of a star and additional
description like method of computation and some remarks ...
This simply the user enters into the web- based job creation form and
might be nice to keep this for housekeeping purposess e.g. on the list of
completed jobs as well as on detaild jobid info.
So the question is - how to extend the tags to allow some additional
information to embed with job (e,g, make the jobinfo an complexType ?)
Then when the service returns jobs list - the element "jobs" - it is now
said it returns "uws:ShortJobsDescription" but is is in fact only
the "phase" plus JobIdentifier. Why not return the whole "JobSummary" and
let the client to extract the information neccessary for displaing nice
job roaster (e.g. using xslt style sheet) ?
And still there seems the issue of paging of long list of jobs...
Here we see the solution to let the client ask either for list of active
jobs (e.g. root-URI/jobs?phase=executing ) or all (default
root-URI/jobs) or e.g those already completed etc ...
Simply it may be requested by the client to make the selection for
different purposes and so the server should do it and return what he
wants.
We can foresee the the usefullnes of such operation even without the
need for web client for e.g. telling the UWS servers by soem
administration application to list a jobs of particular user etc ...
In principle the joblist ia quite complex compject and so some
fine-grained information may be required to extract from it directly.
Another issue is the meaning of "quote"
Instead of using crystal ball to estimate when the job is expected to
finish, it would be better to have some idea of allowed priority on
different servers - like e.g. the nice value for different queues.
So if checking among servers i would use that with higher priority queue.
Bat again it may be on the client decision to modify this behaviour. E.g.
the higher priority queues might impose shorter Execution Duration.
And the concept of Descruction Time is unclear in the document as well.
We think that this should be the time when the results will be removed
from the storage space - but suppose you want to use the UWS server as
your "external notebook" of your work - e.g. in the concept of PDA-
supercomputing.
So many of your experiments are stored on the server and you decide to
rerun the particular one with different paramer sets but basically same
data sets(e.g. spectra, images ...) So its up to you what experiment will
be removed (if you go over quota you are not allowed the create new jobs).
However after some warning time the jobs will be removed anyway (maybe you
should receive some warning by the scheduler first to allow you to copy
the data).
Last issue concerns the possibility of restarting jobs with same datasets
but different control parameters. So the client (in a web browser) might
have the button for resubmitting the same computation with different
number of iterations (change of some control parametrs that may be
re-edited in a browser)
As the jobs is in fact described by its set of parameters it might be
possible to use the whole "job" element to change particular parametrs and
resubmit
We understand that the UWS is just describing the solution implemented on
Astrogrid - but lets thik about it as a universal pattern for future VO
services where part of them might have the complicated workflows and both
other automatic services and the users through web clients would like to
control them. Here the suggestions given above might make this interaction
easier and better controllable.
Petr Skoda and Jan Fuchs
*************************************************************************
* Petr Skoda Phone : +420-323-649201, ext. 361 *
* Stellar Department +420-323-620361 *
* Astronomical Institute AS CR Fax : +420-323-620250 *
* 251 65 Ondrejov e-mail: skoda at sunstel.asu.cas.cz *
* Czech Republic *
*************************************************************************
More information about the grid
mailing list