[DRMAA-WG] some questions on "DRMAA JOB TEMPLATE ATTRIBUTES"

Daniel Templeton Dan.Templeton at Sun.COM
Tue Jan 2 13:53:09 CST 2007


Peter Troeger wrote:
> Hello,
>
> happy new year !
>
>   
>> The source code piece looked like this,
>>         .......
>>     drmaa_set_attribute (jt, DRMAA_JOB_NAME,
>> "test_submit", error, DRMAA_ERROR_STRING_BUFFER);
>>     drmaa_set_attribute (jt, DRMAA_WD,
>> "/home/group1/test", error,
>> DRMAA_ERROR_STRING_BUFFER);
>>     drmaa_set_attribute (jt, DRMAA_REMOTE_COMMAND,
>> "test_submit.sh", error, DRMAA_ERROR_STRING_BUFFER);
>>     ...........
>>
>> it did not work, and sge6 gave error information,
>> "12/26/2006 19:23:04|qmaster|einstein|W|job 43.1
>> failed on host compute2 general searching requested
>> shell because: 12/26/2006 21:25:38 [501:10278]:
>> execvp(test_submit.sh, "test_submit.sh") failed: No
>> such file or directory"
>>
>> but after I changed the value of
>> "DRMAA_REMOTE_COMMAND"
>>  to absolutely full path ---
>>    drmaa_set_attribute (jt, DRMAA_REMOTE_COMMAND,
>> "/home/group1/test/test_submit.sh", error,
>> DRMAA_ERROR_STRING_BUFFER);
>>     it worked well.
>>     
>
> The DRMAA spec looks a little bit unclear here, but SGE confirms to  
> the traditional Unix thinking. Working directory means the directory  
> "where the job is executed", which is in first place an indication  
> for the location of input and output files. The exec command in Unix  
> searches the PATH directories, which may not include the current  
> directory ("."). Therefore, the exec command cannot locate the binary  
> on your execution host without full path. It is the same reason why  
> you must type "./test_submit.sh" instead of "test_submit.sh" in your  
> shell, even if you are in the right directory. This is for security -  
> ask your local administrator ;-) ...
>
>   

I think this case is the reason for the $drmaa_wd$ placeholder.  If you 
make your executable path "$drmaa_wd$/test_submit.sh", it should work.

Daniel

> The funny thing is that the same program works with Condor, even if  
> "." is not in the PATH. Condor seems to search the working directory  
> automatically, maybe for compatibility reasons between Windows and  
> Unix submission files. DRMAA has no real chance to do something about  
> that, since the library implementation cannot influence the execution  
> host mechanisms.
>
>   
>>    Another question,
>>    While I write a SGE script file for parallel job,
>> the script file looks like this,
>>         ........
>>    /usr/local/mpich-ifort/bin/mpirun -np $NSLOTS
>> /home/group1/test/test_arg 4
>>    SGE6 will give $NSLOTS a suitable value while it
>> submits the job. If I want to do this only through
>> DRMAA API, how to implement it.
>>     
>
> This relates to DRM monitoring issues, and is not covered in DRMAA  
> 1.0 so far. We know that users want more placeholders in job  
> templates, so there is a discussion wiki page about possible new  
> parameters:
>
> http://www.drmaa.org/wiki/index.php/DrmaaJobTemplatePlaceholders
>
> Please feel free to add your demanded job template parameter there.  
> It would be great if you add the SGE-specific implementation of your  
> suggestion, so that we can check if other DRM systems are also able  
> to handle this.
>
> Thanks,
> Peter.
>
> --
>   drmaa-wg mailing list
>   drmaa-wg at ogf.org
>   http://www.ogf.org/mailman/listinfo/drmaa-wg
>   



More information about the drmaa-wg mailing list