On Apr 27, 2010, at 4:45 AM, Steve White wrote:
> Hi!
> 
> Problem:  Running a cluster batch job with Globus, and specifying
> the jobType to be 'multiple', want a convenient way to instruct each
> process of the job to pick a unique input from a list passed as an
> argument in the job description.
> 
> This seems to me to be a very obvious usage scenario.
> 
> I expected each process to get an integer environment variable, maybe
> something like 'GLOBUS_JOB_PROCESS_INDEX', but I see no such thing.
> 
> This is GT 4.0.x.

The job environment is described in 

http://www.globus.org/api/c-globus-4.0.3/globus_gram_job_manager/html/globus_gram_job_manager_job_execution_environment.html


> Is some other way provided to get such an index?
> Or to solve my basic problem of providing different inputs to each 
> process?

If you are using pre-ws GRAM in 4.0.x, you can use the gram_myjob library to 
coordinate tasks within a job for GT4.0.x. It is a pretty minimal API:

#include "globus_gram_myjob.h"

int size, rank;

globus_module_activate(GLOBUS_GRAM_MYJOB_MODULE);
globus_gram_myjob_size(&size);
globus_gram_myjob_rank(&rank);

For WS-GRAM, there's a rendezvous service to do similar things, but is more 
complicated to use.

> I can think of various ways to do this myself, but what a mess.
> 
> For instance I could have each process increment a counter in a 
> file, but this will take some careful programming.
> 
> And it looks like DUROC would be an extreme overkill solution.
> 
> Thanks for your help!

Reply via email to