
Morris, Johannes and all, Concerning the usage of GLUE 2.0 inside JSDL : +------------------------+ | List of requirements | +------------------------+ I propose following list, which is extracted from chapter 4 of the 'PGI chart of priorities for the detailed specification of PGI requirements' at http://forge.gridforum.org/sf/go/doc16156 : For JSDL (apart SPMD, MPI and Application profile) -------------------------------------------------- 100 : http://forge.gridforum.org/sf/wiki/do/viewPage/projects.pgi-wg/wiki/ReqJD3 The Job Description document MUST reference all grid entities in conformance to the GLUE specification 112 : http://forge.gridforum.org/sf/wiki/do/viewPage/projects.pgi-wg/wiki/ReqJD17 Job Description document should offer a clear separation between resource requirements and application requirements (for example: suggest to put memory information into resource), e.g. improving the JSDL specification in this context (if necessary) 115 : http://forge.gridforum.org/sf/wiki/do/viewPage/projects.pgi-wg/wiki/ReqJD20 It must be possible to specify hardware characteristics (e.g. in terms of a benchmark value) corresponding to the indicated performance numbers For JSDL SPMD and MPI --------------------- 108 : http://forge.gridforum.org/sf/wiki/do/viewPage/projects.pgi-wg/wiki/ReqJD13 Job Description comes with support for requesting multi-processor Activities (for example: threads/node, network topology, task/core mappings, multi-threading and such like). For JSDL Application Profile ---------------------------- 34 : http://forge.gridforum.org/sf/wiki/do/viewPage/projects.pgi-wg/wiki/ReqAR1 An easy way of launching applications or pre-configured /pre-installed software w/o specifying location details. Installed/pre-configured ones should be exposed as well as part of the resource description. The available software should be exposed through the service and in turn be requestable for resource/applications statements in JSDL. E.g. extending the JSDL with "pre-configured sw pieces" and/or "software libraries", e.g. global namespace of this applications might be beneficial as well. , etc. 35 : http://forge.gridforum.org/sf/wiki/do/viewPage/projects.pgi-wg/wiki/ReqAR2 Application management, for example: pre-installed applications, abstract notion of the application (i.e. specify w/o executable locations) 113 : http://forge.gridforum.org/sf/wiki/do/viewPage/projects.pgi-wg/wiki/ReqJD18 Job Description document should offer a new re-usable structure to describe an executable composed as folder and filename +------------------------------------+ | Detailed work on requirement 100 | +------------------------------------+ 100 : http://forge.gridforum.org/sf/wiki/do/viewPage/projects.pgi-wg/wiki/ReqJD3 The Job Description document MUST reference all grid entities in conformance to the GLUE specification Rationale --------- Figure 1 of the 'Job Submission Description Language (JSDL) Specification, Version 1.0' at http://www.ogf.org/documents/GFD.136.pdf] clearly shows that, in order to work correctly, a 'Superscheduler, or Broker, or …' has to match client requirements expressed in the JSDL document to information provided by a Grid Information System. Therefore, it is essential that client requirements on entities described by GLUE use only GLUE classes and attributes. For XML purposes, I propose to use the 'glue' namespace specified at http://schemas.ggf.org/glue/2008/05/spec_2.0_d42_r01 JSDL elements clearly incompatible with GLUE 2.0 ------------------------------------------------ Searching for JSDL elements clearly incompatible with GLUE 2.0 at http://www.ogf.org/documents/GFD.147.pdf I have found following ones (but careful study by other persons could perhaps find other ones) : - JSDL 'ProcessorArchitectureEnumeration' specified in JSDL section 5.2.1 and used by the 'CPUArchitectureName' element specified in JSDL section 6.4.15 : The corresponding GLUE 2.0 enumeration is 'Platform_t' specified in GLUE 2.0 appendix B.26. While some JSDL values (such as 'powerpc' and 'sparc') match GLUE 2.0 values, some other JSDL values (such as 'x86_64', 'x86_32' and 'ia64') do NOT match GLUE 2.0 values (which are respectively 'amd64', 'i386' and 'itanium'). Therefore, I propose to deprecate JSDL 'ProcessorArchitectureEnumeration' and replace it with GLUE 2.0 'Platform_t' enumeration (for XML, inside the above described 'glue' namespace). - JSDL 'OperatingSystemTypeEnumeration' specified in JSDL section 5.2.3 and used by the 'OperatingSystemName' element specified in JSDL section 6.4.12 :\\ The corresponding GLUE 2.0 enumerations are 'OSFamily_t' specified in GLUE 2.0 appendix B.23 and 'OSName_t' specified in GLUE 2.0 appendix B.24.\\ GLUE 2.0 permits the client to specify the desired OS either through a vague requirement ('OSFamily' attribute) or through a precise requirement ('OSName' attribute).\\ Therefore, I propose to deprecate JSDL 'OperatingSystemTypeEnumeration' and replace it with the GLUE 2.0 'OSFamily_t' and 'OSName_t' enumerations (for XML, inside the above described 'glue' namespace). Practical usage of the 2 previous proposals permitting backward compatibility should be easily achieved using the JSDL 'other' value as described in JSDL section 4.3 'Semantics of the JSDL “other” Value'. Please study and criticize the above proposals. Do not hesitate to add comments and suggestions for improvements at http://forge.gridforum.org/sf/wiki/do/viewPage/projects.pgi-wg/wiki/ReqJD3 Best regards. ----------------------------------------------------- Etienne URBAH LAL, Univ Paris-Sud, IN2P3/CNRS Bat 200 91898 ORSAY France Tel: +33 1 64 46 84 87 Skype: etienne.urbah Mob: +33 6 22 30 53 27 mailto:urbah@lal.in2p3.fr -----------------------------------------------------