|
Comment: |
- The JSDL range element already permits to express a flexible requirement on any value inside a contiguous interval of numbers.
- By comparison, the 'OR' relational operator is necessary to express a flexible requirement on :
1) Numbers which do NOT form a contiguous interval,
2) Attributes for which the several possible values have NOT been grouped into a dedicated group value,
3) Heterogeneous attributes.
Examples using GLUE 2.0 terminology from http://www.ogf.org/documents/GFD.147.pdf (in particular sections B.23 and B.24) :
1) My application has multi-threading optimized for ExecutionEnvironment.LogicalCPUs = 4, 8, 16, 32 or 64, but other values are NOT interesting.
2) My application is validated on operating systems based on Red Hat, but is known to fail on Debian. So, I can NOT specify ExecutionEnvironment.
OSFamily = 'linux'. I would like to specify ExecutionEnvironment.OSFamily = 'redhatfamily', but this has NOT been standardized yet, and I can NOT
rely on it. Therefore, I have to specify precisely ExecutionEnvironment.OSName = 'fedoracore' OR 'redhatenterpriseas' OR 'scientificlinux' OR
'scientificlinuxcern'.
3) My application, which is parallelized, will run most effectively on resources having many cores on the same machine, but will automatically use
MPI and provide correct results on resources having a fast bus :
-- ComputingShare.MaxSlotsPerJob >= 16
-- ExecutionEnvironment.LogicalCPUs >= 16 OR ExecutionEnvironment.NetworkInfo = 'infiniband' OR ExecutionEnvironment.NetworkInfo = 'myrinet'.
- This 'OR Relational Operator' is effectively included in 'Conditional Requirements', but is much easier and quicker to agree on, to specify and to
implement. Therefore, I would like to keep it in a separate tracker artifact leading to a quick JSDL profile.
|