application abstraction in JSDL (fwd)

Fwding bounced mail... -- ---------------------------------------------------- |epcc| - Ali Anjomshoaa EPCC, University of Edinburgh James Clerk Maxwell Building Mayfield Road E-mail: ali@epcc.ed.ac.uk Edinburgh EH9 3JZ Phone: + 44 (0) 131 651 3388 United Kingdom Fax: + 44 (0) 131 650 6555 ------------------------------------------------------------- ---------- Forwarded message ---------- Date: Thu, 25 Nov 2004 12:15:10 +0300 From: "Lukichev, Alexander S" <alexander.s.lukichev@intel.com> To: jsdl-wg@gridforum.org Cc: "Ratering, Ralf" <ralf.ratering@intel.com>, "Kentemich, Thomas" <thomas.kentemich@intel.com>, "Petrov, Dmitry N" <dmitry.n.petrov@intel.com>, "Odintsov, Igor O" <igor.o.odintsov@intel.com> Subject: application abstraction in JSDL Hi, Our team is currently develops an application that will use JSDL documents as input to invoke jobs in a distributed system. I'd like to comment if possible some aspects of the latest JSDL schema. Currently to describe the job to run you can specify: a) executable name b) arguments c) environment variables This could be not enough configurable because executables can reside at different places on the different systems, arguments can be passed in different ways to close applications on different systems, etc. Thus JSDL contains pretty enough information for locating the suitable server, the located server could fail to run the requested application because of lack of configuration information. We can look at the UNICORE experience and try to configure the particular applications using the following entities: a) fields (i.e. partucular file names, argument values, e.g. "source=a.c", "size=1234") b) options (i.e. names for common modes of application work; though setting this mode could differ from system to system, e.g. "debug=on" results in passing "-g" to some compilers) c) contexts (modes for application invocations, e.g. "profiliration") d) variations (variations of expected results, e.g. "overwrite" for file operations) It would be nice if some kind of such specification (probably with another entities but with the idea of abstraction of application) is described in the JSDL spec. Thanks. Alexander

Ali Anjomshoaa wrote:
Fwding bounced mail...
(Alexander, if you're going to be writing much about this, please join the mailing list; it simplifies things greatly.) "Lukichev, Alexander S" <alexander.s.lukichev@intel.com>
Our team is currently develops an application that will use JSDL documents as input to invoke jobs in a distributed system. I'd like to comment if possible some aspects of the latest JSDL schema.
When you say "latest schema", is this pre- or post- the recent work done at the face-to-face meeting? It is my impression that many of these issues you raise were actually addressed there... :^) FYI, you should refer to the document at https://forge.gridforum.org/docman2/ViewCategory.php?group_id=122&category_id=868 which I believe is the most recent version of the spec.
Currently to describe the job to run you can specify: a) executable name b) arguments c) environment variables
This could be not enough configurable because executables can reside at different places on the different systems, arguments can be passed in different ways to close applications on different systems, etc. Thus JSDL contains pretty enough information for locating the suitable server, the located server could fail to run the requested application because of lack of configuration information.
Actually, there is no need to specify the executable name at all. An alternative (that we would encourage people to use where possible) is the "application name", and that provides the necessary abstraction. We also support an extensible set of application "types" which will allow for a much more sophisticated range of behaviour.
We can look at the UNICORE experience and try to configure the particular applications using the following entities:
a) fields (i.e. partucular file names, argument values, e.g. "source=a.c", "size=1234")
I see this as being a different interpretation on the Argument element (which would require using a non-JSDL type for now, though this will make for a powerful thing to do once we've got JSDL 1.0 out of the door.)
b) options (i.e. names for common modes of application work; though setting this mode could differ from system to system, e.g. "debug=on" results in passing "-g" to some compilers) c) contexts (modes for application invocations, e.g. "profiliration")
Thess would be probably done with extension elements in the Application element (unless of course they are more like Resources, when they'd go somewhere else). Anyone else want to comment?
d) variations (variations of expected results, e.g. "overwrite" for file operations)
I don't currently see how the current DataStaging element's CreationFlag and DeleteOnTermination sub-elements are insufficient. Please explain further.
It would be nice if some kind of such specification (probably with another entities but with the idea of abstraction of application) is described in the JSDL spec.
I believe it is. Aside from the very standard kinds of execution scheme (like "run this executable") we also have some more sophisticated ideas like mechanisms for invokation of Java programs, running of SQL queries or even invokation of webservices. However, one of the things we still need to do is to fill out the (non-normative?) specification of how these things will be done. Hope this helps. Donal.
participants (2)
-
Ali Anjomshoaa
-
Donal K. Fellows