[drmaa-wg] drmaa_wait() Clarification
Andreas Haas
Andreas.Haas at sun.com
Mon Jan 24 08:03:55 CST 2005
On Mon, 24 Jan 2005, Daniel Templeton wrote:
> How is an implementation supposed to handle the case where two threads
> call drmaa_wait() on the same job id? The choices are:
>
> a) Both get notified when the job ends and both gets copies of the job
> exit and resource usage information
> b) Both get notified when the job ends. One gets the job exit and
> resource information and the other gets a DRMAA_ERRNO_NO_RUSAGE.
> c) Both get notified when the job ends. Which gets a copy of the job
> exit and resource information and which gets a DRMAA_ERRNO_NO_RUSAGE
> depends on which thread runs when.
> d) That's not allowed
>
> b and c are race conditions and there's no error code to represent d, so
> that leaves us with a. This conclusion, however, needs to be clearly
> stated in the spec. I believe the current SGE implementation implements c.
It is not possible to prevent race condition except by not using
drmaa_wait() the way you describe it.
I believe reasonable behaviour would be one gets the job exit and
resource information. The other gets DRMAA_ERRNO_INVALID_JOB very
much as if drmaa_wait() had been issued past the first one has
reaped the job.
Andreas
More information about the drmaa-wg
mailing list