
Hi All, That's me again. Please find another portion of questions and comments concerning the latest versions of JSDL specification and schema. These issues arisen mainly when we were trying to map JSDL to other job description languages. 1. In one of my previous emails I asked about specification of a directory in the DataStaging element and I got the answer that this is possible. Therefore, in my opinion, what we need is the attribute which distinguishes between regular file and a directory. I think that a scheduler may often need this knowledge to perform data staging (e.g. it may have to know whether a given logical name is the name of file or directory in order to call appropriate methods of a data management system). 2. I guess the NetworkBandwidth element defines the maximal bandwidth of the networking interface for a given resource. Such a metric is rather useless in a resource selection process because indeed only the actual bandwith between two nodes is really important. So didn't you think about the element defining bandwith between two nodes, e.g. containing an attribute to specify the second node? 3. Some time ago we discussed defining of software dependencies, e.g. necessary libraries etc. and I sent some simple use-cases. I do not see this element in the spec. Have you come to the conclusion that this is not general enough? 4. What is the meaning of the "other" value in the list of OSs, processor architectures etc.? Does it mean that (i) a scheduler has to select resources limited to those having OS OTHER than the remaining OSs from the list or (ii) that a certain OS, not included in the list, is required and its exact name is included in an additional element (which one?). In my opinion the latter is more rational (actually I don't see any use case for the former) but, if so, how this OS should be specified - using the Description element, extension? 5. The next question is related to the semantics of resource requirements in JSDL. Are resource requirements limited to required amounts of resources available for user's application (e.g. free CPUs, free memory etc.) in a given point of time or they also enable a user to specify required total amounts of resources (e.g. total number of CPUs, total virtual memory etc.)? Of course the former (dynamic) values are much more important during resource selection, however, information about some of them may not be available in all grid environments. Anyway this distinction must be clearly defined. 6. I see that units and operators attributes disappeared from the schema. I understand that operators can be expressed using RangeValueType and units are defined in the specification now? 7. It is not clear for me what is the difference between Range elements and Upper/LowerBoundedRange in the RangeValueType. Sorry if it has been already explained elsewhere. 8. I cannot find a way to specify a type of application in terms of its architecture (single, mpi etc.). I suppose that you consider it as too specific and as a possible extension or maybe this is an oversight? Thanks, Ariel

Hi Ariel, thanks for your questions, I'll try to answer some below: On 29 Apr 2005, at 14:42, Ariel Oleksiak wrote:
6. I see that units and operators attributes disappeared from the schema. I understand that operators can be expressed using RangeValueType and units are defined in the specification now?
Yes, units have perished. Elements that define values such as, say jsdl:PhysicalMemory, have implicit units. In this example, jsdl:PhysicalMemory, the unit is simply "byte". (Bear in mind that JSDL instance documents are supposed to be primarily written using some application or tool, not manually by a user, so "beauty" or "syntactic sugar" is not an issue.)
7. It is not clear for me what is the difference between Range elements and Upper/LowerBoundedRange in the RangeValueType. Sorry if it has been already explained elsewhere.
A jsdl:Range element always specifies intervals with its lower and upper boundary. The optional attribute "exclusiveBound" on the boundaries make them exclusive (inclusive is the default). It allows you to define intervals whose boundary declarations are included in the interval or not. Upper/LowerBoundedRange allows to define right-open or left-open intervals, respectively. You simply define the lower or the upper boundary of the interval. The unspecified boundary is assumed to be positive infinity or negative infinity (effectively limited by the consuming system's capabilities). This way, you can specify inclusive intervals, right-open intervals, left-open intervals and exclusive intervals.
8. I cannot find a way to specify a type of application in terms of its architecture (single, mpi etc.). I suppose that you consider it as too specific and as a possible extension or maybe this is an oversight?
Yes, that's right. JSDL expects user-defined extensions here, following the lead of the normative extension for POSIX applications. At a later stage, popular user-defined extensions may be merited to normative extensions in later versions of JSDL. Cheers, Michel
participants (2)
-
Ariel Oleksiak
-
Michel Drescher