This is another case where the intent is perfectly clear if you're one of the five authors, but for anyone else it's not so clear. One could infer from the fact that there are explicit synchronization routines that the job submission routines should be non-blocking, but I could also make a pretty good argument in the other direction as well. There is no clear statement in the spec as to the intended behavior of the job submission routines. A new DRMAA implementation could make drmaa_run_job() blocking and drmaa_run_bulk_jobs() non-blocking and still be compliant with the DRMAA specification. I recommend that we add, as Roger said, a single sentence to the spec(s) saying explicitly that the job submission routines must return as soon as the job *submission* is complete. Or maybe we could state it in the negative: the job submission routines must not block waiting for the submitted job(s) to end. Either way, explicit is better than implied. Daniel Rajic, Hrabri wrote:
Changing the semantics of the DRMAA API via native_specification!?!
Quite interesting.
Hrabri
-----Original Message----- From: drmaa-wg-bounces@ogf.org [mailto:drmaa-wg-bounces@ogf.org] On
Behalf
Of Roger Brobst Sent: Thursday, May 17, 2007 10:52 AM To: Daniel Templeton Cc: DRMAA Working Group Subject: Re: [DRMAA-WG] Blocking drmaa_run_job()
If the intent of the DRMAA API was unclear, we should add a sentence.
My suspicion is that intent was clear, but the DRMAA(SGE) user was confused why "-sync y" didn't work.
-Roger
----Original Message---- From: Daniel Templeton <Dan.Templeton@Sun.COM> Sender: drmaa-wg-bounces@ogf.org To: DRMAA Working Group <drmaa-wg@gridforum.org> Subject: [DRMAA-WG] Blocking drmaa_run_job() Date: Wed, 16 May 2007 23:24:12 -0700
All,
I just had a discussion on the SGE mailing list that should probably be a tracker for the IDL spec. A user attempted to use the "-sync y" option in the DRMAA native specification attribute, and was confused as to why it didn't work. -sync tells the SGE qsub command to block until the job finishes. The user wanted to bypass the drmaa_wait() call by doing a blocking drmaa_run_job() call. I looked through the DRMAA spec and the IDL spec, and neither actually declares whether the job submission routines should return before the job completes or not. That's probably an important detail that should be included.
Daniel -- drmaa-wg mailing list drmaa-wg@ogf.org http://www.ogf.org/mailman/listinfo/drmaa-wg
-- drmaa-wg mailing list drmaa-wg@ogf.org http://www.ogf.org/mailman/listinfo/drmaa-wg