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!
