
Hello, I have been reading the JSDL specification, and I have a few questions about it. 1) I want to make sure that I understand "support" and "satisfy" as defined on page 7. If a system can parse a JSDL document, then it supports it, and if it can do everything requested by the JSDL document, then it satisfied it. Is that correct? 2) Just to make sure I understand support, when it says "The JSDL core element set contains the semantics for elements that are defined by JSDL 1.0. All elements MUST be supported by JSDL 1.0 compliant consuming systems.", that simply means that they need to be parsed, not that the need to be accepted, correct? 3) ApplicationName identifies the executable. I don't understand where the executable comes from. Do we expect that the underlying system can figure out which program to run from the name and version, and that it is pre-staged? Can applications bring their executable with them by staging it? Am I supposed to use the POSIXApplication element? I'm confused how this fits together. 3) When I specify the operating system: how do I specify linux version? Kernel version? Distro + version? Is it dependent on the underlying system? 3) IndividualCPUCount allows me to specify a range in terms of double: what does this mean? For example, if I specify that I want 3.14 CPUs, it's a legal specification, but I don't know what it means. Ditto for IndividualPhysicalMemory and IndividualVirtualMemory and IndividualDiskSpace. 3) I don't undersatnd IndividualNetworkBandwidth: bandwidth to where? Does this refer just to the local NIC? What if there are multiple NICs? 4) I'm confused how IndividualDiskSpace interacts with the filesystem element. The FileSystem element specifies how much disk space is needed on a particular file system: the IndividualDiskSpace says something about disk space, but not about where the disk space is located. Which disk space is it? What does it mean if I specify a FileSystem and IndividualDiskSpace? 5) I don't understand the difference between IndividualCPUCount and TotalCPUCount. Can I think of it as the number of CPUs on a single node, and the total number needed across all nodes? Or does it mean something different? 6) When I stage files, the destination might be a filesystem on NFS. If I'm running many jobs at the same time, the files might clobber each other unless I give the files unique names: is the user responsible for doing so, or is there some way to specify a unique identifier in the file name? For example, in Condor I can say something like File.$(Process) to get a unique filename based on the job id. Thanks for any assistance in understanding! -alain