RE: [drmaa-wg] corrections to api specification
Hi Greg, Andreas Haas, the SGE lead was looking for an active person to collaborate on the "C Bindings DRMAA 1.0 Specification" document, so your entry is very timely. Would you like to engage in such a process? Could you tell us what is the DRM system in question? BTW, few people have asked for a PBS DRMAA implementation in the past. Regards, -Hrabri -----Original Message----- From: owner-drmaa-wg@ggf.org [mailto:owner-drmaa-wg@ggf.org] On Behalf Of Greg Hewgill Sent: Thursday, November 18, 2004 11:19 AM To: drmaa-wg@ggf.org Subject: [drmaa-wg] corrections to api specification I am currently implementing a DRMAA interface on top of an existing job control system. I'm reading the document "C Bindings DRMAA 1.0 Specification document version 0.95" linked from http://drmaa.org. I have found a number of errors in this document: Interface header file: - The DRMAA_JOB_IDS_SESSION_ALL and DRMAA_JOB_IDS_SESSION_ANY definitions appear to be mixed up. The _ALL constant is defined to the _ANY string and vice versa. - The DRMAA_DURATION_HLIMIT and DRMAA_DURATION_SLIMIT constants have misspellings in their definitions ("durartion"). C binding example: - There are unnecessary semicolons after the first three #include directives. - A cut and paste error seems to have introduced two spurious lines including "drmaa-wg@gridforum.org" and a page number in the program text. This also caused an indent formatting error starting with "if (argc < 2)". - In the statement "for (i=0; I < NBULKS; i++)", I should be a lowercase i. - After the second call to create_job_template(), the error message refers to a create_sleeper_job_template() function. - In the statement "for (i=0; I JOB_CHUNK; i++)", the I should be lowercase and a less-than sign is missing. - In the "finished regularly" status message, a % is missing in the format specifier for exit status. In "Distributed Resource Management Application API Specification 1.0", I was also wondering about the definition of some of the job template allowed values. The drmaa_block_email attribute allows "0" or "1", while the drmaa_join_files attribute allows "y" or "n". Should these not be consistent? Greg Hewgill
On Thu, 18 Nov 2004 09:49:38 -0800, Rajic, Hrabri <hrabri.rajic@intel.com> wrote:
Andreas Haas, the SGE lead was looking for an active person to collaborate on the "C Bindings DRMAA 1.0 Specification" document, so your entry is very timely. Would you like to engage in such a process?
Sure, I'd be happy to help. I also plan to implement the Java language bindings.
Could you tell us what is the DRM system in question? BTW, few people have asked for a PBS DRMAA implementation in the past.
This is for the United Devices Grid MP product. I also think that a reference stub implementation, that has no dependency on any actual grid system and just runs everything locally, would be useful for prototyping. Greg Hewgill
Outstanding! Just give me a couple of weeks to get the next version out. We also should talk about what you mean by "implement," i.e. from scratch or only the SPI. (The Java language binding is divided into two parts. The API should only need to be implemented once. The SPI needs to be implemented for every DRM.) I agree fully with the local implementation idea. It would be relatively easy to write some simple fork and exec version of the DRMAA functions. I've thought about it often, but never had the time. Daniel Greg Hewgill wrote:
On Thu, 18 Nov 2004 09:49:38 -0800, Rajic, Hrabri <hrabri.rajic@intel.com> wrote:
Andreas Haas, the SGE lead was looking for an active person to collaborate on the "C Bindings DRMAA 1.0 Specification" document, so your entry is very timely. Would you like to engage in such a process?
Sure, I'd be happy to help. I also plan to implement the Java language bindings.
Could you tell us what is the DRM system in question? BTW, few people have asked for a PBS DRMAA implementation in the past.
This is for the United Devices Grid MP product. I also think that a reference stub implementation, that has no dependency on any actual grid system and just runs everything locally, would be useful for prototyping.
Greg Hewgill
On Thu, 18 Nov 2004 21:10:52 +0100, Daniel Templeton <dan.templeton@sun.com> wrote:
We also should talk about what you mean by "implement," i.e. from scratch or only the SPI.
Oh just the SPI. I don't want to go reinventing more wheels than I need to! Greg Hewgill
This will be a very good excuse to write service provider docs for the Java language binding. At the moment, the JavaDocs and the source code are the only sources of information about implementing the SPI. I can see I'm going to (continue to) be busy. :) Daniel Greg Hewgill wrote:
On Thu, 18 Nov 2004 21:10:52 +0100, Daniel Templeton <dan.templeton@sun.com> wrote:
We also should talk about what you mean by "implement," i.e. from scratch or only the SPI.
Oh just the SPI. I don't want to go reinventing more wheels than I need to!
Greg Hewgill
On Thu, 18 Nov 2004, Greg Hewgill wrote:
On Thu, 18 Nov 2004 09:49:38 -0800, Rajic, Hrabri <hrabri.rajic@intel.com> wrote:
Andreas Haas, the SGE lead was looking for an active person to collaborate on the "C Bindings DRMAA 1.0 Specification" document, so your entry is very timely. Would you like to engage in such a process?
Sure, I'd be happy to help. I also plan to implement the Java language bindings.
Welcome Greg! looking forward to work with you on finalizing C DRMAA spec. DRMAA WG got this on the roadmap until GGF13. This means we need to resolve remaining C binding issues ... ASAP. Please use http://forge.gridforum.org/projects/drmaa-wg http://forge.gridforum.org/projects/drmaa-wg/tracker/ to get an overview on these issues ("Doc Change Request"). Through "Category" you can easily filter out C binding issues. Current top issue is #1141. Actually this is merely a problem with formulating, but it's important because real interoperability won't be achieved without that capability. How about "The DRMAA library shall be delivered in a way allowing for run time linking." would this be specific and clear enough? Problem is that concepts common in Unix world such as shared/dynamic linking have no meaning in Windows world.
Could you tell us what is the DRM system in question? BTW, few people have asked for a PBS DRMAA implementation in the past.
This is for the United Devices Grid MP product.
Good!
I also think that a reference stub implementation, that has no dependency on any actual grid system and just runs everything locally, would be useful for prototyping.
Sureley, why not? Cheers, Andreas
On Fri, 19 Nov 2004 14:20:37 +0100 (MET), Andreas Haas <andreas.haas@sun.com> wrote:
"The DRMAA library shall be delivered in a way allowing for run time linking."
would this be specific and clear enough? Problem is that concepts common in Unix world such as shared/dynamic linking have no meaning in Windows world.
Actually the concepts of (1) static linking (.a), (2) shared library linking (.so), and (3) runtime dynamic loading (dlopen()) all exist in the Windows world except they have slightly different names. I think the above quote is general enough that it should be ok. There are de facto standard ways to create easily linkable DLLs in Windows, perhaps it might be useful to describe some of the details. That and a reference implementation and a test suite should do the trick. Greg Hewgill
On Fri, 19 Nov 2004, Greg Hewgill wrote:
On Fri, 19 Nov 2004 14:20:37 +0100 (MET), Andreas Haas <andreas.haas@sun.com> wrote:
"The DRMAA library shall be delivered in a way allowing for run time linking."
would this be specific and clear enough? Problem is that concepts common in Unix world such as shared/dynamic linking have no meaning in Windows world.
Actually the concepts of (1) static linking (.a), (2) shared library linking (.so), and (3) runtime dynamic loading (dlopen()) all exist in the Windows world except they have slightly different names. I think the above quote is general enough that it should be ok.
Good.
There are de facto standard ways to create easily linkable DLLs in Windows, perhaps it might be useful to describe some of the details. That and a reference implementation and a test suite should do the trick.
I agree reference implementation/test suite is best. I believe test suite thing is easier to achieve. E.g. for the run-time linking capability the "example.c" from C language specification document as a binary would suffice. A set of binaries (one for each OS arch) could become the fundament for a full blown test suite kept at www.drmaa.org. Andreas
I agree reference implementation/test suite is best. I believe test suite thing is easier to achieve. E.g. for the run-time linking capability the "example.c" from C language specification document as a binary would suffice. A set of binaries (one for each OS arch) could become the fundament for a full blown test suite kept at www.drmaa.org.
Please notice that we already started a collection of possible test cases, based on the SGE tests source code: http://www-unix.gridforum.org/mail_archive/drmaa-wg/2004/05/msg00019.html Maybe we should consider to manage the list of test suite items in GridForge. Regards, Peter.
participants (5)
-
Andreas Haas -
Daniel Templeton -
Greg Hewgill -
Peter Troeger -
Rajic, Hrabri